ElasticSearch学习笔记三

目录

ES底层索引原理 

IK分词器

IK中自定义配置扩展词和停用词


ES底层索引原理 

IK分词器

1. 定义:就是将一本文本中关键词拆分出来

我是小明的同学    分词器    小明    同学

分词原理: 拆分关键字  去掉停用词    和    停用词

2. ES中提供分词器

    1. 默认 标准分词器   standard analyzer 英文:单词分词  中文:单字分词

    2.简单    simple analyzer                       英文:单词分词  去掉数字   中文:不分词

3. 测试不同的分词器


GET /_analyzer
{
	"analyzer":"simple",
	"text":"redis 非常好用 111"
}
  • standard  分词结果为 : redis 非 常 好 用 111
  • simple      分词结果为: redis 非常好用

4.github 基于ES分词器IK分词器

注意:使用IK分词器和ES版本必须严格一致

5. ik_max_word和ik_smart什么区别?

  • ik_max_word:会将文本做最细粒度的拆分,比如会将"我是小明的同学"拆分为"我是小明的同学", "我是","我是小明","小明的同学","同学",会穷尽各种可能的组合我是小明的同学
  • ik_smart:会做最粗粒度的拆分,比如会将"我是小明的同学",拆分为"我是小明的同学”
PUT /emp
{
	"mappings":{
		"emp":{
			"properties":{
				"name":{
					"type":"text",
					"analyzer":"ik_max_word"
				},
				"age":{
					"type":"integer"
				},
				"bir":{
					"type":"date"
				},
				"content":{
					"type":"text",
					"analyzer":"ik_max_word"
				},
				"address":{
					"type":"keyword"
				}
			}
		}
	}
}

IK中自定义配置扩展词和停用词

1. 扩展词

定义:现有ik分词器无法将这个词切分成一个关键词,但是又希望某个词成为关键词

        ik 分词器       等都可以被拆分成关键词,比如一些热门流行的网络词 

        配置IK的配置文件: ES安装目录下/plugins/ik/config 目录中名字 :IKAnalyzer.cfg.xml

       修改配置文件加入如下配置:

                <!--用户可以在这里配置自己的扩展字典>

                <entry key="ext_dict">ext.dic</entry>

2. 停用词

定义:现有ik分词器将一个关键词切分成一个词,但是出于某种原因这个词不能作为关键词出现

<entry key="ext_stopwords">stopext.dic</entry>

3.配置远程扩展词典

 

ES中Query

1. Query String ! Query DSL查询

    关键词查询  -----> 计算得分   排序    等一系列

2. Filter Quey 过滤查询   效率比较高

     筛选出符合条件的数据 --------> 不会计算文档  得分   排序, 常用Filter 自动常用fiter结果

     必须使用bool表达式将两种query组合在一起

     注意:当filterQuery 和query组合使用时先执行fiterQuery中语句  然后再去执行query中语句

过滤适合在大范围筛选数据,而查询则适合精确匹配数据。一般应用时,应先使用过滤数据,然后使用查询匹配数据。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值