电商搜索同义词库(synonyms)

整理了多种商品名称的同义词,如雨伞、手表等,方便搜索时使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前整理了一些搜索电商商品的同义词, 以提供搜索。 


#支持规则
#    a=>b
#    a,b=>c
#    a=>b,c
# 英文中文
# 学名与俗名
# 全称-简称
# 新称和旧称
# 同音同义词
# 传统同义词

雨伞=>伞,雨伞
手表=>表,手表
马靴=>靴,马靴
骑士靴=>靴,骑士靴
太阳伞=>伞,太阳伞
皮夹=>包,皮包,皮夹
皮箱=>箱,箱包,皮箱
拉杆箱=>箱,箱包,拉杆箱
牛仔短裤=>牛仔裤,牛仔短裤
牛仔长裤=>牛仔裤,牛仔长裤
背包=>包,背包
手包=>包,手包
挎包=>包,挎包
钱包=>包,钱包
纯银=>银,纯银
黑色=>黑,黑色
白色=>白,白色
灰色=>灰,灰色
粉色=>粉,粉色
红色=>红,红色
黄色=>黄,黄色
蓝色=>蓝,蓝色
棕色=>棕,棕色
紫色,紫    
米色,米
裸色,肉色
花,碎花,花色
青色,绿,绿色
薰衣草色,紫色,紫
条纹,横条,竖条,花纹
橙色,橘色,桔色,桔,橘,橙
袜子,袜
裤子,裤
被子,被
鞋子,鞋
裙子,裙
裤子,裤
分裤,短裤
衣服,服装
坎肩,马甲
衬裤,秋裤
腰带,皮带
围脖,围巾
墩布,拖把
拢子,梳子
西裤,正装裤
电褥子,电热毯
裤衩,短裤,内裤
皮袄,皮革,皮衣
电话,电话机,座机
布衫,衬衫,衬衣,衬
乔其纱,雪纺,雪纺衫
外衣,外套,外褂,褂子
男袜,男士袜,男士袜子
女袜,女士袜,女士袜子
洗脚盆,足疗机,足浴盆
T-shirt,T恤,Tshirt,T
商务装,正装,西装,西服
晾衣架,衣服架,衣架,晒衣架
挂表,钟,大表,表,闹钟,钟表
泳装,泳衣
披风,披肩
文胸,胸罩
地垫,地毯
四件套,4件套
衬衣,衬衫,衬
男,男士,女式
女,女士,女式
情侣款,情侣装
保护壳,手机套
棉被,铺盖,被子
大号,大尺码,大码
钱夹子,钱包,钱夹
墨镜,蛤蟆镜,太阳镜
太阳镜=>眼镜,太阳镜
儿童,婴儿,幼儿,婴幼儿,初生儿

