我有一个使用以下结构在ElasticSearch上编制索引的文档列表
{
"product_id": "xx",
"product_desc":"some product desc"
}
当我使用term执行搜索时,如下所示,我得到了正确的结果:
GET my_index/my_doctype/_search
{"query":
{
"match":{"product_id": "138156"}
}
}
但是,当我使用术语执行相同的搜索时,我得到了错误的结果
GET my_index/my_doctype/_search
{
"query": {
"terms": {
"product_id": ["138156"]
}
}
}
对于某些产品而非所有产品都会发生这种情况。有任何想法如何解决这个问题?
答案 0 :(得分:1)
要使术语查询在字符串字段上正常工作,必须对该字段进行非分析。例如,请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html