Elasticsearch5.6搭建及拼音中文混合搜索实现
时间:2022-06-09
本文章向大家介绍Elasticsearch5.6搭建及拼音中文混合搜索实现,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
功能
- 分布式的搜索引擎和数据分析引擎
- 全文检索,结构化检索,数据分析
- 对海量数据进行近实时的处理
环境搭建
- 从官网下载压缩包 elasticsearch-5.6.1.tar.gz;
- 解压 tar -zxvf elasticsearch-5.6.1.tar.gz $ES_HOME
- 因es只能由除root以外的用户启动,则给予相应的权限,如给common用户,chown -R common:root elasticsearch-5.6.1
- 配置,vi $ES_HOME/config/elasticsearch.yml 主要修改以下配置 cluster.name: ** node.name: node-1 network.host: 192.168.0.250 http.port: 9200
- 添加ik、pinyin插件,将对应版本的插件下载放到$ES_HOME/plugins下即可 https://github.com/medcl/elasticsearch-analysis-ik https://github.com/medcl/elasticsearch-analysis-pinyin
- 用户common启动es
bin/elasticsearch -d 后台启动
- 可通过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荣耀
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ModuleNotFoundError: No module named ‘pip‘【已解决】
- 【原创】Java并发编程系列31 | 阻塞队列(上)
- 【2019-3-3】Mac启动redis
- awvs(acunetix)使用一段时间后突然不能用了-解决方案
- Java自动化测试(数据库断言 18)
- Java自动化测试(参数化 19)
- Python 基础(一):入门必备知识
- Mac安装软件提示 已损坏【已解决】
- 机器学习之sklearn基础教程!
- 2020最新版 maven for MAC 安装及配置
- jemter安装(win/mac)并快捷启动的方法
- nmap 详解版-指令使用方法大全【含安装】
- 常见6种WAF绕过和防护原理
- 2020-mac 安装jdk1.8
- AWVS acunetix_WVS13的基础使用