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是符合要求的, 那么…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
