特点:成熟、高性能、可扩展、轻量级。多语言处理、拼写检查、高亮显示等功能。
结构
文档:存放将要写入索引或将从索引搜索出来的数据
字段:文档的一个片段,它包括两个部分:字段的名称和内容
词项:搜索时的一个单位,代表文本中的某个词
词条:词项在字段中的一次出现,包括词项的文本、开始和结束的位移以及类型
倒排索引
将词项映射到文档的数据结构
对于查询的字符串必须与词条(token)进行相同的标准化处理,才能保证搜索的正确性。分词和标准化的过程称为分析:
1、将一块文本分成适用于倒排索引的独立的词条----分词
2、将这些词条统一化为标准格式以提高它们的可搜索性----标准化
分析工作是由分析器(analyzer)完成:
·字符过滤器
字符串按顺序通过每个字符过滤器,用来去掉HTML,或者将&转化为and。
·分词器
字符串被分词器分为单个的词条。
·Token过滤器
词条按顺序通过每个token过滤器。这个过程可能会改变词条(eg,小写化),删除词条(eg,a,and,the等无用词),或者增加词条(eg,像jump和leap这种同义词)。