ElasticSearch 同义词匹配
synonym.txt
电脑, 计算机, 主机
复印纸, 打印纸, A4纸, 纸, A3
平板电脑, Pad
DELETE /es_sku_index_20_20250109
PUT /es_sku_index_20_20250109
{"settings": {"index": {"number_of_shards": "5","number_of_replicas": "1","analysis": {"filter": {"light_english_stemmer": {"type": "stemmer","language": "light_english"},"sku_synonym": {"type": "synonym","synonyms_path": "synonym/synonym.txt"}},"analyzer": {"optik_smart_with_synonym": {"type": "custom","tokenizer": "ik_smart","filter": ["lowercase","light_english_stemmer","sku_synonym"]},"optik_with_synonym": {"type": "custom","tokenizer": "ik_max_word","filter": ["lowercase","light_english_stemmer","sku_synonym"]},"optik_smart": {"type": "custom","tokenizer": "ik_smart","filter": ["lowercase", "light_english_stemmer"]},"optik": {"type": "custom","tokenizer": "ik_max_word","filter": ["lowercase", "light_english_stemmer"]},"sku_synonym_analyzer": {"type": "custom","tokenizer": "standard","filter": ["lowercase", "sku_synonym"]}}}}},"mappings": {"sku": {"properties": {"chiefQualifications": {"type": "text"},"agreementStatus": {"type": "long"},"sellPrice": {"type": "double"},"saleAttributes": {"type": "nested","properties": {"attrNames": {"search_analyzer": "optik_smart","analyzer": "optik","type": "text"},"value": {"type": "long"},"key": {"type": "long"}}},"contactTel": {"type": "text"},"categoryKeyWord": {"search_analyzer": "optik_smart","analyzer": "optik","type": "text"},"isAgent": {"type": "integer"},"skuNameSearch": {"type": "keyword"},"cName": {"type": "text","fields": {"cName_search": {"type": "text","analyzer": "optik_smart_with_synonym","search_analyzer": "optik_smart_with_synonym"},"cName_view": {"type": "keyword"}}},"modelCode": {"search_analyzer": "optik_smart","analyzer": "optik","type": "text"},"modified": {"format": "yyyy-MM-dd HH:mm:ss","type": "date"},"shelfSkuTime": {"type": "text","fields": {"keyword": {"ignore_above": 256,"type": "keyword"}}},"shopId": {"type": "long"},"skuId": {"type": "long"},"policyAttributes": {"type": "nested","properties": {"valueName": {"type": "keyword"},"value": {"type": "integer"},"key": {"type": "keyword"}}},"created": {"format": "yyyy-MM-dd HH:mm:ss","type": "date"},"listingTime": {"format": "yyyy-MM-dd","type": "date"},"pictureUrl": {"type": "keyword"},"brandKeyWord": {"type": "text","analyzer": "sku_synonym_analyzer","search_analyzer": "optik_smart"},"itemId": {"type": "long"},"praiseRate": {"type": "float"},"brandNameCh": {"type": "keyword"},"publishType": {"type": "integer"},"brandId": {"type": "long"},"minPrice": {"type": "double"},"keyAttributesNum": {"type": "integer"},"maxPrice": {"type": "double"},"cid": {"type": "long"},"secondTel": {"type": "text"},"supplierId": {"type": "long"},"categoryAttributes": {"type": "nested","properties": {"value": {"type": "long"},"key": {"type": "long"}}},"shopName": {"type": "text","fields": {"shopName_view": {"type": "keyword"},"shopName_search": {"type": "text","analyzer": "optik_smart_with_synonym","search_analyzer": "optik_smart_with_synonym"}}},"enterpriseScale": {"type": "integer"},"agentNum": {"type": "integer"},"skuName": {"type": "text","analyzer": "optik_smart_with_synonym","search_analyzer": "optik_smart_with_synonym"},"saleAttributesNum": {"type": "integer"},"supplierName": {"type": "keyword"},"saleCount": {"type": "long"},"secondContacts": {"type": "text"},"keyAttributes": {"type": "nested","properties": {"attrNames": {"search_analyzer": "optik_smart","analyzer": "optik","type": "text"},"value": {"type": "long"},"key": {"type": "long"}}},"platformId": {"type": "long"},"saleStatus": {"type": "integer"},"otherQualifications": {"type": "text"},"agreementNo": {"type": "keyword"},"brandNameEn": {"type": "keyword"},"sourceSkuId": {"search_analyzer": "optik_smart","analyzer": "optik","type": "text"},"categoryAttributesNum": {"type": "integer"},"brandNameChEn": {"type": "text","fields": {"brandNameChEn_agg": {"type": "keyword"},"brandNameChEn_ik": {"type": "text","analyzer": "optik_smart_with_synonym","search_analyzer": "optik_smart_with_synonym"}}},"contacts": {"type": "text"}}}},"aliases": {"es_sku_index_alias_20": {}
}
}
POST _reindex
{"source": {"index": "es_sku_index_20_20221008"},"dest": {"index": "es_sku_index_20_20250109"}
}
POST /_aliases
{"actions": [{ "add": { "index": "es_sku_index_20_20250109", "alias": "es_sku_index_alias_20" } },{ "remove": { "index": "es_sku_index_20_20221008", "alias": "es_sku_index_alias_20" } }]
}
GET /es_sku_index_20_20250109/_analyze
{"analyzer": "optik_smart_with_synonym","text": "复印纸"
}
GET /es_sku_index_20_20250109/_analyze
{"analyzer": "optik_smart_with_synonym","text": "打印纸"
}
相关文章:
ElasticSearch 同义词匹配
synonym.txt 电脑, 计算机, 主机 复印纸, 打印纸, A4纸, 纸, A3 平板电脑, Pad DELETE /es_sku_index_20_20250109 PUT /es_sku_index_20_20250109 {"settings": {"index": {"number_of_shards": "5","number_of_replicas&quo…...
linux RT-Preempt spin lock实现
一、spin_lock概述 Spinlock是linux内核中常用的一种互斥锁机制,和mutex不同,当无法持锁进入临界区的时候,当前执行线索不会阻塞,而是不断的自旋等待该锁释放。正因为如此,自旋锁也是可以用在中断上下文的。也正是因为…...
PySpark广播表连接解决数据倾斜的完整案例
使用PySpark解决数据倾斜问题的完整案例,通过广播表连接的方式来优化性能。 准备数据 假设我们有两张表,一张大表 big_table 和一张小表 small_table ,小表将作为广播表。 from pyspark.sql import SparkSession# 初始化SparkSession spar…...
Chromium CDP 开发(十二):为自己的Domain建立custom_config.json
引言 本章详细介绍了如何为自定义的 CDP Domain 创建 custom_config.json 文件,并通过修改 BUILD.gn 文件来确保自定义的配置文件参与编译。我们通过 inspector_protocol_generate 配置段自动生成自定义 Domain 的头文件和实现文件,并成功将其集成到构建…...
【Vue】全局/局部组件使用流程(Vue2为例)
全局组件和局部组件区别 如何使用 全局组件:全局注册后,可以在任意页面中直接使用。局部组件:在页面中需要先导入子组件路径,注册组件才能使用。 适用场景 全局组件:适用于高频使用的组件,如导航栏、业…...
Vue.js组件开发详解
在现代前端开发中,Vue.js 凭借其简洁、高效、灵活的特性,成为了众多开发者的首选框架之一,而组件化开发则是 Vue.js 的核心优势。组件可以将复杂的 UI 界面拆分成一个个独立的、可复用的小块,极大地提高了开发效率和代码的可维护性…...
解决:ubuntu22.04中IsaacGymEnv保存视频报错的问题
1. IsaacGymEnvs项目介绍 IsaacGymEnvs:基于NVIDIA Isaac Gym的高效机器人训练环境 IsaacGymEnvs 是一个基于 NVIDIA Isaac Gym 的开源 Python 环境库,专为机器人训练提供高效的仿真环境。Isaac Gym 是由 NVIDIA 开发的一个高性能物理仿真引擎…...
深度学习camp-第J7周:对于ResNeXt-50算法的思考
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 📌你需要解决的疑问:这个代码是否有错?对错与否都请给出你的思考 📌打卡要求:请查找相关资料、逐步…...
java: 错误: 无效的源发行版:17解决办法
遇到“java: 错误: 无效的源发行版:17”的问题,通常是因为项目设置中指定的Java版本与当前环境不一致导致的。以下是几种可能的解决方案: 检查并升级Java版本:确保你已经安装了支持Java 17的JDK版本。你可以通过命令行输入java -v…...
Docker 安装开源的IT资产管理系统Snipe-IT
一、安装 1、创建docker-compose.yaml version: 3services:snipeit:container_name: snipeitimage: snipe/snipe-it:v6.1.2restart: alwaysports:- "8000:80"volumes:- ./logs:/var/www/html/storage/logsdepends_on:- mysqlenv_file:- .env.dockernetworks:- snip…...
Go语言封装加解密包(AES/DES/RSA)
Go语言封装加解密包(AES/DES/RSA) 1. Base64编码与解码2. AES加解密3. DES加解密4. RSA加解密5. SHA256哈希6. 单元测试1. AES加解密单元测试2. DES加解密单元测试3. RSA加解密单元测试4. SHA256哈希单元测试测试用例说明 总结 在现代软件开发中…...
sql server 对 nvarchar 类型的列进行 SUM() 运算
因为 SUM() 是一个数值聚合函数,不能直接应用于字符串类型的数据。为了正确汇总标准数量,你需要确保该列的数据类型是数值类型,如 int、decimal 或 float。 假设要统计数量列的和,由于数量列是 nvarchar 类型,你需要先…...
java中json字符串键值获取
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version> </dependency>使用fastjson依赖 JSONObject jsonObject JSON.parseObject(s); 这个jsonObject本质就是一个map&…...
MPLS原理及配置
赶时间可以只看实验部分 由来:90年代中期,互联网流量的快速增长。传统IP报文依赖路由器查询路由表转发,但由于硬件技术存在限制导致转发性能低,查表转发成为了网络数据转发的瓶颈。 因此,旨在提高路由器转发速度的MPL…...
口碑很好的国产LDO芯片,有哪些?
在几乎任何一个电路设计中,都可能会使用LDO(低压差线性稳压器)这个器件。 虽然LDO不是什么高性能的IC,但LDO芯片市场竞争异常激烈。最近几年,诞生了越来越多的精品国产LDO,让人看得眼花缭乱。 业内人士曾经…...
【流程设计】类似钉钉的流程设计功能样式demo
对于一些审批流程,可能会用到这个功能,通过这样一层层的加下来,弄一个审批流程的数组,然后根据这个来审核是否都通过审批,这里是简单的弄一个样式的demo,功能自由发挥 <!DOCTYPE html> <html>…...
ChatGPT入门之文本情绪识别:先了解LSTM如何处理文字序列
文章目录 0. 首先聊聊什么是RNN1. 理解LSTM,从数据如何喂给 LSTM开始2. LSTM每个门是如何处理序列数据的?2.1 遗忘门(Forget Gate):该忘掉哪些信息?2.2 输入门(Input Gate)ÿ…...
测试开发之面试宝典
目录 session和cookie的区别 session和cookie的区别 1.session和cookie都是鍵值对应的 2.session和cookie都是服务器生成的,session的ID,即服各器用来识别读取session对象的一把钥匙 3.session是保存在服各器端,而cookie是返回給客戶端的&…...
399. 除法求值【 力扣(LeetCode) 】
文章目录 零、LeetCode 原题一、题目描述二、测试用例三、解题思路3.1 图的路径搜索3.2 路径压缩 四、参考代码4.1 图的路径搜索4.2 路径压缩 零、LeetCode 原题 399. 除法求值 一、题目描述 给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,…...
算法日记1:洛谷p2678跳石头(二分答案)
1、题目 二、题解: 2.1解题思路: 1.题目要求求出最小值最大,明显的二分答案题目,所以我们可以二分可以跳跃距离int l-1,rL1; 2.此时我们思考lmid和rmid的处理,当我们的check(mid)为true时候 表明我们此时的mid是符合要求的, 那么…...
OpenClaw多模态开发:Qwen2.5-VL-7B实现自动化图文内容审核
OpenClaw多模态开发:Qwen2.5-VL-7B实现自动化图文内容审核 1. 为什么需要本地化内容审核 去年我接手了一个社区运营项目,每天需要审核数百张用户上传的图片和文字内容。最初尝试用第三方审核API,但很快遇到三个痛点:一是敏感数据…...
AI Agent Harness Engineering 的记忆架构:短期、长期与情景记忆的工程实现
AI Agent Harness Engineering 的记忆架构:短期、长期与情景记忆的工程实现 副标题:构建具有类人记忆能力的智能代理系统完整指南 第一部分:引言与基础 (Introduction & Foundation) 1. 引人注目的标题 (Compelling Title) “AI Agent Harness Engineering 的记忆架构…...
Serde JSON Map对象终极指南:BTreeMap与IndexMap性能深度对比
Serde JSON Map对象终极指南:BTreeMap与IndexMap性能深度对比 【免费下载链接】json Strongly typed JSON library for Rust 项目地址: https://gitcode.com/gh_mirrors/jso/json Serde JSON 是 Rust 生态中最流行的 JSON 序列化库,提供了强大的类…...
【C++第二十三章】C++11
前言 🚀C11 常被称为现代 C 的起点。它不是一次零碎的小修小补,而是一次真正改变编程方式的大版本更新:从统一初始化,到 auto / decltype 的类型推导;从右值引用、移动语义,到完美转发;再到 lam…...
B站缓存视频合并终极指南:让离线观看体验完整如初
B站缓存视频合并终极指南:让离线观看体验完整如初 【免费下载链接】BilibiliCacheVideoMerge 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCacheVideoMerge 你是否曾经为B站缓存视频无法完整播放而烦恼?那些精心收藏的番剧、学习教程&…...
数据取证实战:Passware Kit Forensic 和 ElcomSoft 到底怎么选?附真实案例对比
数据取证工具深度评测:Passware Kit Forensic与ElcomSoft实战决策指南 当企业遭遇数据泄露或需要电子取证时,选对工具往往意味着调查成功与否的分水岭。Passware Kit Forensic和ElcomSoft作为行业两大标杆,常让专业人士陷入选择困境——它们都…...
贾子科学定理(Kucius Science Theorem)的哲学批判与理论重构:从证伪主义到可持续运行的科学范式研究
贾子科学定理(Kucius Science Theorem)的哲学批判与理论重构:从证伪主义到可持续运行的科学范式研究1. 引言1.1 研究背景与问题提出当代科学哲学正处于深刻的范式转换期。传统的波普尔证伪主义面临着前所未有的理论困境和实践挑战,…...
手把手教你:如何根据微软官方文档修改bat脚本,实现Excel文件格式的任意批量转换
从XLS到XLSX:基于微软官方文档的批处理脚本进阶指南 在数据处理工作中,Excel文件格式转换是常见的需求场景。许多用户可能只满足于使用现成的转换工具,但对于技术爱好者或需要频繁处理不同格式转换的专业人士来说,掌握如何根据微…...
拯救者R7000P显卡驱动安装避坑指南:从黑屏到流畅运行VSlam
1. 为什么R7000P装显卡驱动容易黑屏? 很多朋友拿到拯救者R7000P笔记本后,第一件事就是安装Ubuntu系统来跑VSlam开发环境。但往往在安装NVIDIA显卡驱动时,会遇到让人头疼的黑屏问题。我自己就经历过不下5次黑屏,最严重的一次甚至需…...
数据仓库实战:查询优化器工作原理深度解析 + 性能提升实战指南
数据仓库实战:查询优化器工作原理深度解析 性能提升实战指南摘要一、基础认知:数据仓库查询优化器是什么?1.1 核心定义1.2 数仓优化器与数据库优化器的区别1.3 优化器核心目标二、工作流程:查询优化器完整执行链路(带…...
