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

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

8月汽车保值率出炉豪华品牌全面滑坡,保时捷现三连跌,特斯拉及雷克萨斯跌幅最大近日,中国汽车流通协会携手精真估联合发布的2022年8月中国汽车保值率研究报告新鲜出炉,报告对多家进口合资以及自主品牌8月保值率进行了分析与排名。保值率在一定程度上反映了市场对车辆首次公开底部二波双阳抓板技术先来聊两个方向,也是今天重挫的地方。第一个是新能源汽车,最近一直在调整,今天更是大幅下跌,尤其是以动力电池代表的宁德时代亿纬锂能国轩高科等。宁德时代更是短短半月多跌去了30。这也是2022年科学探索奖获奖名单揭晓,物理所研究员上榜2022年9月15日,第四届科学探索奖名单公布,50位青年科学家榜上有名。中科院物理研究所翁红明研究员,因其在数学物理学领域的杰出贡献,上榜第四届科学探索奖。翁红明简介主要研究方向盘点玩表人常见的3大偏见偏见,作为一种认知偏差,其实是一种进化形成的适应性机制,放在玩表人的身上也同样适用。从刚开始的懵懂敬畏,到后来的一知半解而产生的优越感,以下3大偏见最常出现在玩表人身上,自测一下中建国后最大的悬案科学家彭加木在罗布泊失踪40年,他究竟去哪了罗布泊地处塔里木盆地东部,它因形状很像人的耳朵,故而得名地球之耳。这里自古至今都是一个神秘地带,有传它非常危险,是死亡之地,由此吸引了世界上很多探险家前仆后继地前往探秘。历史上曾有我国科学家创新DNA存储法让千年敦煌壁画活千万年中国青年报客户端讯(中青报中青网记者胡春艳通讯员赵晖)记者近日从天津大学获悉,该校合成生物学团队创新DNA存储算法,将十幅精选敦煌壁画存入DNA中,通过加速老化实验验证壁画信息在实我国科学家取得嫦娥五号着陆区火山活动历史研究新进展我国嫦娥五号月球探测器于2020年12月着陆于月球正面风暴洋克里普地体的东北部地区,随后对着陆点附近的月表物质进行了采样并成功月壤样品带回地球。风暴洋克里普地体的东北部地区之所以被美日科学家创造出比绝对零度高十亿分之一的低温!并非已有最低头条创作挑战赛温度是宇宙间物质与能量的一种表征,体现为粒子运动的激烈程度,也是我们衡量物体冷热状态的指标。我们都知道有个绝对零度的物理概念,这个温度为零下273。15,如今科学家已思维决定人生思维决定人生作者曾军良人与人之间最大的差距,不是情商,不是智商,而是良好的思维方式。真正限制我们人生的,绝不是经济上的拮据,而是认知上的困顿,思维上的肤浅与懒惰。当你觉得选择的路很科学家警告现有模型并不完全具备处理韦伯数据的能力据CNET报道,在过去的几个月里,非常清楚的是,美国宇航局的詹姆斯韦伯太空望远镜(JWST)完全按照它的计划行事。正如它的创造者所希望的那样,这台价值数十亿美元的机器正在完美地逐渐我国科学家创新DNA存储法让千年敦煌壁画活千万年中国青年报客户端讯(中青报中青网记者胡春艳通讯员赵晖)记者近日从天津大学获悉,该校合成生物学团队创新DNA存储算法,将十幅精选敦煌壁画存入DNA中,通过加速老化实验验证壁画信息在实
阳顶天和张三丰相比,谁厉害?欢迎阅读梦露居士读金庸第65期阳顶天与张三丰实力对比,点击关注阅读系列文章。在上一期,居士我分析了张三丰的寿数,他至少活到一百三十余岁,端的是厉害无比。而倚天屠龙记中的明教前任教主王者荣耀孙尚香怎么出装,后期才能一炮一个人头?大家好,欢迎关注钻石冲锋者,游戏我的热爱!在王者荣耀中,大小姐孙尚香作为人气射手拥有无数信仰型玩家粉丝。同时,冲锋者本人也是一名大小姐控,把她作为日常上分的英雄。那么,孙尚香到底要同样20万,是愿意买性价比高的国产车,还是性能稳定的合资车?谢邀20万级别合资车性能稳定?扯淡中端车选择国产汽车还是合资汽车,首先要撇开性能或配置不谈,因为这两方面里合资车已经输得很彻底了最重要的其实是质量,下面就来了解一些20万级别销量较为什么腾讯突然减持京东的股票?腾讯为何大幅减持京东?12月23日,腾讯控股发布公告称,腾讯宣布以中期派息方式,将所持有约4。6亿股京东股权发放给股东。本次派息后,腾讯对京东持股比例将由17降至2。3,不再为第一脑血管破裂时,身体会发出哪些求救信号?脑血管破裂的时候,身体会发生以下的变化,就如同发出了一些求救信号,比如说头痛头晕,恶心呕吐,肢体麻木无力,言语功能障碍癫痫发作,甚至是嗜睡昏睡乃至于昏迷的情况。其实很多时候人体它是得了慢性胃炎,该怎么调理?生吃花生能抑制胃酸分泌临床营养科营养师朱楠表示,花生米中含大量的蛋白质和脂肪,适量的蛋白质能够帮助中和胃酸,而适量的脂肪则能够刺激小肠粘膜分泌肠抑胃液素,从而抑制胃酸分泌。此外,花你有哪些传奇的炒股经历?不做死就不会死,炒权证一天亏掉一年的工资,买ST股,本金全部打了水漂,直接归零。1。权证权证实行T0交易,有认购认沽两种,一推出就受到小散们热捧。尤其在大盘行情疲软的时候,认沽权证学车的时候,既然教练都教了,为什么还去网上找视频学习?最好不要去网上找,会干扰,一心听教练的,可以和身边的人探讨下没有对比就没有伤害,或者可以说是采各家之所长吧。记得最早学习科目二的时候,离合器踩完之后,最先学习的是倒车入库。现在就说为什么iPhone的可玩性不及安卓但用户忠诚度比其他品牌高?感谢您的阅读!iPhone13要发布了。我发现一个非常有意思的内容。iPhone手机的可玩性不是那么高,但是它的用户忠诚度却比其他的安卓品牌要高。这到底是为什么?实际上,iPhon全新英菲尼迪QX60正式预售,毛力民能否借势扭转败局?全新英菲尼迪QX60正式预售,毛力民能否借势扭转败局。我的答案是绝不可能,只会更凉,新一代的QX60细刨下来,产品力太差劲了,这是整个日产系的问题,毛力民再牛也无力回天。的确,市场东北大酱怎么做?东北的大酱蘸蔬菜吃特别好吃下面我分享一下我做东北大酱的方法选料选择黄豆,将腐败的黄豆和发芽的黄豆发瘪的黄豆挑出炒制黄豆挑好以后不用清洗,直接炒,因为清洗以后晾干水分很浪费时间,所以