Elasticsearch允许您提升您正在搜索的字段,但是是否可以"提升"查询本身中特定单词的重要性?
例如,我想搜索"明尼苏达州的医疗保健",我希望"明尼苏达州"比"医疗保健"更重要(因为我不想要其他州的医疗保健信息).
我发现最接近的是使用某种类型的custom_score查询,它允许你改变得分,也许我可以使用它来提升实际包含更重要的单词的任何东西.不确定这是否可行.
理想情况下,我可以通过编程方式执行此操作,其中包含对应用程序而言被认为"最重要"的单词列表,这些单词可以在传入查询中找到并"提升".
可能有多种方法可以实现这种方法,其中一种方法是使用query_string,您可以在其中为每个词提供提升
下面的示例显示了一个查询,其中明尼苏达州的匹配被提升了两倍:
{
"query" : {
"query_string" : {
"fields" : ["content", "name"],
"query" : "Minnesota^2 health"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |