elasticsearch拼音搜索

阿里路亚的技术博客 阿里路亚的技术博客     2022-08-27     312

关键词:

现在很多公司都开始使用es来做搜索,我们公司目前也有好几个业务部门在用,我主要做商户搜索,为业务部门提供基础支持。上周把呼叫中心的搜索重新整理了下,在新增几个字段后,全量同步发现通过拼音首字母搜索无法搜索出来了,最后发现是词库地址变更,导致分词出现了问题。

我整理了下es的搜索分词插件和流程,如下:

1. 下载安装分词插件 https://github.com/medcl/elasticsearch-analysis-ik 

修改 IKAnalyzer.cfg.xml 配置加载自己的远程扩展词库,我的词库由于一次机房迁移导致地址失效了,但是一直都没有发现是因为大部分商户数据并没有更新,分词索引必须要在数据更新时才会被重建!

 

2. 下载安装拼音插件 https://github.com/medcl/elasticsearch-analysis-pinyin

 

创建索引

curl -XPUT http://127.0.0.1:9200/demo/ -d‘{
"settings" : {
      "index" : {
          "analysis": {
             "analyzer": {
                 "ik_smart_pinyin": {
                     "tokenizer": "ik_smart",
                     "filter": [
                         "my_pinyin",
                         "lowercase",
                         "word_delimiter"
                     ]
                 },
                 "ik_max_word_pinyin": {
                     "tokenizer": "ik_max_word",
                     "filter": [
                         "my_pinyin",
                         "lowercase",
                         "word_delimiter"
                     ]
                 }
             },
             "tokenizer": {
                 "ik_smart": {
                     "type": "ik_smart",
                     "use_smart": "true"
                 },
                 "ik_max_word": {
                     "type": "ik_max_word",
                     "use_smart": "false"
                 }
             },
             "filter": {
                 "my_pinyin": {
                     "type": "pinyin",
                     "first_letter": "all"
                 }
             }
         }
      }
}}

 

curl -XPUT http://127.0.0.1:9200/_analyze?analyzer=ik_smart_pinyin&text=望湘园

{
    "tokens": [
        {
            "token": "wang",
            "start_offset": 0,
            "end_offset": 3,
            "type": "CN_WORD",
            "position": 0
        },
        {
            "token": "xiang",
            "start_offset": 0,
            "end_offset": 3,
            "type": "CN_WORD",
            "position": 1
        },
        {
            "token": "yuan",
            "start_offset": 0,
            "end_offset": 3,
            "type": "CN_WORD",
            "position": 2
        },
        {
            "token": "wxy",
            "start_offset": 0,
            "end_offset": 3,
            "type": "CN_WORD",
            "position": 3
        }
    ]
}

 

"token": "wxy" 就是首字母

elasticsearch-高级搜索(拼音|首字母|简繁|二级搜索)(代码片段)

...0c;再进行搜索)一、ES相关插件IK分词:GitHub-medcl/elasticsearch-analysis-ik:TheIKAnalysispluginintegratesLuceneIKan 查看详情

elasticsearch搜索引擎安装配置拼音插件pinyin(代码片段)

...pinyin插件安装1、首先前往GitHub下载安装包(注意版本与ElasticSearch对应,若无对应版本,解压后修改pom.xml文件中的elasticsearch.version,建议查看修改一下版本号),上传至/home/目录,并解压至当前目录,如下图所示: 1vim/home/el... 查看详情

elasticsearch高级搜索排序(中文+拼音+首字母+简繁转换+特殊符号过滤)

一、先摆需求:1、中文搜索、英文搜索、中英混搜 如:“南京东路”,“cafe南京东路店”2、全拼搜索、首字母搜索、中文+全拼、中文+首字母混搜 如:“nanjingdonglu”,“njdl”,“南京donglu”,“南京dl”,“nang南东... 查看详情

elasticsearch分布式搜索引擎--elasticsearch-analysis-pinyin拼音分词器的安装和介绍(代码片段)

...补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。7.12.1版本(因为我的es是7.12.1版本)1.1.1在线安装安装步骤:#进入容器内部dockerexec-ites/bin/bash#在线下载并安装./bin/elasticsearch-plugininst... 查看详情

elasticsearch:pinyin分词器(代码片段)

...对于我们中国人来说,拼音搜索也是非常直接的。那么在Elasticsearch中我们该如何使用pinyin来进行搜索呢?答案是我们采用Medcl所创建的elasticsearch-analysis-pinyin分析器。下面我们简单介绍一下如何进行安装和测试。下载Pinyin分析器... 查看详情

