(也叫反向索引)
原理分析:https://zhuanlan.zhihu.com/p/33671444
- 根据属性的值来查找记录
- 倒排索引文件
- 映射
- FST(Finite State Transducer)有穷状态转换器
写入直接PUT一个JSON的对象,这个对象有多个字段,在插入这些数据到索引的同时,Elasticsearch还为这些字段建立索引
全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。
FST有两个优点:
1)空间占用小。通过对词典中单词前缀和后缀的重复利用,压缩了存储空间;
2)查询速度快。O(len(str))的查询时间复杂度。
索引构建
1)将文档分析成单词term标记,
2)使用hash去重单词term
3)对单词生成倒排列表
(形成倒排索引)
分词:将或者段落进行切割(也叫切词),从中提取出包含固定语义得词。
ElasticSearch
a. Standard 默认分词器,按词切分,小写处理,中文按字处理了
b. Simple 按非字母切,小写处理,中文不处理
c. Stop 按词切分,小写处理,过滤:the a is 符号
d. Whitespace 按空格切,不小写处理
e. Keyword 不分词
f. Patter 正则表达 默认w,非字符处理
g. Language 提供多种常见语言的分词处理
中文开源分词器:IK、MM、庖丁、imdict等
IK分词器
基于Java开发的轻量级中文分词工具,开源
ik_smart : 粗力度
Ik_max_word : 细粒度
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)