一份不错的资料
ELASTIC 搜索开发实战

一、安装插件

拼音分词扩展elasticsearch-analysis-pinyin安装

文档: https://github.com/medcl/elasticsearch-analysis-pinyin

二、新建索引添加拼音支持

<index> 替换为 实际 index
<type> 替换为 实际 type

PUT <index>
{"settings" : {"analysis" : {"analyzer" : {"pinyin_analyzer" : {"tokenizer" : "my_pinyin"}},"tokenizer" : {"my_pinyin" : {"type" : "pinyin","keep_first_letter":false,"keep_separate_first_letter" : false,"keep_full_pinyin" : true,"keep_original" : false,"limit_first_letter_length" : 16,"lowercase" : true}}}},"mappings": {"<type>": {"properties": {"name": {"type": "text","index": true,"fields":{"pinyin":{"type":"text","analyzer":"pinyin_analyzer"}}},"link": {"type": "keyword","index": false},"id": {"type": "long"},"update_time": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}}}
}

分词测试

GET <index>/_analyze
{"field": "name.pinyin","text": "内蒙古"
}返回
{"tokens": [{"token": "nei","start_offset": 0,"end_offset": 1,"type": "word","position": 0},{"token": "meng","start_offset": 1,"end_offset": 2,"type": "word","position": 1},{"token": "gu","start_offset": 2,"end_offset": 3,"type": "word","position": 2}]
}

二、已有索引添加拼音支持

1、新建索引

PUT <index>
{"mappings": {"<type>": {"properties": {"name": {"type": "keyword","index": true},"link": {"type": "keyword","index": false},"id": {"type": "long"},"update_time": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}}}
}

2、设置拼音分词器

POST  <index>/_closePUT <index>/_settings
{"index": {"analysis": {"analyzer": {"pinyin_analyzer": {"tokenizer": "my_pinyin"}},"tokenizer": {"my_pinyin": {"type": "pinyin","keep_first_letter": true,"keep_separate_first_letter": true,"keep_full_pinyin": true,"keep_original": false,"limit_first_letter_length": 16,"lowercase": true}}}}
}POST  <index>/_open

3、修改mapping,添加拼音分词器

PUT <index>/<type>/_mapping
{"<type>": {"properties": {"name": {"type": "keyword","index": true,"fields":{"pinyin":{"type":"text","analyzer":"pinyin_analyzer"}}},"link": {"type": "keyword","index": false},"id": {"type": "long"},"update_time": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}}
}GET <index>/_mapping# 将当前索引的数据重新替换一下当前索引
POST <index>/_update_by_query?conflicts=proceed

4、搜索测试


get <index>/_search
{"query_string": {"fields": ["name","name.pinyin"],"query": "王苏川","default_operator": "AND"}
}

参考
Elastic 搜索开发实战 拼音处理

