elasticsearch怎么安装插件?elasticsearch拼音分词插件安装教程
一、插件简介
(资料图片仅供参考)
elasticsearch-analysis-lc-pinyin是一款elasticsearch拼音分词插件,可以支持按照全拼、首字母,中文混合搜索。
首先举个栗子说明下,我们在淘宝搜索框中输入“jianpan” 可以搜索到关键字包含“键盘”的商品。不仅仅输入全拼,有时候我们输入首字母、拼音和首字母、中文和首字母的混合输入,比如:“键pan”、“j盘”、“jianp”、“jpan”、“jianp”、“jp” 等等,都应该匹配到键盘。通过elasticsearch-analysis-lc-pinyin这个插件就能做到类似的搜索
二、安装插件
elasticsearch-analysis-lc-pinyin一共有两个版本分别是1.4.5和2.2.2,和es的版本对应
1.4.5 这个版本对应ES1.X
2.2.2这个版本对应ES2.X
请根据需要安装对应的版本,下面地址中压缩包已经包含了这两个版本
es2.x的安装请参考:http://blog.csdn.net/chennanymy/article/details/52744154
下载地址:http://download.csdn.net/detail/chennanymy/9614699
当然也可以自己下载elasticsearch-analysis-lc-pinyin的源码自己maven build出来,这样可以避免版本冲突
git 地址:http://git.oschina.net/music_code_m/elasticsearch-analysis-lc-pinyin
如下,我已将下载下来的包放在 /home/chennan/soft 目录下,下面我将以elasticsearch1.4.5为例安装elasticsearch-analysis-lc-pinyin-1.4.5拼音分词器
进入到es的plugins目录,下面是未安装时的样子
接着打开终端命令行执行如下命令安装插件
./../bin/plugin --install analysis-lc-pinyin --url file:/home/chennan/soft/elasticsearch-analysis-lc-pinyin-1.4.5.zip
粗线上面结果就表示安装成功了 ^ ^,安装完成后会在plugins目录下生成一个 analysis-lc-pinyin的目录,如下
接下来配置elasticsearch.yml,在末尾加上如下配置,如下因为我也安装了IK分词器所以配置这样,如果你没有安装IK可以将下面ik的部分删除
index: analysis: analyzer: ik: alias: [ik_analyzer] type: org.elasticsearch.index.analysis.IkAnalyzerProvider ik_max_word: type: ik use_smart: false ik_smart: type: ik use_smart: true lc: alias: [lc_analyzer] type: org.elasticsearch.index.analysis.LcPinyinAnalyzerProvider lc_index: type: lc analysisMode: index lc_search: type: lc analysisMode: search
然后启动es,这里我启动两个节点。从启动日志中可以看到es成功加载了拼音插件,如下
到这里,插件就安装完成了。我们可以通过一个简单的curl命令来测试分词器时候正常工作
curl -XGET "192.168.0.107:9200/_analyze?analyzer=lc_search&pretty" -d "dafeiji"
输入“dafeiji”可以切分出来“da”、“fei”、“ji” 证明一切都OK啦
接下来就来试试借助这个拼音分词器来执行搜索,看看效果
1、首先建立一个索引 ,然后执行putmapping , 这里的索引名叫index,type叫fulltext,其中content这个字段采用拼音分词。注意这里用到两个不同的分词器
索引过程采用:lc_index分词器
搜索过程采用:lc_search分词器
curl -XPUT http://localhost:9200/indexcurl -XPOST http://localhost:9200/index/fulltext/_mapping -d"{ "fulltext": { "_all": { "index_analyzer": "lc_index", "search_analyzer": "lc_search", "term_vector": "no", "store": "false" }, "properties": { "content": { "type": "string", "store": "no", "term_vector": "with_positions_offsets", "index_analyzer": "lc_index", "search_analyzer": "lc_search", "include_in_all": "true", "boost": 8 } } }}"
然后索引几条数据,这里索引的4个公司的名称,陆金所、阿里巴巴、腾讯、百度、如下:
接下来执行几个搜索,查询的DSL像这样
{ "query": { "match": { "content": { "query": "bai度", "analyzer": "lc_search", "type": "phrase" } } }, "highlight": { "pre_tags": [ "" ], "post_tags": [ "" ], "fields": { "content": {} } }}
搜索“bai度”
搜索“阿li巴b”
搜索“ljs”
搜索“alibb”
搜索“lujinsuo”
下面使用es 客户端来做查询
@Test public void testPinyinSearch() { final String index = "index"; final String type = "fulltext"; SearchRequestBuilder requestBuilder = elasticIndexOperateHelper.getClient().prepareSearch(index).setTypes(type); QueryBuilder pinyinSearch = QueryBuilders .matchQuery("content", "lu金s") .type(MatchQueryBuilder.Type.PHRASE) .analyzer("lc_search") .zeroTermsQuery(MatchQueryBuilder.ZeroTermsQuery.NONE); SearchResponse response = requestBuilder .setQuery(pinyinSearch) .setHighlighterPreTags("") .setHighlighterPostTags("") .addHighlightedField("content") .execute().actionGet(); System.out.println(response); }
标签:
相关推荐:
最新新闻:
- 求正弦函数的值怎么算?python求正弦函数的值
- 全球最资讯丨神州行幸福卡是什么?神州行幸福卡详情介绍
- 即时看!第一章begining c语言中的变量与对象
- 工业机器人技术全解析 工业机器人的发展背景及应用场景
- 环球最新:如何解决电脑弹窗问题?四种弹窗拦截工具的使用方法
- 每日播报!怎么登入192.168.0.1路由器的管理页面?详细步骤
- hplaserjetp1008打印机驱动安装失败怎么办?解决方法步骤
- 无线路由器怎么设置?TP-LINK无线路由器设置教程_当前观点
- 电脑只有浏览器可以上网其他软件都无法联网怎么办?解决措施
- 华为鸿蒙系统怎么安装第三方软件?安装方法步骤
- 用Python3实现dota改建精灵——python库
- VR技术:打破传统呈现创新性的虚拟三维动画|当前滚动
- mac卡巴斯基激活码怎么用?免费领取教程来了
- 厨卫十大品牌都有哪些?中国厨电行业最具影响力的十大品牌
- mysql设计总结 基于mysql的bbs设计总结|环球快报
- 全球报道:万利达电磁炉怎么样?万利达电磁炉相关介绍
- 热点评!各种常见排序算法实现 常见排序算法汇总
- 三星i458怎么样?报价多少?三星i458市场报价及测评
- 软件更新方法有哪些?软件更新方法远程更新:世界短讯
- 天天速讯:两台未联网的Win7电脑怎么建立局域网游戏?操作步骤
- elasticsearch怎么安装插件?elasticsearch拼音分词插件安装教程
- 简讯:湿帘冷风机原理是什么?湿帘冷风机的作用与工作原理
- 维纳滤波是最优的线性滤波器 矩阵&向量的求导方法
- 科龙空调遥控器怎么用?科龙空调遥控器使用方法
- 从虚拟化安全到容器安全:Docker容器的安全机制与解决方案-世界动态
- 《龙文鞭影》里面写了啥?《二十四史》里的人物典故
- 山煤国际(600546)2月9日主力资金净买入4135.05万元
- 控制寄存器和命令寄存器的英文理解(一)_世界今头条
- hive中Buckets详解 Buckets指定列计算hash
- 天天视点!豆芽是怎么生长的?豆芽的生长过程观察日记
- 年货从不缺席!今年还是会有《使命召唤》游戏|当前热议
- 滚动:无双工作室带来《狂野之心》15分钟试玩演示
- 极限超频 撼讯科技Powercolor7900XTX水冷!|环球实时
- 林克坐上无人机?《塞尔达王国之泪》新预告片发布
- 美股市场反弹,华尔街几近冰冻的IPO开始回暖
- 产品太贵无法拿政府补贴,美电动车商Lucid自掏腰包加入优惠战
- 现货4090游戏本 机械革命旷世X新品24999元:全球热议
- 环球新资讯:梦回童年 任天堂上线GB和GBA游戏
- 快消息!100美元部件导致维珍轨道发射失败
- 恋爱动作《永恒之夜》推迟至初夏发行 新预告展示:播资讯
- “非洲之王”传音首款折叠屏手机官宣 天玑旗舰芯
- 《霍格沃茨之遗》PS5限定手柄公布!明日发售 世界时快讯
- 世界最新:刘亚仁涉毒,顶流影帝一夜面临崩塌
- 任天堂公布《超级马里奥兄弟电影》碧琪公主专属海报-每日焦点
- 《原子之心》详细PC配置公布 推荐2070S、硬盘90G
- 三星最好的平板电脑_三星平板电脑推荐_三星平板推荐 环球报资讯
- Netflix的密码共享打击措施在加拿大、新西兰、葡萄牙和西班牙开始实施 热门看点
- 环球关注:性能炸裂!英特尔酷睿i9-13980HX登顶笔记本跑分榜
- 全国养老保险个人账户查询官网_个人养老保险查询个人账户查询官网 每日资讯
- 环球热门:模特王鲲鹏,王鲲鹏电影,王鲲鹏个人资料
- 大精神在基层(五十八)丨瀍河分局:民警真情救助群众暖人心
- 环球快看:外媒发起任天堂直面会观众投票:《塞尔达传说:王国之泪》不敌《银河战士Prime复刻版》屈居第三
- 漂移竞速游戏《Drift CE》公布 今春登陆主机
- 迪士尼裁员7000人 可降低55亿美元成本
- 我,黄山谷,出门一笑大江横,这人间来过了 世界资讯
- 如今爆火的AIGC,会成为下一个泡沫破灭的NFT嘛?
- 国外玩家猜测PS5新机型是否涨价:标准版价格与数字版一致 光驱单卖100美元-环球快资讯
- 玩家猜测:《塞尔达传说:王国之泪》新载具系统是受各种玩家在《旷野之息》骚操作的启发
- 【聚看点】“零成本”月入数10万,盗版ChatGPT成提款机
- Lattice Avant:拓展FPGA市场的广阔空间
- 环球报道:苹果或推Apple Watch X系列,屏幕再变大
- 航世有线红轴键盘跌至77元:搭载国产红轴 87键设计
- 【环球时快讯】续航虚标乱象或终结,爱玛联合中标院推出测试新标准,龙头业绩有望持续兑现
- 任天堂直面会前推特出现特大技术问题 引发玩家众怒
- 小摩减持新秀丽约43.71万股 每股作价约23.19港元 快消息
- 散户也能吊打机构?:全球速看
- 尼康发布财报:影像业务亮点不断 营业利润同比增长超200%
- 大疆Mini 2 SE今天发布:不到249克续航31分钟 预售2388元
- iPhone出货量同比跌14%!但营收创新高
- 直降1100元!酷睿i5-12490F+RTX3050游戏主机史低价4499元
- 【环球播资讯】办公、游戏首选:联合创新27英寸4K显示器低至1399元
- 长江七号片尾曲叫什么名字-天天时讯
- 热讯:SE公开克劳德女装晚礼服手办 双马尾少女感十足
- 外网论坛2022最佳游戏原声投票:《异度之刃3》夺冠 全球速读
- 东京国际动画节公布年度动画大奖 海贼王间谍过家家获奖:环球播资讯