Solr支持的需求“转化”方案小结

简介: 假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。

1. A>B         转化A>B 的结果保存为新的域,查询时候使用新的域作为条件查
2. sum(A,B)>N  
转化为 sum(A,B)的值保存为新的域,查询时候 [N TO *] 区间查询代替
3.
非空查询    转化为 对应数值型,使用区间[0 TO *] ,对应文本类型 转化为 构建时候写入默认值
4.
按期望的得分模型排序 转化为,离线根据自定义的模型,计算好一个document-at-time得分,排序时候直接按这个单维度得分排序。问题可能会出现好的越好、坏的越坏
5.
文本得分和属性得分联合  转化为第一维度文本、第二维度属性值 或者 文本*因子+ _val_ 得分
6.
输入提示  转化为基于当前索引的词典的termquerycomponent 或者 独立一个倒排索引,保存词典,此时各种提示转化为倒排的前缀、模糊搜索,同时控制相关联词条的排序规则,包括屏蔽和加强关键词
7.
带特征的单维度实时统计  转化为带特征去查询索引然后facet,将facet结果存入数据库共访问。
8. topN
查询词条     直接对query log 执行再次倒排索引,输出高频词以及高频关联词
9.
实时可累加的统计 直接实时构建索引,输出索引的term、倒排的统计信息。
10.
突出特定信息   转化为特定关键词的boost或者特定域的boost或者特定文档的boost
11.
人名搜索       转化为单子分词并短语查询和属性排序
12.list
查询       转化为直接基于luceneMultiTermQuery,能缓存的尽量缓存起来
13.
规则推荐       转化为多属性组合查询唯一规则id返回
14.
一次写膨胀性增加  转化为分时间段构建索引、按需加载、卸载索引段
15.
多表关联         转化为离线join一起构成文档,查询直接key返回文档,无需多表join
16.sqllike
查询       转化为基于词法、句法分析转化为对应语句模板,模板自动生成solr语法
17.
关系距离排序      转化为tfitf公式不变而数值用关系维度值代替或者直接function计算关系夹角
18.
概率模型、语言模型 转化为引入第三方包实现的得分模型,同时需要调整某些参数根据具体场景
19.
空间搜素           转化为关键词到经纬度索引查询,引入第三方包实现的相关插件
20.
图片过滤           转化为在图片算法过滤的同时,联合文本查询过滤,实现高质量聚合
21.
传递推荐           转化为关键词结果的统计输出,输出条件查询进一步统计输出。。。
22.
数据结构化         转化为检索词返回规则,构建可重复计算的特征性结构化数据。
。。。。
所有的需求转化本质,大概可以如下理解:
(1)
发挥solr或者lucene的一对一关联,termdocument 的关联
(2)
通过单一属性,返回关联属性;
(3)
索引构建完毕静态信息可以根据条件实时、重复获取
(4)
复杂问题离线化,线上实时只读
(5)
大的东西从开源、第三方包获取,细的参数、微调从业务场景出发

目录
相关文章
|
7月前
|
JSON NoSQL MongoDB
实时计算 Flink版产品使用合集之要将收集到的 MongoDB 数据映射成 JSON 对象而非按字段分割,该怎么操作
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
存储 Java 分布式数据库
HBase构建图片视频数据的统一存储检索
HBase构建图片视频数据的统一存储检索
|
7月前
|
存储 数据处理 索引
Elasticsearch 8.X 小技巧:使用存储脚本优化数据索引与转换过程
Elasticsearch 8.X 小技巧:使用存储脚本优化数据索引与转换过程
105 6
|
7月前
|
SQL 存储 分布式计算
Hive【基础 01】核心概念+体系架构+数据类型+内容格式+存储格式+内外部表(部分图片来源于网络)
【4月更文挑战第6天】Hive【基础 01】核心概念+体系架构+数据类型+内容格式+存储格式+内外部表(部分图片来源于网络)
147 1
|
7月前
|
运维 测试技术 数据处理
Elasticsearch 优化查询中获取字段内容的方式,性能提升5倍!
Elasticsearch 优化查询中获取字段内容的方式,性能提升5倍!
71 0
|
7月前
|
SQL 分布式计算 API
Apache Hudi从零到一:深入研究读取流程和查询类型(二)
Apache Hudi从零到一:深入研究读取流程和查询类型(二)
213 1
|
存储 缓存 JSON
大规模数据量下ES如何实现高性能检索?
大规模数据量下ES如何实现高性能检索?
651 0
Apache Doris 2.0.0 版本正式发布:盲测性能 10 倍提升,更统一多样的极速分析体验
亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于 2023 年 8 月 11 日正式发布,有超过 275 位贡献者为 Apache Doris 提交了超过 4100 个优化与修复。
|
搜索推荐 算法 索引
基于Solr实现排序定制化参考
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。 本文Solr实现排序定制化的实践参考。排序实现有N种形式,最低成本、最快响应时间是目标。 一份索引,支持N种排序策略并且在线互不干扰是要考虑的。每一种实现,处理的场景是不同的,不要千篇一律。020排序,从索引到效果,有不少坑,这篇文章没有细说,原因是有些内容不好公开。
318 0
|
XML 自然语言处理 运维
【大数据开发运维解决方案】Solr6.2默认相似性算法检索匹配得分高于5.1版本问题分析
我们之前使用的solr版本是solr5.1,分词器使用的是jcseg1.9.6,后续接触了Solr6.2,分词器使用的是jcseg2.6.0,发现同一个Oracle库的同一套表数据,分别使用solr5.1和solr6.2版本的模板collection配置集做相同的字段配置并成功做索引后,做相同查询,solr6.2检索文档score远高于solr5.1,下面是我们使用的两个solr环境以及另一个单机solr测试环境的基本情况:
【大数据开发运维解决方案】Solr6.2默认相似性算法检索匹配得分高于5.1版本问题分析