前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch5.6搭建及拼音中文混合搜索实现

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

作者头像
UFO
发布2018-09-04 11:50:37
2.3K0
发布2018-09-04 11:50:37
举报
文章被收录于专栏:Spark生态圈Spark生态圈

功能

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

环境搭建

  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荣耀
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.10.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能
  • 环境搭建
  • 应用
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档