• 文档(document):索引和搜索时使用的主要数据载体,包含一个或多个存有数据的字段。
  • 字段(field):文档的一部分,包含名称和值两部分。
  • 词(term):一个搜索单元,表示文本中的一个词。
  • 标记(token):表示在字段文本中出现的词,由这个词的文本、开始和结束偏移量以及类

型组成。

倒排索引

  • 不同于关系型数据库中表的处理方式,倒排索引建立索引中词和文档之间的映射。你可以把倒排索引看成这样

一种数据结构,其中的数据是面向词而不是面向文档的。

分词器

  • 分析的工作由分析器完成,它由一个分词器(tokenizer)和零个或多个标记过滤器(token filter)

组成,也可以有零个或多个字符映射器(character mapper)。

  • Lucene中的分词器把文本分割成多个标记,基本就是词加上一些额外信息,比如该词在原始

文本中的位置和长度。分词器的处理结果称为标记流(token stream),它是一个接一个的标记,
准备被过滤器处理。

  • 小写过滤器(lowercase filter):把所有的标记变成小写。
  • 同义词过滤器(synonyms filter):基于基本的同义词规则,把一个标记换成另一个同义的

标记。

  • 多语言词干提取过滤器(multiple language stemming filter):减少标记(实际上是标记中

的文本部分),得到词根或者基本形式,即词干。

索引和查询

索引应该和查询词匹配。如果它们不匹配,Lucene 不会返回所需文档。比如,你在建立索引时使用了词干提取和小写,
那你应该保证查询中的词也 必须是词干和小写,否则你的查询不会返回任何结果。重要的是在索引和查询分析时,对所用标
记过滤器保持相同的顺序,这样被分析出来的词是一样的。