当我们谈论倒排索引时,我们总是谈论索引非结构化文本文档。但是ElasticSearch中的文档是JSON格式的,它们是“键”-“值”对。所以我想知道JSON文档的倒排索引是什么样子的。换句话说,当我们像"select * from table where name = john“这样进行搜索时,ES做了什么?
发布于 2018-04-18 17:46:30
inverted index基本上存储了术语和它们所在的文档/字段之间的关系。现在,这些术语可以来自非结构化文本,但不仅仅是这样。JSON文档还包含文本,ES对其进行分析和索引。
基本上,从30000英尺的角度来看,它的工作方式是ES解析它接收的JSON文档,迭代所有字段,并分析/标记所有这些字段的值。然后,从该分析过程中产生的标记被索引到倒排索引中。
长话短说,它不必是索引到倒排索引中的非结构化文本,也可以是JSON文档等,这些文档也包含结构化的、非结构化的文本,但也包含数字、日期等。
https://stackoverflow.com/questions/49895746
复制相似问题