elasticsearch2.3.x拼音分词analysis-lc-pinyin

    我选择了elasticsearch-analysis-lc-pinyin作为拼音分词插件,它是一款elasticsearch拼音分词插件,可以支持按照全拼、首字母,中文混合搜索。     elasticsearch-analysis-lc-pinyin一共有两个版本分别是1.4.5... 查看详情

elasticsearch拼音+ik分词,springdataelasticsearch拼音分词

elasticsearch自定义分词器安装拼音分词器、ik分词器  拼音分词器: https://github.com/medcl/elasticsearch-analysis-pinyin/releases  ik分词器:https://github.com/medcl/elasticsearch-analysis-ik/releases  下载源码需要使用maven打包  下载构建好 查看详情

elasticsearch拼音分词和ik分词的安装及使用(代码片段)

...八九使用的都是IK分词器。下载地址:https://github.com/medcl/elasticsearch-analysis-ik2.pinyin分词器的下载安装可以在淘宝、京东的搜索框中输入pinyin就能查找到自己想要的结 查看详情

分布式搜索引擎elasticsearch(代码片段)

目录1、ElasticSearch简介2、ELK简介 3、为什么要使用ES?4、ES能干什么?5、环境准备(软件安装)5.1安装ES—Windows5.2 ElasticSearch-Head插件安装5.3  ElasticSearch的可视化工具Kibana安装5.4 IK分词器插件5.5拼音分词器插件 ... 查看详情

elasticsearch安装拼音插件(pinyin)

环境介绍集群环境如下:Ubuntu14.04ElasticSearch2.3.1(3节点)JDK1.8.0_60开发环境:Windows10JDK1.8.0_66Maven3.3.3IntellijIDEA2016.1下载编译Pinyincloneelasticsearch-analysis-pinyin通过IntelliJ从git上克隆elasticsearch-analysis-pinyin工 查看详情

elasticsearch自定义分词器(代码片段)

...检索,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址:https://github.com/medcl/elasticsearch-analysis-pinyin 把yinpin分词器拷贝到es的/plugins目录里面 重启es的容器:dock 查看详情

如何在elasticsearch中安装中文分词器(ik)和拼音分词器?

  声明:我使用的Elasticsearch的版本是5.4.0,安装分词器前请先安装maven一:安装mavenhttps://github.com/apache/maven说明:安装maven需要java1.7+编译安装分词器时,可能会报错,报错信息如下:[ERROR]COMPILATIONERROR:[INFO]---------------------------... 查看详情

ElasticSearch - 搜索人名

】ElasticSearch-搜索人名【英文标题】:ElasticSearch-SearchingForHumanNames【发布时间】:2014-01-0502:10:22【问题描述】:我有一个庞大的姓名数据库,主要来自苏格兰。我们目前正在制作一个原型来替换执行搜索的现有软件。这仍在生产... 查看详情

elasticsearch教程elasticsearch查询语法elasticsearch权威指南深入理解elasticsearch

课程大纲第1节结构化搜索_IT技术论坛案例背景介绍9分钟第2节结构化搜索_在案例中实战使用termfilter来搜索数据20分钟第3节结构化搜索_filter执行原理深度剖析(bitset机制与caching机制)18分钟第4节结构化搜索_在案例中实战基于bool组... 查看详情

分布式搜索引擎elasticsearch---elasticsearch进阶使用深入理解搜索技术集群架构原理(代码片段)

ElasticSearchElasticSearchterm查询match查询Elasticsearch架构原理Master节点DataNode节点分片(Shard)副本指定分片、副本数量Elasticsearch重要工作流程Elasticsearch文档写入原理Elasticsearch检索原理Elasticsearch准实时索引实现手工控制搜索结... 查看详情

通过httprestfulapi操作elasticsearch搜索数据

通过HTTPRESTfulAPI操作elasticsearch搜索数据 查看详情

elasticsearch:运用python实现在elasticsearch上的向量搜索(代码片段)

向量搜索在最新的Elasticsearch的发布版中有很多新的提高。在我之前的文章:Elasticsearch:使用向量搜索来查询及比较文字-NLPtextembeddingElasticsearch:使用向量搜索来搜索图片及文字有详细的应用案例介绍。究其本质它使... 查看详情

elasticsearch实现网站搜索

使用elasticsearch实现网站搜索,可以支持商品搜索,筛选项过滤搜索,价格排序,打分筛选项聚合,还有其他综合排序后续推出搜索人工干预排序,根据销量,好评率,售卖率进行全方位的搜索实现想要完全理解此搜索项目需要... 查看详情