绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Elasticsearch5.6搭建及拼音中文混合搜索实现
2022-01-30 15:12:28

功能

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

环境搭建

  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荣耀


作者:BIGUFO
链接:https://www.jianshu.com/p/d7ca970f05ba
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
分享好友

分享这个小栈给你的朋友们,一起进步吧。

Elasticsearch
创建时间:2020-05-22 14:49:51
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题及可能出现的更多其它问题。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~