【发布时间】:2017-07-05 17:48:45
【问题描述】:
您好,弹性搜索中的任何查询都将首先显示完全匹配(单词或句子)结果,然后显示部分匹配结果。请帮我解决这个问题?
【问题讨论】:
标签: elasticsearch
您好,弹性搜索中的任何查询都将首先显示完全匹配(单词或句子)结果,然后显示部分匹配结果。请帮我解决这个问题?
【问题讨论】:
标签: elasticsearch
【讨论】:
您可以按如下方式使用匹配查询。 假设你正在寻找一个单词“tim”
GET /index/type/_search
{
"query": {
"bool": {
"should": [{"match": {"field_name": "tim"}}
]
}
}
}
这将首先自动返回最佳结果,对于部分匹配,您可以阅读模糊查询: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html
【讨论】:
should 子句中并使用匹配,如果您的索引为设置为not_analyzed。如果要匹配整个短语,请在子句中使用 match_phrase。您可以根据需要使用must 或should。您可以通过查看以下内容来决定:elastic.co/guide/en/elasticsearch/reference/current/…