【es学习笔记】对语言进行处理
来源:互联网 发布:super java怎么理解 编辑:程序博客网 时间:2024/06/02 19:42
es内置了多种语言分词器,这些分词器大都扮演4个基本角色。
tokenize-->lowercase-->remove stopwords-->stem
使用英文分词器,可以使用到具体的域中,但是有时一个域中仅适用一个语言分词器并不能满足要求。
例如,I'm not happy about the foxes 使用english分词器的结果是:i'm happi about fox
问题是,使用英文分词器,此内容即匹配fox,同时匹配foxes;not在english分词器中是stopword,被remove,因此即使匹配也无法判断是否存在not,从这个例子可以看出使用english分词器提高了recall,但是precise却差多了。
可以这么解决,对于,例如是title域。1/title/I'm happy for this fox; 2/title/I'm not happy about my fox problem,加入,我如此索引
title:{type:string, "fields":{"english":{"type":"string","analyzer":"english"}}}
在查询时,使用most_field方式查询,那么query = "not happy foxes"
这样,english分词器提高了recall,同时辅助standard分词器,提高precise!
参考:Using Language Analyzers
PS:不算真正的原创吧,因为参考es的官方文档,但是又不是完全的直接翻译,还有自己的理解
0 0
- 【es学习笔记】对语言进行处理
- 初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)
- swift语言的学习笔记四-2(对上一节有些遗留进行处理)
- 初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)
- swift语言的学习笔记四-2(对上一节有些遗留进行处理)
- Androidx学习笔记(74)--- 对图片进行特效处理
- C语言编程,对字符串进行处理
- 学习笔记总结:Android中OpenGL ES的着色语言
- opencv学习笔记,调用摄像头并且对视频进行canny处理
- OpenGL ES学习笔记
- ES学习笔记一
- ES maping 学习笔记
- ES-API学习笔记
- ES学习笔记
- ES学习笔记基础
- Android学习笔记---对应用进行单元测试
- c语言中对字符串进行处理的函数
- 利用R语言对Titanic数据test.csv进行处理
- leetcode:232 Implement Queue using Stacks-每日编程第十六题
- Thinkphp3.1--uploadify上传插件的使用
- 两个apk之间传递数据
- MD5
- RecyclerView粘性头部控件 - sticky-headers-recyclerview
- 【es学习笔记】对语言进行处理
- object-c开发规范
- 用Docker重新定义Java虚拟化部署(基础篇)
- datafactory连接mysql
- matlab遗传算法工具箱函数及实例讲解(转引)
- AngularJS入门总结
- textFild被键盘遮挡解决方法
- 测试工具----splinter自动打开百度并搜索内容
- HDU 1176 非倒序 动态规划写法 望指教