首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在查询文档子集时提高Solr性能

在查询文档子集时提高Solr性能
EN

Stack Overflow用户
提问于 2015-06-24 05:08:36
回答 1查看 1.3K关注 0票数 0

我有一个可能有数百万份文件的索引。我想对这些文件的一部分(大约25,000份文件)进行大约20'0000次搜索。这25,000个文档可以占用存储在Solr中的大约100 MB (由存储和索引文本字段组成)。

问题

随着索引文档数量的增加,查询的性能会下降很多。例如,在100,000个文档索引上运行20,000次搜索,达到25,000个文档,大约需要4分钟。在200000文档索引上运行相同的搜索大约需要20分钟。

那么,在搜索之前,有没有办法将这25,000个文档缓存在RAM中呢?

更新

一些真正有用的东西:

  • 减少返回的行数(几乎在所有情况下,我都必须迭代返回的结果,而且在几乎所有的情况下,匹配结果都不超过100个,但我将行设置为一个非常大的值。减少行数提高了大约2倍的性能。这似乎违反了直觉。如果只有79次匹配,并且我将返回的行计数设置为100,则它的性能要好于79次匹配的情况,并将行数设置为1000。在第一种情况下,Solr已经返回已找到的项计数并快速执行。为什么要有性能差异?)
  • 减少了多线程(我增加了用于查询的多线程,因为在开发框中有更多可用资源。在资源有限的生产箱上,它正在放慢速度。仅使用一两个线程就能使我的速度提高约2倍。)

一些没有真正帮助的事情:

  • 将字段查询拆分为(我已经在所有可能的地方使用字段查询,但我将它们组合在一个fq中,用于每个查询fq=name:a AND type:b )。使用fq=name:a&fq=type:b将它们分开缓存(参见Apache文档),可以提高性能。但在这件事上并没有太大的不同。
  • 更改缓存设置--在本例中是-- filterCache似乎最具潜力。然而,增加它或改变它的设置并没有产生很大的影响。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 07:32:26

为性能推荐的几点事情:

  • 在机箱上有足够的空闲RAM,这样索引文件就可以在OS缓存中
  • 尝试在SolrConfig中使用solr缓存设置
  • 在提交后玩自动武器
  • 尝试开发您的查询以限制结果集。较大的结果集,特别是如果使用分组和faceting会降低性能。现在,200,000个文档索引非常小,所以您应该没有任何问题,但是我想我应该在缩放时提到这一点。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- Try to use Filter query (FQ) whenever possible. They are much faster than doing field:val in q, plus they are cached. 

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31027493

复制
相关文章
【搜索引擎】提高 Solr 性能
在过去的 10 个月里,我很高兴与个性化和相关性团队合作。我们负责根据排名和机器学习向用户提供“个性化和相关的内容”。我们通过一组提供三个公共端点的微服务来做到这一点,即 Home Feed、Search 和 Related items API。我记得加入团队几个月后,下一个挑战是能够为更大的关键国家提供优质服务。目标是保持我们在较小国家/地区已经拥有的完美性能和稳定性。
架构师研究会
2022/06/08
7110
【搜索引擎】提高 Solr 性能
Solr与MySQL查询性能对比
      "q": "CollectTime:[2014-12-06T00:00:00.000Z TO 2014-12-10T21:31:55.000Z]",
凯哥Java
2019/07/01
1.4K0
【搜索引擎】Solr:提高批量索引的性能
几个月前,我致力于提高“完整”索引器的性能。我觉得这种改进足以分享这个故事。完整索引器是 Box 从头开始创建搜索索引的过程,从 hbase 表中读取我们所有的文档并将文档插入到 Solr 索引中。
架构师研究会
2022/05/30
6540
【搜索引擎】Solr:提高批量索引的性能
使用DbContextPool提高EfCore查询性能
  上个月公司上线了一个物联网数据科学项目,我主要负责前端接收设备Event,并提供模型参数下载(数据科学团队会优化参数)。WebApp部署在Azure,模型参数使用Azure SQL Server存储。
