【问题标题】:Get Score for Single Entry ElasticSearch获取单项 ElasticSearch 的分数
【发布时间】:2015-04-30 04:53:00
【问题描述】:

所以,我有一个由 3 个元素组成的基本弹性搜索索引

  • 身份证
  • 网址
  • 内容(文本内容)

我知道如何针对 elasticsearch 编写查询来对文档进行排名,但是如果我想知道 1 个特定 URL 在该查询中的作用怎么办。例如,假设 ID 为 2394823 的 http://www.google.com 在索引中,我想知道查询“搜索引擎”的得分

这在 ElasticSearch 中可行吗?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    进行过滤查询,查看内容中的“搜索引擎”,但过滤 url 值:

    POST myindex/_search
    {
        "filtered": {
            "query": {
                "match": { "content": "search engine" }
             },
             "filter": {
                 "term": { "url": { "http://www.google.com" }}
             }
         }
    }
    

    唯一的结果应该是与google对应的an元素。从响应 JSON 中提取分数,您就完成了。

    【讨论】:

    • 应该注意的是,分数是根据搜索上下文进行归一化的——例如正在排名的其他文档。如果您只搜索单个文档,则分数将与位于“常规”搜索许多文档中间的同一文档有很大不同。由于这个原因,单一文档分数在很大程度上是无用的。
    猜你喜欢
    • 2018-11-08
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    相关资源
    最近更新 更多