我在正确表达ElasticSearch regexp过滤器的regexp时遇到了问题。我正在尝试匹配url字段中“info-for/media”中的任何内容,例如http://mydomain.co.uk/info-for/media/press-release-1。为了尝试获得正确的正则表达式,我现在使用match_all
,但最终将是带有用户查询字符串的match_phress
。
发布到localhost:9200/_search
{
"query" : {
"match_all" : { },
"filtered" : {
"filter" : {
"regexp": {
"url":".*info-for/media.*"
}
}
}
},
}
这返回0次命中,但解析正确。.*info.*
确实会得到包含url的结果,但遗憾的是,它的范围太广,例如,匹配任何包含“information”的url。当我将“info-for”中的连字符添加回来时,我再次得到0个结果。无论尝试哪种转义字符组合,要么得到解析异常,要么没有匹配。有人能解释一下我做错了什么吗?
其次,您的url可能是以使索引中的“info-for”和“media”分开的方式标记的。因此,字典中没有info-for/media
-术语可供regexp匹配。
您可能想要做的是分别索引路径和域,使用path_hierarchy-tokenizer生成术语。
下面是一个示例,演示了令牌是如何生成的:https://www.found.no/play/gist/ecf511d4102a806F350b#analysis
即。/foo/bar/baz
生成令牌/foo/bar/baz,/foo/bar,/foo
并且域foo.example.com
被标记为foo.example.com,example.com,com
在下面的/foo/bar
中搜索任何内容可以是一个匹配path:/foo/bar
的简单术语筛选器。这是一个性能更好的过滤器,也可以缓存。
问题内容: 我在为ElasticSearch Regexp Filter正确表达正则表达式时遇到问题。我正在尝试匹配url字段中“ info-for / media”中的任何内容,例如http://mydomain.co.uk/info-for/media/press- release-1 。为了尝试正确使用我现在使用的正则表达式,但这最终将与用户的查询字符串一起使用。 POST到localhos
我们正在使用Nutch抓取一些站点,向Elasticsearch推送索引,并通过调用Elasticsearch API使用自定义UI进行搜索。 http://www.somesite.com/contact/ http://www.somesite.com/privacy/ 当我运行DSL查询时,它似乎是将它分解成几个片段(我指的是http、www、somesite、com)并将它们组合在一起,这
我想在其中一列上使用正则表达式干净地过滤数据帧。 举一个人为的例子: 我想使用正则表达式过滤以开头的行。第一次去: 那不是太有用。然而,这将得到我的布尔索引: 所以我可以这样做我的限制: 这让我人为地把一组人加入正则表达式,似乎这不是一个干净的方法。有更好的方法吗?
我使用这个正则表达式: 要匹配这样的字符串: 分为4组: 问:我如何使第一个组可选,使结果组是一个空字符串? 我想在每种情况下得到4组,如果可能的话。 这种情况下的输入字符串:(第一组后面没有下划线)
问题内容: 我正在寻找有关通过jQuery选择器使用通配符或正则表达式(不确定确切术语)的文档。 我自己寻找了此信息,但无法找到有关语法以及如何使用它的信息。有谁知道语法的文档在哪里? 编辑:属性过滤器使您可以基于属性值的模式进行选择。 问题答案: James Padolsey创建了一个很棒的过滤器,允许使用正则表达式进行选择。 说您有以下内容: Padolsey的过滤器可以像这样选择它: 另外,
本文向大家介绍PowerShell中使用正则表达式筛选数组实例,包括了PowerShell中使用正则表达式筛选数组实例的使用技巧和注意事项,需要的朋友参考一下 本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容。 先看下面这个例子: 我们知道ipconfig是显示当前计算机的TCP/IP配置信息的,其中有一项是IP地址。如果有多个网卡,或者一个网站上配置有多