es倒排索引以及分词

单词词典(Term Dictionary)是倒排索引的重要组成记录所有文档的单词,一般都比较大
记录单词到倒排排列表的关联信息

倒排列表(Posting List)记录了单词对应的文档集合,由倒排索项( Posting )组成倒排索项( Posting)主要包含如下信息:
文档Id,用于获取原始信息
单词频率(TF Term Frequency),记录该单词在该文档中的出现次数,用于后续相关性算分
位置(Position),记录单词在文档中的分词位置(多个),用于做词语搜索( Phrase Query )
偏移(Offset),记录单词在文档的开始和结束位置,用于做高亮显示

es倒排索引以及分词_第1张图片

es倒排索引以及分词_第2张图片

分词器:

分词器是es中专门处理分词的组件,英文为Analyzer,它的组成如下
Character Filters
针对原始文本进行处理,比如去除 html特殊标记符

Tokenizer
将原始文本按照一定规则切分为单词
Token Filters
针对 tokenizer 处理的单词就行再加工,比如转小写、删除或新增等处理

es倒排索引以及分词_第3张图片

es 自带如下的分词器Standard、Simple、Whitespace、Stop、Keyword、Pattern、Language

Tokenizer
将原始文本按照一定规则切分为单词( term or token )
自带的如下
standard 按照单词进行分割
 letter 按照非字符类进行分割
whitespace 按照空格进行分割
UAX URL Email 按照 standard 分割,但不会分割邮箱和 url-

NGram 和 Edge NGram 连词分割
Path Hierarchy按照文件路径进行切割

Token Filters
对于 tokenizer 输出的单词( term )进行增加删除、修改等操作
自带的如下
- lowercase 将所有 term 转换为小写
- stop 删除 stop words
- NGram 和Edge NGram 连词分割
- Synonym添加近义词的term

es倒排索引以及分词_第4张图片

分词会在如下两个时机使用
创建或更新文档时(Index Time),会对相应的文档进行分词处理查询时(Search Time),会对查询语句进行分词

es倒排索引以及分词_第5张图片

你可能感兴趣的:(ELK,elasticsearch,大数据,搜索引擎)