根据我的理解,elasticsearch使用一种称为倒排索引的结构来提供全文搜索。很明显,反向索引具有包含该术语的文档的术语和ID,但是文档可以具有任意数量的字段,并且字段名称可以在查询时间中用于仅查看/搜索该字段。在这种情况下,elasticsearch如何限制/限制搜索仅限于特定字段?我想知道倒排索引是否包含字段名称或字段ID以及术语和文档ID。
当您根据任何字段排序时,会发生类似的事情。因此,可以有一种方法将术语与字段名称相关联。请帮助我理解这里涉及的错综复杂的内容。
提前致谢。
答案 0 :(得分:3)
每个索引每个字段都有一个倒排索引。
还有一种称为字段数据缓存(或doc值)的东西,它具有反转的#倒置索引"。所有doc to field value lookup都在这里发生。
答案 1 :(得分:2)
我想知道倒排索引是否包含字段名称或字段ID 以及术语和文档ID。
两个不同字段中的相同字符串被视为不同的字词。因此,术语表示为一对字符串,第一个命名字段,第二个命名文本在字段中。
在这种情况下,elasticsearch如何将搜索限制/限制为仅限于 特殊领域?
每个段索引都维护术语向量:对于each field in each document, the term vector is stored. A term vector consists of term text and term frequency.
因此,为每个文档中的每个字段维护索引。