查询字符串在弹性搜索扫描和滚动搜索中不起作用

时间:2015-09-16 21:43:41

标签: elasticsearch

当我尝试时:

curl -XPOST 'http://localhost:9200/index/type/_search?search_type=scan&scroll=2m' -d '{"query": {"match": {"host":"xxxx"}}}'

我得到了scroll_id。然后我发出了:

curl -XPOST 'http://localhost:9200/_search/scroll?scroll=1m&scroll_id=......'

但响应包含属于其他主机的日志。 为什么以及如何解决它?

非常感谢

1 个答案:

答案 0 :(得分:1)

尝试使用术语查询而不是匹配:

{"query": {"term": {"host":"xxxx"}}}

这会查找确切的值,而不是分析xxxx的值,并讨论差异:https://www.elastic.co/guide/en/elasticsearch/guide/current/term-vs-full-text.html

如果这不起作用,也可能是正在分析该字段,并且还需要更新映射。您可以共享索引的映射并键入:http://localhost:9200/index/_mapping/type/?pretty