Elasticsearch添加拼音搜索支持相关推荐

  1. Elasticsearch之拼音搜索(十五)

    拼音搜索在中文搜索环境中是经常使用的一种功能,用户只需要输入关键词的拼音全拼或者拼音首字母,搜索引擎就可以搜索出相关结果.在国内,中文输入法基本上都是基于汉语拼音的,这种在符合用户输入习惯的条件下缩短 ...

  2. select2.js实现拼音搜索支持

    拼音搜索的原理: 将下拉框选项中的中文转换成汉语拼音(或拼音首字母),然后与输入的字母进行比较,如果包含则被检索出来. 引用插件: 1. pinyin.js文件用于将汉字转化为拼音的JavaScrip ...

  3. layui风格穿梭组件 带拼音搜索 添加多选

    基于前辈的组件修改,layui风格,已修改成layui第三封控件规范 在原基础上添加多选: 添加拼音搜索: [原文]整合 layui 穿梭框组件 [引用]拼音搜索用到的JS,用法简单! 链接失效的话, ...

  4. 混合索引java代码,Elasticsearch 实现拼音,中文,首字母混合搜索

    在实际搜索需求中,常常需要对中文做拼音搜索,首字母搜索或者中文拼音首字母混合搜索. 比如要对 "广发聚财信用" 这几个中文进行拼音搜索,我们可能的搜索关键字是:"广发&q ...

  5. 【Solr】 solr对拼音搜索和拼音首字母搜索的支持

    问:对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢? 实现方式有2种,但是他们其实是对应的.  用lucene实现 1.建索引, 多建一个索引字段 ...

  6. elasticsearch实现基于拼音搜索

    1.背景 一般情况下,有些搜索需求是需要根据拼音和中文来搜索的,那么在elasticsearch中是如何来实现基于拼音来搜索的呢?可以通过elasticsearch-analysis-pinyin分析 ...

  7. 自制Unity文件查找器,支持拼音搜索

    前言 一个大型项目,配置表上千个是很正常的,这个时候想要搜索某个配置表,是有点蛋疼的事情. 自己写个配置查找器吧,效果如下: 优点: 搜索速度快: 支持拼音搜索: 支持快速打开: 缺点: 拼音只能挨个 ...

  8. android 拼音搜索联系人分析与实现(支持多音字,支持T9搜索,支持Qwerty搜索)

    最近的项目开发过程中涉及到了联系人T9键盘搜索和Qwerty键盘搜索,也分别写了相关的博客: <android T9 搜索联系人分析与实现(支持多音字)> <android Qwer ...

  9. select2.js插件新增支持拼音搜索

    话不多说直奔主题 1.拼音搜索的原理: 将下拉框选项中的中文转换成汉语拼音,然后与输入的字母进行比较,如果包含则被检索出来. 2.效果: 3.在select2.js中找到matcher 方法,对此方法 ...

  10. Simple: 一个支持中文和拼音搜索的 sqlite fts5插件

    之前的工作关系,需要在手机上支持中文和拼音搜索.由于手机上存储数据一般都是用 sqlite,所以是基于 sqlite3 fts5 来实现.这段时间再次入门 c++,所以想用 c++ 实现一下,一来用于 ...

最新文章

  1. open的O_DIRECT选项
  2. MyBatis SQL语句操作Mysql
  3. C#之 VS2008 之 Extension Methods
  4. 使用python写一个名片管理系统
  5. L2-006 树的遍历-团体程序设计天梯赛GPLT
  6. 苹果电脑删除软件_易我Mac数据恢复软件,解决苹果电脑T2芯片数据恢复难题!
  7. 用python实现星期的转换_在Python中将秒转换为周-天-小时-分钟-秒
  8. 调车遇到的问题及解决办法
  9. 不能从const char *转换为LPCWSTR --VS经常碰到
  10. 看了这张图你还会想着用MonoDroid来开发Android应用吗?
  11. 【Windows】安装NVIDIA驱动 / 更新驱动
  12. 征服 Apache + SSL
  13. 百度GOALS比赛总结
  14. 【Redis】Redis数据库
  15. 【力扣(LeetCode)】【C/C++】【19.删除链表的倒数第 N 个结点】
  16. 河南朱砂服务器位置,河南省开封市通许县朱砂镇
  17. 已知两点求直线一般方程,已知三点求平面一般方程
  18. Android手机 显示光标,AndroidStudio怎么显示光标悬浮提示?
  19. 发票管理软件开发中遇到的一些实际问题并解决方案
  20. 赋能智慧物流,思迈特软件Smartbi引领行业效率变革

热门文章

  1. 如何给页面加能够临时会话的QQ
  2. 【Echarts】地图 中国城市经纬度Json
  3. 数据库索引失效与判断是否命中索引
  4. 遥感原理与应用(一)什么是遥感?
  5. MacBook常用快捷键有哪些?
  6. 想提高计算机ppt能力,实习了才发现,学好PPT有多重要!
  7. iOS 9 真机调试
  8. 融云发送图片消息_融云 SDK 消息结构详解
  9. 大数据时代下,数据感知在数据质量管理系统中的应用
  10. composer如何进行安装和使用