我们如何在弹性搜索中进行多个字段搜索。
例如,我想搜索子类别和区域,对于一个字段,它正在为多个字段搜索工作。我们必须这样做。
以下链接工作正常,因为我只使用一个字段进行搜索
http://34c512ba34534fffdfd12abfd69f2458.us-east-1.aws.found.io:9200/episodes/episode/_search?q=sub_cat_seo_url:english-news&sort=pubdate_timestamp:desc
但是当我尝试搜索多个字段时,例如sub_cat_seo_url和区域,它无法正常工作
看到这个链接(不工作)
http://34c512ba34534fffdfd12abfd69f2458.us-east-1.aws.found.io:9200/episodes/episode/_search?q=sub_cat_seo_url:english-news,region:1&sort=pubdate_timestamp:desc
http://34c512ba34534fffdfd12abfd69f2458.us-east-1.aws.found.io:9200/episodes/episode/_search?q=sub_cat_seo_url:english-news®ion:1&sort=pubdate_timestamp:desc
答案 0 :(得分:0)
根据文档,它应该工作
请参阅http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query.html
话虽如此,您还可以使用以下内容:
注意:
现有的映射使您的字段" sub_cat_seo_url"分析使用standard analyzer
进行分析。因此,当您搜索"英语新闻"它被标记为" english"," news"这导致任何匹配english or news
的文档都是有效匹配。例如。 "泰卢固语新闻"是您查询的有效匹配项。不确定它是否是故意的。
在地图中,您需要将其标记为" not_analyzed"完全匹配。
注意:%2b被解码为' +'而' +'被解码为' '