【问题标题】:Don't understand value in elasticsearch explain result不了解弹性搜索中的价值解释结果
【发布时间】:2014-10-28 21:11:18
【问题描述】:

我正在了解在 elasticsearch 中寻求解释的结果。我了解其中的大部分内容,但是有一个值我找不到相关信息。下面是一个简单匹配查询的解释部分,我已经完成了一个字段中的一个术语。结果如下:

_explanation:
  value: 4.715253
  description: "weight(name:love in 604) [PerFieldSimilarity], result of:"
  details:
  - value: 4.715253
    description: "fieldWeight in 604, product of:"
    details:
    - value: 1.0
      description: "tf(freq=1.0), with freq of:"
      details:
      - value: 1.0
        description: "termFreq=1.0"
    - value: 4.715253
      description: "idf(docFreq=57, maxDocs=2382)"
    - value: 1.0
      description: "fieldNorm(doc=604)"

我正在寻找数字604的含义,有人有想法吗?

【问题讨论】:

    标签: elasticsearch lucene scoring


    【解决方案1】:

    604 是文档 ID。

    这是您将传递给IndexSearcher.doc 的 ID 号,以便从索引中获取文档存储字段,通常是在第一次搜索某些其他条件之后(不能保证文档 ID 保持不变)。

    【讨论】:

    • 在 org.apache.lucene.search.Weight 的 javadoc 中,我找到了 doc 的描述:文档的 id 相对于给定上下文的阅读器。但是这和elasticsearch的_id有关系吗?我猜不是因为它们完全不同。
    • 对,它们不是一回事。 Lucene 的 docid 用于使用搜索结果列表从索引中获取文档。它们并不打算充当持久键。就 ElasticSearch 而言,您无需担心它们。 ElasticSearch _id 是它分配给文档(或允许您分配)的唯一、持久标识符的一部分。
    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多