转载备份
影子 DOM(Shadow DOM)
你的 docker stop,它优雅吗? - 无糖拿铁,谢谢
清理Docker的container,image与volume · 零壹軒·笔记
Create a PyPI Mirror Site with devpi-server – SRE
优雅的终止 docker 容器 | iTimothy
Odoo 14 开发者指南第二十一章 性能优化 | Alan Hou 的个人博客
Odoo 14 开发者指南第八章 高级服务端开发技巧 | Alan Hou 的个人博客
kafka 系列:设置日志数据保存过期时间(含某个 topic)、日志策略_NIO4444-CSDN 博客_kafka 配置数据过期时间
Chromium 历史版本离线安装包 - 下载方法
怎样将 props 传递给 {this.props.children} | WebFuse
HappyBaseDoc
用户指南 — HappyBase 1.2.0 文档
安装指南 — HappyBase 1.2.0 文档
API 参考 — HappyBase 1.2.0 文档
PostgreSQL 时间转换
JS 中创建给定长度的数组
GSAP 入门 - 学习中心 - 绿袜
操作系统复习 | Happy Coding
如何理解 ip 路由和操作 linux 的路由表 - CodeAntenna
Elasticsearch 7.11 tokenizer, analyzer and filter 以及 IK 分词配置同义词、远程拓展词库 – Brave new world
podman 容器内访问 host 主机的端口 - 知识库 - BSMI KB 基础标准矿产工业
吐血总结!100 道经典 Python 面试题集锦上(附答案)
中共党史简表(1919 年 - 1949 年)
Dockerfile 详解_万 wu 皆可爱的博客 - CSDN 博客_dockerfile
为你的 Python 应用选择一个最好的 Docker 映像 | 亚马逊 AWS 官方博客
Ubuntu Server 支持中文
docker push | Docker Documentation
docker 创建本地仓库详解 (push/pull)_乱红飞的博客 - CSDN 博客_docker push 本地仓库
基于 Ubuntu 20.04 安装 Kubernetes 1.18
PostgreSQL 集群篇——PostgreSQL 的配置文件解析_51CTO 博客_postGresql
【PostgreSQL】——主从流复制_Teingi 的博客 - CSDN 博客_postgresql 主从复制
PostgreSQL: Documentation: 14: 27.4. Hot Standby
postgresql 主从复制、主从切换_偷懒的小陈的博客 - CSDN 博客_postgresql 主从
Postgres 用户、角色与权限 :: 68hub — 技术博客
中国共产党第二十次全国代表大会在京开幕 一图速览二十大报告
配置 docker 通过代理服务器拉取镜像
IPVS no destination available - Kubernetes 实践指南
Python 风格规范 — Google 开源项目风格指南
互动测试!党的二十大报告 100 题
自定义 ESlint 规则
Java 读取 OpenSSL 生成的秘钥, 进行 RSA 加解密 | 数字魔法
CSS(一)chrome 浏览器表单自动填充默认样式 - autofil_半个 GIS 半个前端的博客 - CSDN 博客
Nginx 多级代理下的真实 IP 透传 - CodeAntenna
Jenkins 环境变量
人民币金额大写规范 - 内蒙古农业大学财务处
[转]nginx 开启 websocket - 浅忆博客
ceph 创建使用 rbd
《三》配置 ceph 存储池 pool - Buxl's blog
基于 K8S 搭建 Ceph 分部署存储 – 唐玥璨 | 博客
序言 · Kubernetes 中文指南——云原生应用架构实战手册
服务器配置 - Redis 安装配置 | 灰帽子 - 任令仓的技术博客
Ubuntu 配置 sudo 命令不需要输入密码_ubuntu sudo 免密_一路向前 - 执着的博客 - CSDN 博客
修改 Docker 数据目录位置,包含镜像位置 - 腾讯云开发者社区 - 腾讯云
微服务架构实践(API Gateway)
微服务网关:从对比到选型,由理论到实践 | Java 程序员进阶之路
聊聊微服务网关
微服务网关:从对比到选型,由理论到实践
odoo 实现表分区 partition
使用 keepalived 搭建高可用服务 - 简书
业务网关的落地实践_文化 & 方法_Qunar 技术沙龙_InfoQ 精选文章
部署 Kubernetes PostgreSQL 实例 | domac 的菜园子
一套包含完整前后端的系统如何在 K8S 中部署?_k8s 前端_木讷大叔爱运维的博客 - CSDN 博客
前端安全系列(二):如何防止 CSRF 攻击? - 美团技术团队
traefik 自定义中间件 | coolcao 的小站
CSRF 原理和实战利用 - FreeBuf 网络安全行业门户
安全运维 - 如何在 Kubernetes 中使用注释对 ingress-nginx 及后端应用进行安全加固配置实践_唯一极客知识分享的技术博客_51CTO 博客
Kubernetes 进阶使用之 Helm,Kustomize
各种加密算法比较
Docker 的三种网络代理配置 · 零壹軒 · 笔记
本文档使用 MrDoc 发布
-
+
首页
Elasticsearch 7.11 tokenizer, analyzer and filter 以及 IK 分词配置同义词、远程拓展词库 – Brave new world
> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [www.junphy.com](http://www.junphy.com/wordpress/index.php/2021/03/25/elasticsearch-synonym/) 搜索引擎一般都由 [分词器——tokenizer、token 过滤器——token filter]——analyzer 组成: ![](/media/202203/2022-03-16_093020_568933.png) Elasticsearch 中的 tokenizers: ---------------------------- [Standard Tokenizer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-standard-tokenizer.html)、 [Whitespace Tokenizer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-whitespace-tokenizer.html)、[Letter Tokenizer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-letter-tokenizer.html) 等。以 [Letter Tokenizer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-letter-tokenizer.html) 为例:The `letter` tokenizer divides text into terms whenever it encounters a character which is not a letter. _Input => “quick 2 brown’s fox_ “ _Output => [quick,brown,s,fox]_ 更多信息参考:[https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenizers.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenizers.html) Token Filters ------------- token filter 作用在由 tokenizer 产生的 token 上,并根据对应的规则修改 token。常见的 token filter 包括:[Stop token filter](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-stop-tokenfilter.html)、[Synonym token filter](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-tokenfilter.html) 等。后面会详细介绍 Synonym token filter 更多信息参考:[https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenfilters.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenfilters.html) 自定义 Analyzer ------------ 指定可用的 tokenizer 和 token filter: ``` { "analysis": { "filter": { "synonym_word_filter": { "type": "synonym", "updateable": "true", "expand": "false", "synonyms_path": "analysis/synonym.txt" } }, "analyzer": { "ik_smart_synonym": { // analyzer名称 "filter": [ "synonym_word_filter" //指定filter ], "type": "custom", "tokenizer": "ik_smart" // 指定tokenizer,使用的是IK分词器的tokenizer } } } } ``` [IK](https://github.com/medcl/elasticsearch-analysis-ik) 分词器适用于中文分词的 Elasticsearch 插件,安装方式在 repo 里描述了。下面介绍如何在 Elasticsearch 7.11 版本使用同义词以及配置远程扩展词库。 配置同义词 ----- 1. **创建索引时创建自己的 analyzer** 2. **mapping 时指定 search_analyzer** 3. **创建同义词文件** 步骤 1 的索引可使用上述的自定义 analyzer; mapping 时,一般指定 search_analyzer 使用自定义同义词 analyzer,在数据存入 Elasticsearch 创建索引时,一般使用标准的 ik_smart 或者 ik_max_word。一个案例如下: ``` { "properties": { "question": { "type": "text", "analyzer": "ik_max_word", "search_analyzer": " ik_smart_synonym", //上一步索引时创建的自定义 analyzer "index": "true" }, "answer": { "type": "text", "index": "false" }, "questionId": { "type": "integer" } } } ``` 同义词文件配置: 我是使用 dpkg 命令在 Ubuntu 安装的, synonym.txt 文件配置放在安装路径:/etc/elasticsearch/analysis/synonym.txt 下,你也可使用 `whereis elasticsearch` 查看你的安装目录,analysis 目录需要自行创建。 synonym.txt 文件格式如下: 土豆, 马铃薯, potato 香蕉, banana 注意到 `synonym_word_filter` 中设置了 `expand` 为 `false`。以上述同义词为例,如果设置 `expand` 为 `false`, 则只会将 token 中的 “马铃薯”、“potato”、“土豆” 替换成“土豆”,即以第一个词为准。如果 `expand` 为 `true`,则如果 token 中出现 “土豆”,“马铃薯”,“potato” 任一词,都会解析成三个 token。 如果不设置此项,则默认 `expand` 为 `true` ![](/media/202203/2022-03-16_093043_631814.png) expand: false ![](/media/202203/2022-03-16_093050_707917.png) expand: true 由于在创建索引时使用了 `"updateable": "true"` 配置,你可以在修改了 synonym.txtx 之后调用 API: `[POST /my-index/_reload_search_analyzers](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-reload-analyzers.html)` 更新 search_analyzer 的配置。 ![](/media/202203/2022-03-16_093059_349692.png) 配置远程扩展词库 -------- 在 IK 分词配置下的 IKAnalyzer.cfg.xml 文件中配置远程接口或者文件 URI。接口使用 GET 访问方式,接口的返回 Header 里在远程词库变化时更改 `Last-Modified`或者 `ETag`字段即可热更新。
幻翼
2022年3月16日 09:31
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码