范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

elasticsearch实现基于拼音搜索

  1、背景
  一般情况下,有些搜索需求是需要根据 拼音 和中文 来搜索的,那么在elasticsearch 中是如何来实现基于拼音 来搜索的呢?可以通过elasticsearch-analysis-pinyin 分析器来实现。 2、安装拼音分词器# 进入 es 的插件目录 cd /usr/local/es/elasticsearch-8.4.3/plugins # 下载 wget https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v8.4.3/elasticsearch-analysis-pinyin-8.4.3.zip # 新建目录 mkdir analysis-pinyin # 解压 mv elasticsearch-analysis-pinyin-8.4.3.zip analysis-pinyin && cd analysis-pinyin && unzip elasticsearch-analysis-pinyin-8.4.3.zip && rm -rvf elasticsearch-analysis-pinyin-8.4.3.zip cd ../ && chown -R es:es analysis-pinyin # 启动es /usr/local/es/elasticsearch-8.4.3/bin/elasticsearch -d3、拼音分词器提供的功能
  拼音分词器提供如下功能
  拼音分词器提供的功能
  每个选项的含义 可以通过 文档中的例子来看懂。 4、简单测试一下拼音分词器4.1 dslGET _analyze {   "text": ["我是中国人"],   "analyzer": "pinyin" }
  "analyzer": "pinyin"  此处的pinyin 是拼音分词器自带的。 4.2 运行结果
  运行结果
  从图片上,实现了拼音分词,但是这个不一定满足我们的需求,比如没有中文了,单个的拼音(比如:wo)是没有什么用的,需要对拼音分词器进行定制化。 5、es中分词器的组成
  在 elasticsearch 中分词器analyzer 由如下三个部分组成: 1.  character filters:  用于在tokenizer 之前对文本进行处理。比如: 删除字符,替换字符等。2.  tokenizer:  将文本按照一定的规则分成独立的token。即实现分词功能。3.  tokenizer filter:  将tokenizer 输出的词条做进一步的处理。比如:  同义词处理,大小写转换、移除停用词,拼音处理等。
  处理流程
  6、自定义一个分词器实现拼音和中文的搜索
  需求:  自定义一个分词器,即可以实现拼音搜索,也可以实现中文搜索。 1、创建mappingPUT /test_pinyin {   "settings": {     // 分析阶段的设置     "analysis": {       // 分析器设置       "analyzer": {         // 自定义分析器,在tokenizer阶段使用ik_max_word,在filter上使用py         "custom_analyzer": {           "tokenizer": "ik_max_word",           "filter": "custom_pinyin"         }       },       // 由于不满足pinyin分词器的默认设置,所以我们基于pinyin       // 自定义了一个filter,叫py,其中修改了一些设置       // 这些设置可以在pinyin分词器官网找到       "filter": {         "custom_pinyin": {           "type": "pinyin",           // 不会这样分:刘德华 > [liu, de, hua]           "keep_full_pinyin": false,           // 这样分:刘德华 > [liudehua]           "keep_joined_full_pinyin": true,           // 保留原始token(即中文)           "keep_original": true,           // 设置first_letter结果的最大长度,默认值:16           "limit_first_letter_length": 16,           // 当启用此选项时,将删除重复项以保存索引,例如:de的> de,默认值:false,注意:位置相关查询可能受影响           "remove_duplicated_term": true,           // 如果非汉语字母是拼音,则将其拆分为单独的拼音术语,默认值:true,如:liudehuaalibaba13zhuanghan- > liu,de,hua,a,li,ba,ba,13,zhuang,han,注意:keep_none_chinese和keep_none_chinese_together应首先启用           "none_chinese_pinyin_tokenize": false         }       }     }   },   // 定义mapping   "mappings": {     "properties": {       "name": {         "type": "text",         // 创建倒排索引时使用的分词器         "analyzer": "custom_analyzer",         // 搜索时使用的分词器,搜索时不使用custom_analyzer是为了防止 词语的拼音一样,但是中文含义不一样,导致搜索错误。 比如: 科技 和 客机,拼音一样,但是含义不一样         "search_analyzer": "ik_smart"       }     }   } }
  注意:
  可以看到 我们的 name 字段 使用的分词器是 custom_analyzer ,这个是我们在上一步定义的。但是搜索的时候使用的是 ik_smart ,这个为甚么会这样呢?
  假设我们存在如下2个文本 科技强国 和 这是一架客机 , 那么科技 和客机 的拼音是不是就是一样的。 这个时候如果搜索时使用的分词器也是custom_analyzer 那么,搜索科技 的时候客机 也会搜索出来,这样是不对的。因此在搜索的时候中文就以中文搜,拼音就以拼音搜。 {   "name": {     "type": "text",     "analyzer": "custom_analyzer",     "search_analyzer": "ik_smart"   } }
  当  analyzer 和search_analyzer 的值都是custom_analyzer ,搜索时也会通过拼音搜索,这样的结果可能就不是我们想要的。 2、插入数据PUT /test_pinyin/_bulk {"index":{"_id":1}} {"name": "科技强国"} {"index":{"_id":2}} {"name": "这是一架客机"} {"index":{"_id":3}}3、搜索数据
  搜索数据 7、参考文档
  1、https://github.com/medcl/elasticsearch-analysis-pinyin/tree/master

2022年,走精品路线的小熊电器,再次抓住年轻人!刚过去的2022年,过山车式发展的小家电行业逐步回归常态化增长模式。一个显著的变化,高品质多功能属性场景细分的小家电更受市场追捧,更受年轻人喜爱。作为创意小家电鼻祖,小熊电器准确地赴韩中国女孩首发声理解挂黄牌军警很友善同胞网暴却让我害怕这是一名刚刚入境韩国的中国女孩在社交账号上分享的图片在仁川机场,自己戴着黄色标识牌正在韩国军警的护送下,前往核酸检测点。但是在社交账号上,这名中国女孩却表达了与国内网友不一样的看法扬州事件后续,知情人透露真实的戴璐她不爱李某镖是有原因的最近,扬州戴副局长事件在网上闹得沸沸扬扬的,如今热度还是居高不下。一开始,很多吃瓜群众也都是拍手叫好的,如今看到小戴受到了惩罚,好像又觉得对她有些残忍了。任何一个人,都是有两面性的俄军T90M坦克手我们等待艾布拉姆斯和布雷德利的到来近日一名俄军T90M主战坦克成员在社交媒体上喊话表示,勇敢的坦克已经做好准备迎接并摧毁西方装备,他表示我们等待艾布拉姆斯和布雷德利的到来,并做好准备摧毁他们!随着西方国家提供的新一韩女星尹恩惠沉迷宗教视频曝光,韩网友陌生又可怕!因为主演韩剧咖啡王子一号店从而被广大网友喜爱的韩国女星尹恩惠被曝光沉迷宗教!1月16日深夜,有韩国网友在某网络论坛发布了好像热衷宗教生活的尹恩惠的帖子,并曝光了尹恩惠在舞台上主导进两宋时期,为什么东南地区始终是钱荒问题最严重的地区?内藏库的扣留铜币两宋时期,为什么东南地区始终是钱荒问题最严重的地区?首先,在回答这个问题前,我们需要知道,以内藏库为代表的内库制度是以内字命名的,这意味着这些库房是为皇室而设,内藏为什么说灰色强奸比强奸更可怕,对于灰色强奸你了解多少?灰色强奸相信你肯定不理解吧,灰色强奸的可怕程度要远远大于强奸。灰色强奸也称为软强奸,道德十分恶劣和低下,是一种类似于潜规则的行为,这种做法主要针对女性朋友,给她们带来的精神伤害远大新一届全国政协委员名单公布中国人民政治协商会议第十四届全国委员会委员名单(共2172人,2023年1月17日政协第十三届全国委员会常务委员会第二十五次会议通过)中国共产党(99人)乙晓光王宁(军队)王军王荣聚焦2023上海两会,这些职工权益话题值得关注劳权观点从被听见到被落实到见成效上海两会刚刚闭幕,关于职工权益类的话题热议还余温不断深化人才发展体制机制改革关心关爱低收入职工群体建立民主管理制度推动个人养老金制度群众的关注在哪里灞桥区惠王中心小学2023年寒假实践活动(三)阳光讯(记者梁永飞通讯员王柳)虎越雄关,兔临春境,鼎故辞旧,万象更新。这更激励大家要用双手创造财富,用劳动酿造幸福。在农历兔年即将到来之际,西安市灞桥区惠王中心小学开展我是吃苦耐劳行业聚焦2022年度南京乡村民宿发展报告龙虎网讯(记者洪丽高围蔡敏贺琦)如今,城市近郊游微度假备受青睐,多元化的乡村民宿契合了人们回归乡野的渴求,成为近郊游的重要载体。在乡村振兴的大背景下,南京市职工疗休养政策,为乡村民
说百病喜怒无常是一病,忘义取利是一病好色坏德是一病,专心系爱是一病憎欲令死是一病,纵贪蔽过是一病毁人自誉是一病,善变自可是一病轻口喜言是一病,快意逐非是一病以智轻人是一病,乘权纵横是一病初恋情怀初恋情怀自那一日,结你于哗哗的小河边,目见了柳儿拂水后,我的颤颤抖动的心呀,便随着隐隐闪闪的涟漪儿荡漾。说过的,谁先有了梦,便来这里相聚,悄悄的,说给柳听,说给水听,说给水中的鱼儿江浙沪6个治愈系旅行地小众而不缺格调,累了就一个人出发头条创作挑战赛我见过你的秋色,淋过你的夏雨,下一次一定会乘着微风,赴一场日落的约会。10月是秋天的开始,十一假期还没有过,秋天的寒意就按捺不住脚步,提前到了人间。多想再来一次说走就中外科学家借助大数据揭示地球大气氧化过程中新社武汉10月9日电(马芙蓉陈国雄)记者9日从中国地质大学(武汉)获悉,该校联合美国加州大学河滨分校加拿大地调局等机构科研人员,利用深时地学大数据和机器学习技术,重建了高精度的地中国最美的4大佛光,令人大饱眼福,你见过吗?什么是佛光?人们常说佛光普照,这是一种信仰,一种美好的愿景,那么,现实中,有没有佛光呢?还真有,不过,是大自然的一种现象,通过光线衍射作用,产生的一种特殊的自然现象,一般都出现在高中外科学家借助大数据揭示地球大气氧化过程中新社武汉10月9日电(马芙蓉陈国雄)记者9日从中国地质大学(武汉)获悉,该校联合美国加州大学河滨分校加拿大地调局等机构科研人员,利用深时地学大数据和机器学习技术,重建了高精度的地公价7万以下哪款熊猫盘是你的最爱?腕表之家腕表推荐在计时码表的领域内,有一个非常经典的设计,表友们通常称之为熊猫盘。因其白色的表盘上配备了黑色小表盘(或者相反的配色)的样式酷似国宝大熊猫因此得名,通过这种强烈的视觉玫琳凯美容顾问当一技之长可以不仅仅用来赚钱女性想要变美丽,许多人第一时间想到的就是玫琳凯美容顾问。相比于人们同样熟知的柜台销售员,玫琳凯美容顾问有着独特的分享美丽的方式美丽课。换季时节,各大商场的化妆品柜台开始上新,新品搭凯特王妃又穿黄色靓衫出公务!升任王储妃后每回上班都笑脸灿烂最近凯特出席了她升任王储妃后的第二个单独公务。价值220英镑明黄色的KarenMillen裙子穿在身上,凯特笑得很灿烂。这是凯特第一次选择KarenMillen家的设计,不过细细一南非国石价值多高南非国石价值多高。舒俱来在很多人眼中都很陌生,它是南非的国石。和翡翠在中国的地位一样高。高贵的紫色,呈现玻璃到蜡状的光泽。神秘又冷艳。那么舒俱来都有哪些种类呢?1樱花舒俱来,比紫色新手也能get到的大唐流行妆本文所有人物故事均有史料支持,行文仅以喜闻乐见的形式讲述历史,不恶搞,非虚构各位唐朝观众朋友们大家好,我是你们练习时长两年半的美妆博主甲老师。最近听很多长安的粉丝反映说甲老师分享的