心莱科技雪雁
2020/01/03
2K0
【solr字段说明】Solr查询详解
在做solr查询的时候,solr提供了很多参数来扩展它自身的强大功能!以下是使用频率最高的一些参数! 
凯哥Java
2022/12/16
2.4K0
EFCore 使用DbContextPool提高EfCore查询性能
EFCore2.0 为DbContext引入新的注册方式:透明地注册了 DbContext实例池
跟着阿笨一起玩NET
2020/03/12
1.7K0
Apache Solr查询语法
表示:查询category=2002、en_US_city_i=110以及namespace=d的前六条记录,只返回productId和category字段
九州暮云
2019/08/21
1.2K0
Solr查询处理简介
所有与solr核心服务有关的交互,如查询处理,都是通过HTTP请求执行的。填写查询表单之后,创建一个HTTP Get请求并发送给Solr。
栋先生
2018/09/29
1.6K0
Solr查询处理简介
索引为什么能提高查询性能....
那女孩看着诧异且表情僵硬的我,满意而又意味深长的笑笑:原来你这个男程序员也不会,看来我还得靠自己研究了。
小林coding
2020/12/11
5200
索引为什么能提高查询性能....
提高文档检索效率:KMP算法在文档管理中的应用
KMP算法可以用于文档管理软件中的字符串匹配功能。在监控软件中,需要对用户的电脑活动进行监控,包括监控用户输入的文本内容。为了保护公司的机密信息,监控软件需要检测用户输入的文本中是否包含敏感信息,如公司机密信息、禁止使用的词汇等。
啵啵鳐
2023/09/08
1390
MongoDB数据库查询性能提高40倍
大家在使用 MongoDB 的时候有没有碰到过性能问题呢?下面这篇文章主要给大家分享了MongoDB数据库查询性能提高40倍的经历,需要的朋友可以参考借鉴,下面来一起看看吧。
用户3479834
2021/02/03
3.1K0
MongoDB数据库查询性能提高40倍
处理solr时遇到的问题
前面的博客说了,我在解决solr索引的问题,但是后面我遇到的问题一次比一次严重,上次还能访问solr和系统,上次博客中看到我的solr上面有报错,那是我new_core出现的问题,我作死的在linux中删除了new_core文件
余生大大
2022/11/02
6260
处理solr时遇到的问题
SpringBoot 系列教程 Solr 之文档删除
之前的搜索教程开了个头就没有继续了,现在重新捡回来,至少也把 CURD 的基本操作姿势补全了;本篇主要介绍如何删除数据
一灰灰blog
2020/02/13
4510
SpringBoot 系列教程 Solr 之文档删除
Lucene+Solr+ElasticSearch查询匹配优化
当我们在处理搜索业务时候,需求往往是灵活多变的,有时候我们需要精确匹配,有时候我们又需要全文检索,而有时候,我们又想匹配度高而且还能全文检索,这似乎是精确匹配和模糊匹配一个妥协的策略,没错这就是搜索引擎出现的目的,以往的数据库是没法解决这种问题的,数据库只能回答有,没有,存在,不存在,并不能在有和没有之间做一个完美的妥协,比如说能把最匹配最相关的结果放在topN,仅靠like模糊查询是解决不了这种问题的。 Apache Lucene这个强大的全文检索核心包,提供了搜索引擎的核心组件,通过相关性评分算法
我是攻城师
2018/05/14
1.3K0
CouchDB查询文档
在CouchDB中对文档的查询可以通过_find命令来实现,_find命令也需要使用POST方法请求,提交的数据是一个JSON对象。
kongxx
2020/02/18
1.5K0
转:如何通过堆排序算法提高文档管理系统的性能
在文档管理系统中,可以通过使用堆排序算法轻松提升性能,尤其是在处理大量文档的排序和查找时。堆排序就像魔法棒一样,能够迅速整理文档,让它们井然有序。堆排序是一种超级高效的排序算法,它的核心思想就是建立一个“最大堆”(或者“最小堆”),然后借助这个特殊的数据结构来排序。通过这种方式,你可以像整理扑克牌一样,轻松地排列文档,让它们按照你的要求排队。
啵啵鳐
2023/08/24
1490
HBASE+Solr实现详单查询
最近群里面讨论HBASE的使用场景,以及是会没落,这个还真是一句话说不清楚。本文讲其中一个场景:详单查询。 背景 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询。HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的HBase多条件查询方案进行测试和验证。 原理 基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过
大数据和云计算技术
2018/03/08
2K0
HBASE+Solr实现详单查询
mongoDB 文档查询
1、文档查询db.users.find()等价于db.users.find( {} ) 2、基于and运算符的多个组合条件可以省略and运算符的多个组合条件可以省略and,直接将条件组合即可 3、对于$and运算符内的条件,用[]括起来,相当于数组形式 4、对于数组查询,可以使用基于下标的方式精确配置特定的元素值 5、对于内嵌文档,可以使用”文档键.内嵌文档键”方式进行访问 6、对于数组内内嵌文档的方式,可以使用”数组名.下标.内嵌文档键”方式访问 7、对于哪些列名需要显示可以通过{ field1: <0|1>, … }来设定 8、本文参考:https://docs.mongodb.com/manual/tutorial/query-documents/
Leshami
2018/08/13
3.1K0
提高Java性能
Java 的许多细节和性能标志都可以影响应用的性能,只不过从来都没有一个叫 -XX:+RunReallyFast 的神奇标志。
宇宙之一粟
2021/01/13
6770
点击加载更多

相似问题

如何提高Solr "OR“查询性能

21

提高慢速Solr查询性能

11

提高Solr性能

24

多文档查询的Solr性能

30

如何提高Solr的性能?

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文