Elasticsearch5.6搭建及拼音中文混合搜索实现

作者: BIGUFO | 来源:发表于2017-10-01 21:44 被阅读164次

功能

  • 分布式的搜索引擎和数据分析引擎
  • 全文检索,结构化检索,数据分析
  • 对海量数据进行近实时的处理

环境搭建

  1. 从官网下载压缩包 elasticsearch-5.6.1.tar.gz;
  2. 解压 tar -zxvf elasticsearch-5.6.1.tar.gz $ES_HOME
  3. 因es只能由除root以外的用户启动,则给予相应的权限,如给common用户,chown -R common:root elasticsearch-5.6.1
  4. 配置,vi $ES_HOME/config/elasticsearch.yml
    主要修改以下配置
    cluster.name: **
    node.name: node-1
    network.host: 192.168.0.250
    http.port: 9200
  5. 添加ik、pinyin插件,将对应版本的插件下载放到$ES_HOME/plugins下即可
    https://github.com/medcl/elasticsearch-analysis-ik
    https://github.com/medcl/elasticsearch-analysis-pinyin
  6. 用户common启动es

bin/elasticsearch -d 后台启动

  1. 可通过chrome插件 elasticsearch-head 连接es

应用

  • 新建index,自定义ik_pinyin_analyzer分析器
curl -XPUT "http://localhost:9200/index_name/" -d'
{
    "index": {
        "analysis": {
            "analyzer": {
                "ik_pinyin_analyzer": {
                    "type": "custom",
                    "tokenizer": "ik_smart",
                    "filter": ["my_pinyin", "word_delimiter"]
                }
            },
            "filter": {
                "my_pinyin": {
                    "type": "pinyin",
                    "first_letter": "prefix",
                    "padding_char": " "
                }
            }
        }
    }
}
  • 创建一个type并设置mapping
curl -XPOST http://localhost:9200/index_name/app/_mapping -d'
{
    "app": {
        "properties": {
            "appname": {
                "type": "keyword",
                "fields": {
                    "pinyin": {
                        "type": "text",
                        "store": "no",
                        "term_vector": "with_positions_offsets",
                        "analyzer": "ik_pinyin_analyzer",
                        "boost": 10
                    }
                }
            }
        }
    }
}
  • 可通过外部数据导入index,或者手动put
  • 最后便可通过es来搜索
curl -XGET http://localhost:9200/index_name/app/_search?q=appname.pinyin:wangzhe荣耀

相关文章

  • Elasticsearch5.6搭建及拼音中文混合搜索实现

    功能 分布式的搜索引擎和数据分析引擎 全文检索,结构化检索,数据分析 对海量数据进行近实时的处理 环境搭建 从官网...

  • ElasticSearch 拼音和中文搜索

    参考来源 拼音搜索+中文搜索 Elasticsearch中文汉字拼音混合搜索 Elasticsearch Quer...

  • ES 拼音中文混合检索

    1. 使用场景介绍 搜索功能支持:拼音检索,中文检索,拼音中文混合检索例如:输入:l德h【期望结果】:刘德华 和刘...

  • Elasticsearch 简介和实战

    最近项目要用到全文搜索,需要有中文、拼音检索以及混合搜索以及数据聚合功能,使用到了 Elsaticsearch 关...

  • elasticsearch

    提示词 拼音+汉字 混合搜索配置

  • 按拼音排序的小技巧

    说到按中文拼音排序,很多人就想到了通过『拼音字典』的相关库来实现。随便在github搜索一下 拼音 发现库确实挺多...

  • JS实现输入拼音搜索中文列表

    最近工作中接到了一个需求:一个项目列表,项目名称可能有中文可能有英文,如果是中文的话,需要实现用户输入项目的拼音即...

  • elasticsearch实现基于拼音搜索

    1、背景 一般情况下,有些搜索需求是需要根据拼音和中文来搜索的,那么在elasticsearch中是如何来实现基于...

  • elasticsearch实现中文与拼音的搜索联想

    常见的电商搜索比如京东、淘宝,输入面膜或者mm,下拉框会有很多引导用户去选择的关键字,比如 面膜 面霜、面膜 补水...

  • 拼音汉字混合识别模型

    贝叶斯模型实现拼音汉字混合识别模型 HMM模型实现拼音汉字混合识别 HMM由两个部分组成,马尔可夫链和一般随机过程...

网友评论

    本文标题:Elasticsearch5.6搭建及拼音中文混合搜索实现

    本文链接:https://www.haomeiwen.com/subject/igueextx.html