了解ES之前,我们确实需要了解一下Lucence的架构细节,Lucence总体包括:
- 文档(document): 索引与搜索的主要数据载体,它包含一个或者多个字段,存放将要写入索引的或者将从索引中检索出来的出数据。
- 字段(field): 文档的一个片段,它包含字段的名称和字段的内容两个部分。
- 词项(term):搜索时的一个单位,代表了文本中的一个词。
- 词条(token):词项在字段文本中的一次出现,包括词项的文本、开始和结束的偏移以及侧条类型。
Apache Lucene 将写入索引的所有信息组织为倒排索引(inverted index)的结构形式;
什么才是倒排索引,是一种将词项映射到文档的数据结构,与传统关系数据库的工作方式不同,可以认为倒排索引是面向词项,而不是面向文档。
简单记为:
正排索引:文档 ---> 单词
倒排索引:单词 ---> 文档
索引之后结果是每个词项及指向该词项所出现的文档数,这就更加方便了检索,根据词查文章有哪些,
持续更新......