Searchkick:我希望结果先显示完全匹配,然后再列出其他排序?
Searchkick: I would like the results to display the exact match first before listing out the others with sorting?
我希望结果在列出其他结果之前首先显示完全匹配,并且数据应该按 a-z 或 z-a 排序 (asc/desc)?
1. Maxwell B
2. Maxwell A
3. D Maxwell
4. C Maxwell
搜索文字:麦克斯韦
如果我搜索文本并按 asc
申请订单,则结果为:
C Maxwell
D Maxwell
Maxwell A
Maxwell B
但是我搜索了 Maxwell
所以首先应该显示 Maxwell
(匹配结果)然后它应该列出其他的,
我想要的是:
Maxwell A
Maxwell B
C Maxwell
D Maxwell
在您给出的示例中,在搜索 'Maxwell' 时,'C Maxwell' 和 'Maxwell A' 具有相同的相似性 - 其中 none 是完全匹配,但是两者都完全包含搜索到的令牌 (Maxwell)。
我也不认为排序有帮助,因为排序是在文本上完成的,并且仍然没有对其中任何一个比另一个更偏爱的偏好,因为它们都包含 'Maxwell' 和其他文本部分。
您 运行 到底想问什么?
更改结果顺序的一种方法是修改结果的分数。您可以在 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html 中查找示例,您可以在其中指定 function_score 与 'Maxwell' 的匹配项,这可能会有所帮助。
我希望结果在列出其他结果之前首先显示完全匹配,并且数据应该按 a-z 或 z-a 排序 (asc/desc)?
1. Maxwell B
2. Maxwell A
3. D Maxwell
4. C Maxwell
搜索文字:麦克斯韦
如果我搜索文本并按 asc
申请订单,则结果为:
C Maxwell
D Maxwell
Maxwell A
Maxwell B
但是我搜索了 Maxwell
所以首先应该显示 Maxwell
(匹配结果)然后它应该列出其他的,
我想要的是:
Maxwell A
Maxwell B
C Maxwell
D Maxwell
在您给出的示例中,在搜索 'Maxwell' 时,'C Maxwell' 和 'Maxwell A' 具有相同的相似性 - 其中 none 是完全匹配,但是两者都完全包含搜索到的令牌 (Maxwell)。
我也不认为排序有帮助,因为排序是在文本上完成的,并且仍然没有对其中任何一个比另一个更偏爱的偏好,因为它们都包含 'Maxwell' 和其他文本部分。
您 运行 到底想问什么? 更改结果顺序的一种方法是修改结果的分数。您可以在 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html 中查找示例,您可以在其中指定 function_score 与 'Maxwell' 的匹配项,这可能会有所帮助。