<think>嗯,用户想了解Solr中的复杂搜索。首先,我需要回忆Solr的基本概念,它是一个基于Lucene的搜索平台,主要用于全文检索。但用户关注的是复杂搜索,这可能涉及到多个方面的功能。 首先,用户可能已经知道基础查询,比如简单的关键词搜索,但复杂搜索可能包括布尔逻辑、范围查询、模糊搜索等。我需要整理这些不同的查询类型,并解释它们如何组合使用。 然后,考虑到Solr的高级功能,比如过滤器查询(fq),这可以提高性能,因为过滤器会被缓存。用户可能想知道如何高效地组合多个过滤条件。例如,使用fq参数来限制结果范围,同时进行全文搜索。 接下来,分面搜索(Faceted Search)也是复杂搜索的一部分,用于统计和分类结果。用户可能需要了解如何启用分面,以及如何利用分面结果进行进一步的数据分析或导航。 排序和评分也是关键点。Solr默认根据相关性评分排序,但在复杂场景中可能需要自定排序,比如根据字段值、函数计算结果等。比如,用户可能想结合销量和评分来排序商品,这时候就需要使用函数查询(Function Query)。 另外,高亮显示搜索结果中的匹配片段,这对用户体验很重要。需要提到如何使用hl参数和相关设置来实现这一点。 地理位置搜索可能也是一个复杂搜索的场景,比如附的地点搜索。Solr支持地理空间查询,如geofilt和bbox,需要举例说明如何使用这些功能。 连接查询(Join)在关系型数据中很重要,虽然Solr是文档型数据库,但通过Join查询可以实现类似关系数据库的连接操作。需要解释其语法和使用限制。 函数查询(Function Query)允许在查询中使用数学计算,比如计算距离或加权评分。这部分需要说明如何将函数嵌入到查询中,并影响排序或过滤。 拼音搜索同义词扩展在中文环境中尤为重要。用户可能需要处理拼音输入或同义词匹配,比如配置同义词库或拼音分析器。 最后,性能优化也是不可忽视的部分。复杂搜索可能涉及大量计算和多个条件,需要提到如何利用过滤器缓存、分片策略等优化手段。 整理这些点后,需要以结构化的方式呈现,确保用户能够逐步理解每个功能的应用场景和实现方法。同时,要提供具体的示例,如查询语法和参数设置,帮助用户直观掌握如何使用这些复杂搜索功能。还要注意使用正确的中文术语,避免翻译不当造成的混淆。检查是否有遗漏的重要功能,比如拼写检查或结果分组,但根据常见复杂搜索需求,上述内容应该覆盖主要方面。</think>Solr中的复杂搜索实现主要依赖其强大的查询语法和功能扩展模块。以下从5个核心维度解析复杂搜索的实现方式,并附典型场景示例: 一、复合查询语法 1. 布尔逻辑组合 使用逻辑运算符AND/OR/NOT构建复合条件: ```java q=name:(手机 AND 防水) AND price:[1000 TO 2000] ``` 2. 多字段联合搜索 通过qf参数指定多字段加权搜索: ```java q=防水手机&qf=title^2 description^0.5 ``` 3. 存在性检测 检查字段是否存在: ```java fq=exists(image_url) //过滤有图片的商品 ``` 二、高级过滤体系 1. 空间过滤(GIS) 地理围栏查询示例: ```java fq={!geofilt sfield=geo pt=39.908722,116.397499 d=5} ``` 2. 时间窗口过滤 结合NOW函数的时间范围: ```java fq=start_time:[* TO NOW] AND end_time:[NOW+1DAY TO *] ``` 3. 动态范围过滤 使用函数计算动态边界: ```java fq=price:[* TO _val_:"div(rating,2)"] ``` 三、语增强处理 1. 同义词扩展 配置schema.xml实现: ```xml <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt"/> ``` 2. 拼音搜索 配置拼音分析器: ```xml <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.PinyinTransformFilterFactory"/> </analyzer> ``` 四、相关性调优 1. 函数评分 使用bf参数增强特定字段权重: ```java bf=log(sales_count)^2 recip(rord(publish_date),1,1000,1000)^0.5 ``` 2. 上下文感知 使用elevate.xml配置查询时结果提升: ```xml <elevate> <query text="手机"> <doc id="P12345"/> <!-- 置顶特定商品 --> </query> </elevate> ``` 五、性能优化策略 1. 过滤器缓存 推荐将高频过滤条件封装为FilterQuery: ```java fq={!cache=false}category:electronics //禁用缓存场景 ``` 2. 分片策略 跨分片查询优化: ```java shards=shard1,shard2,shard3&shards.info=true ``` 典型电商搜索场景实现: ```java q={!boost b=$weight}search_term &weight=product(avg_rating,log(sales_volume)) &fq=category:electronics &fq={!tag=geo}distance:[* TO 10] &facet.field={!ex=geo}brand &sort=score desc,price asc &hl.fl=title,features ``` 通过合理组合这些功能模块,Solr可以支持: - 多维度混合排序(相关性+业务指标) - 动态权重实时调整 - 地理语双重过滤 - 搜索词智能扩展 - 分布式结果聚合 实际应用中需注意: 1. 使用explain参数分析评分构成 2. 监控filterCache命中率 3. 对中文场景需优化分词策略 4. 高频更新场景建议使用实时搜索(NRT) 5. 复杂查询建议使用参数化请求模板 建议通过QueryParser工具逐步构建查询,结合debugQuery=true参数验证查询逻辑。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值