0
如何使用ElasticSearch创建基于关键字的搜索,其中应在结果集的顶部显示精确的词组匹配,然后是包含该短语的任何词的其他匹配。完全匹配查询文本短语应显示在顶部,后面跟着其他单词匹配
对于搜索查询的一个例子是敏捷的棕色狐狸和结果集将是这样的:敏捷的棕色狐狸,快速狐狸,棕色狐狸等
应该是什么办法使我们得到欲望结果集。
如何使用ElasticSearch创建基于关键字的搜索,其中应在结果集的顶部显示精确的词组匹配,然后是包含该短语的任何词的其他匹配。完全匹配查询文本短语应显示在顶部,后面跟着其他单词匹配
对于搜索查询的一个例子是敏捷的棕色狐狸和结果集将是这样的:敏捷的棕色狐狸,快速狐狸,棕色狐狸等
应该是什么办法使我们得到欲望结果集。
尝试用 'QUERY_STRING': -
原始数据: -
1) quick brown fox
2) quick fox
3) brown fox
QUERY: -
{
"query": {
"query_string": {
"fields" : ["fieldName"] ,
"query": "*quick* *brown* *fox*"
}
}
}
响应将是: -
1)quick brown fox
2)brown fox
3)quick fox
我觉得QUERY_STRING做合适的工作。我们有三个令牌(快速,棕色,狐狸)。 Query_string比“快狐”更喜欢“棕色狐狸”,因为它会优先考虑组合标记而不是分隔标记。