【问题标题】:How fields are associtated with terms in inverted index in elasticsearch?字段如何与弹性搜索中倒排索引中的术语相关联?
【发布时间】:2016-03-19 05:26:32
【问题描述】:

据我了解,elasticsearch 使用一种称为倒排索引的结构来提供全文搜索。很明显,倒排索引具有具有该术语的文档的术语和 ID,但文档可以具有任意数量的字段,并且字段名称可以在查询时用于仅在该字段上查找/搜索。在那种情况下,弹性搜索如何将搜索限制/限制到特定字段?我想知道倒排索引是否包含字段名称或字段 ID 以及术语和文档 ID。

当您根据任何字段进行排序时,也会发生类似的事情。因此,可能有一种方法可以将术语与字段名称相关联。请帮助我了解这里所涉及的复杂性。

提前致谢。

【问题讨论】:

    标签: elasticsearch inverted-index


    【解决方案1】:

    我想知道倒排索引是否包含字段名称或字段ID 以及条款和文档 ID。

    引用Lucene Docs

    两个不同字段中的相同字符串被视为不同的术语。因此,术语表示为一对字符串,第一个命名字段,第二个命名字段内的文本。

    在这种情况下,elasticsearch 如何将搜索限制/限制为 特定领域?

    每个段索引维护术语向量:对于each field in each document, the term vector is stored. A term vector consists of term text and term frequency.

    因此,为每个文档中的每个字段维护索引。

    【讨论】:

      【解决方案2】:

      每个索引的每个字段都有一个倒排索引。

      还有一种叫做字段数据缓存(或文档值)的东西,它具有倒置的“倒排索引”。所有文档到字段值的查找都发生在这里。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多