ElasticSearch实现拼音搜索

小兔叽 可爱的博主

时间: 2020-10-13 阅读: 231 字数:3534

{}
所有不说明elastic 版本的博客都是耍流氓

目录

事先准备好工具

下载分词器(选择对应的版本)版本必须和es的版本一直否则报错!

https://github.com/medcl/elasticsearch-analysis-pinyin/releases (拼音分词器)

https://github.com/medcl/elasticsearch-analysis-ik ik分词器

将分词器解压出来后,得到三个文件

图片的描述

1.在es的plugins目录下新建一个pinyin的目录
mkdir pingyin

图片的描述

2.将这三个文件放到pinyin的目录下

图片的描述

节点的配置:

  • 1.删除 index
DELETE /index_name/
{
}
  • 2.创建一个 index_name 的 index
PUT /index_name/
{
    "index": {
        "analysis": {
            "analyzer": {
                "ik_pinyin_analyzer": {
                    "type": "custom",
                    "tokenizer": "ik_max_word",
                    "filter": ["my_pinyin", "word_delimiter"]
                }
            },
            "filter": {
                "my_pinyin": {
                    "type": "pinyin",
                    "first_letter": "prefix",
                    "padding_char": " "
                }
            }
        }
    }
}
  • 3.修改 type 的 mapping

设置每个属性涉及到的配置

PUT /index_name/app/_mapping
{
    "app": {
        "properties": {
            "ProductCName": {
                "type": "keyword",
                "fields": {
                    "pinyin": {
                        "type": "text",
                        "store": false,
                        "term_vector": "with_positions_offsets",
                        "analyzer": "ik_pinyin_analyzer",
                        "boost": 10
                    }
                }
            },
            "ProductEName":{  
                "type":"text",  
                "analyzer": "ik_max_word"  
            },
            "Description":{  
                "type":"text",  
                "analyzer": "ik_max_word"  
            }
        }
    }
}
  • 4.创建测试数据
DELETEPUT /index_name/app/1
{
  "ProductCName":"口红世家",
  "ProductEName":"Red History",
  "Description":"口红真是很棒的东西呢"
}
  • 5.测试拼音分词效果
POST /index_name/_analyze?pretty
{
  "analyzer": "pinyin",
  "text":"王者荣耀"
}
本文章网址:https://www.sjxi.cn/detil/d9a3d17526b14d99a39c45b883a11768

打赏作者

本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!

最新评论
当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复