- 文档(document):索引和搜索时使用的主要数据载体,包含一个或多个存有数据的字段。
- 字段(field):文档的一部分,包含名称和值两部分。
- 词(term):一个搜索单元,表示文本中的一个词。
- 标记(token):表示在字段文本中出现的词,由这个词的文本、开始和结束偏移量以及类
型组成。
倒排索引
- 不同于关系型数据库中表的处理方式,倒排索引建立索引中词和文档之间的映射。你可以把倒排索引看成这样
一种数据结构,其中的数据是面向词而不是面向文档的。
分词器
- 分析的工作由分析器完成,它由一个分词器(tokenizer)和零个或多个标记过滤器(token filter)
组成,也可以有零个或多个字符映射器(character mapper)。
- Lucene中的分词器把文本分割成多个标记,基本就是词加上一些额外信息,比如该词在原始
文本中的位置和长度。分词器的处理结果称为标记流(token stream),它是一个接一个的标记,
准备被过滤器处理。
- 小写过滤器(lowercase filter):把所有的标记变成小写。
- 同义词过滤器(synonyms filter):基于基本的同义词规则,把一个标记换成另一个同义的
标记。
- 多语言词干提取过滤器(multiple language stemming filter):减少标记(实际上是标记中
的文本部分),得到词根或者基本形式,即词干。
索引和查询
索引应该和查询词匹配。如果它们不匹配,Lucene 不会返回所需文档。比如,你在建立索引时使用了词干提取和小写,
那你应该保证查询中的词也 必须是词干和小写,否则你的查询不会返回任何结果。重要的是在索引和查询分析时,对所用标
记过滤器保持相同的顺序,这样被分析出来的词是一样的。
