java - Elastic Search 基于搜索字符串排序

标签 java elasticsearch resthighlevelclient

根据用户在用户界面上搜索的文本,我在搜索条件中添加了更多搜索词。所有这些工作正常,但是我无法获得正确的排序结果。

我的期望是按以下顺序排序结果:

  1. 顶部的结果应基于用户实际输入的搜索词。
  2. 后面是我在代码中添加的其他搜索词的结果。

最佳答案

这样的排序是不可能的。根据official documentation ,

The sort is defined on a per field level ...

因此您无法按搜索词对结果进行排序。

如果是查询字符串查询,您可以 boost terms实际由用户输入,因此具有此类术语的文档将更具相关性,并且默认情况下在搜索结果中显示得比其他文档更高。但这绝对不是排序。

关于java - Elastic Search 基于搜索字符串排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59917885/

相关文章:

java - 使用 stanford nlp 进行实体情感分析

java - 非唯一列上的 HIbernate onetoMany 映射

elasticsearch - 从合并返回脚本的度量聚合的脚本

security - 使用基本凭证提供者配置Elasticsearch Rest高级客户端

java - 如何使用 JAVA 高级 REST 客户端创建 Elasticsearch 索引?

java - 如何创建一个在给定范围内随机打乱数字的 int 数组

java - GetWindowTextA,GetWindowText 在编辑控件上返回空值

elasticsearch - URL编码Elasticsearch的cURL参数

elasticsearch - 语言分析器不适用于跨度查询 Elasticsearch ?

java - 尝试模拟 Elastic Search 的 RestHighLevelClient 时出现 NullPointerException 问题