【问题标题】:Elasticsearch search on number field数字字段上的 Elasticsearch 搜索
【发布时间】:2018-08-28 02:19:36
【问题描述】:

我是弹性搜索的新手。如果这个问题听起来很基本,请道歉。我无法直接从文档中得到答案。

有没有办法根据数字与输入过滤器的接近程度对数字字段进行搜索,返回的文档分数排名。 我的意思是,

  • 如果索引中有 10 个文档,假设是书籍对象
  • 如果我搜索12美元的书价,它们的价格是1到10
  • 我想得到 上面 10 美元的书,然后是 9 美元,依此类推……

弹性搜索可以吗?

【问题讨论】:

  • 假设我们有 1 到 10 的价格并且您搜索 5$;您期望的顺序是什么?
  • 5$ 在顶部,4$ 或 6$ 在接下来的两个位置,3$ 和 7$ 在接下来的两个位置,2$ 和 8$ 在接下来的两个位置,1$ 和 9$ , 10 美元在底部。基本上,按输入和我们拥有的值之间的差异(diff 的绝对值)排序。

标签: elasticsearch search


【解决方案1】:

我建议您根据弹性响应对文档进行排序,如果您必须在 elasticsearch 中进行排序,您可以查看 stript_score 函数:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-script-score

【讨论】:

    猜你喜欢
    • 2021-03-10
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 2018-10-12
    • 2018-12-22
    • 1970-01-01
    • 2021-07-08
    相关资源
    最近更新 更多