当我尝试时:
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=......'
但响应包含属于其他主机的日志。 为什么以及如何解决它?
非常感谢
答案 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?