Solr Facet引发思考 on the road

简介: 下面的内容包括概念都是个人想到的,不专业或者不规范请知晓。理解意义就行。   1.为什么是facet 搜索与推荐本来是不分家的,搜索没有推荐就是存储了,有推荐的搜索才是真正的搜索,才体现搜索的“情感”(query解析、排序、页面展示)、搜索引擎的“难点”(用户意图理解、最有价值信息、最友好交互

下面的内容包括概念都是个人想到的,不专业或者不规范请知晓。理解意义就行。

 

1.为什么是facet
搜索与推荐本来是不分家的,搜索没有推荐就是存储了,有推荐的搜索才是真正的搜索,才体现搜索的“情感”(query解析、排序、页面展示)、搜索引擎的“难点”(用户意图理解、最有价值信息、最友好交互)。


但是搜索很多概念又是源于存储,例如facet就是源于数据库的groupby。单纯的groupby,搜索肯定顶不过数据库。但是搜索有个好处,就是查询条件的文本、区间、模糊有优势,就是获取结果id有优势。之后的facet统计在存储不见得好于数据库。


另外,对于千万级别的数据,从成本、快捷、维护、重用、准实时角度看,使用solrfacet无疑是首选。


使用时,或者是源数据直接进入索引、直接输出统计结果。或者是已经统计好了,只需输出结果。后者检索角色更浓,前者实时角色更浓。

 

2.facet相对hadoop hive优势

Facet对轻量级处理应该更有优势。表现在灵活性比较强。一份索引,可以随时、随地facet各种信息。数据重用,既可以用一般查询,也可以用统计输出,无需中间结果,按需获取。低成本,开源的solrlucene系统,轻量级,没有hadoophive那么重。

 

3.solr当前支持程度

Solr当前支持stored=true

文本域facet,以及数字域的区间facet,不支持数字类型的facet

Solr当前facet统计可以设置丰富的各种参数,基于遍历的,性能有瓶颈再大数据量上。性能的提升严重依赖cache的配置,但是jvm下垃圾回收又是问题。

4.扩展与优化


已经支持单层facet

Query=q&facet=on&facet.field=fieldA,fieldB


不支持双层或者混合facet

Query=q1,q2&facet=on&facet.field=fieldsA,fieldB


或者

Query=q1&facet=on&facet.field=fieldA Another
query=q2&facet=on&facet.field=field2

 


针对有规律的请求

Bean请求队列会,返回也队列化

  
Id
 
查询,不需要相关性计算,去得分

  
Rows
start 
都设为0,只获取facet信息

  
Sort=id asc 
 
自然顺序
只扫描单次的,filterquery可以不开启

相关文章
|
前端开发 关系型数据库 数据库
使用 Flask 连接数据库和用户登录功能进行数据库的CRUD
使用 Flask 连接数据库和用户登录功能进行数据库的CRUD
679 0
|
分布式计算 Java 关系型数据库
Linux中jar包启动和jar包后台运行的实现方式
Linux中jar包启动和jar包后台运行的实现方式
2473 0
|
8月前
|
人工智能 JavaScript 前端开发
LangGraph架构解析
本文深入解析了传统Agent开发的三大痛点:状态管理碎片化、流程控制复杂及扩展性差,提出使用LangGraph通过有向图模型重构工作流,将LLM调用与工具执行抽象为节点,实现动态流程跳转。文中详述LangGraph四大核心组件——状态机引擎、节点设计、条件边与工具层集成,并结合生产环境最佳实践,如可视化调试、状态持久化与人工干预机制,最终对比LangGraph与传统方案的性能差异,给出选型建议。
1737 0
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
451 0
|
安全
全息技术有哪些应用?
【6月更文挑战第27天】全息技术有哪些应用?
1095 4
开发指南029-el-table-column对齐属性
按开发文档和正常理解,el-table-column具有属性align,可以填left,center,right控制内容的对齐方式
|
安全 测试技术 UED
软件测试的艺术:从代码审查到用户体验的全方位解析
在软件开发的宇宙中,测试是那颗最耀眼的星辰。它不仅仅是一种技术活动,更是一门艺术。本文将带你领略这门艺术的魅力,从细微的代码审查到宏大的用户体验设计,揭示软件测试如何塑造出更加完美的数字世界。
164 4
|
机器学习/深度学习 数据可视化 PyTorch
基于TorchViz详解计算图(附代码)
基于TorchViz详解计算图(附代码)
1151 0
|
缓存 算法 关系型数据库
深度思考:雪花算法snowflake分布式id生成原理详解
雪花算法snowflake是一种优秀的分布式ID生成方案,其优点突出:它能生成全局唯一且递增的ID,确保了数据的一致性和准确性;同时,该算法灵活性强,可自定义各部分bit位,满足不同业务场景的需求;此外,雪花算法生成ID的速度快,效率高,能有效应对高并发场景,是分布式系统中不可或缺的组件。
4273 2
深度思考:雪花算法snowflake分布式id生成原理详解
|
缓存 前端开发 PHP
【超详细】php实现扫码关注微信公众号系统/网站自动注册登录
【超详细】php实现扫码关注微信公众号系统/网站自动注册登录
1036 0

热门文章

最新文章

下一篇
开通oss服务