gpt4 book ai didi

solr - 在 Solr 中处理大量 id

转载 作者:行者123 更新时间:2023-12-04 14:29:52 25 4
gpt4 key购买 nike

我需要在 Solr 中执行在线搜索,即用户需要查找具有特定条件的在线用户列表。

我是如何处理的:我们将用户的 ID 存储在一个表中,然后在 Solr 请求中发送所有在线用户 ID,例如

&fq=-id:(id1 id2 id3 ............id5000)

这种方法的问题在于,当 id 变大时,Solr 需要花费太多时间来解决,我们需要通过网络传输大请求。

一种解决方案是在 Solr 中使用 join,但在线数据定期更改,我无法每次都对数据进行索引(比如 5-10 分钟,至少应该是一个小时)。

其他解决方案我认为根据 URL 中的某些参数从 Solr 内部触发此查询。我对 Solr 内部结构不太了解,所以不知道如何进行。

最佳答案

使用 Solr4 的软提交,提交已经变得足够便宜,以至于将“在线”标志直接存储在用户记录中可能是可行的,并且只需在您的查询中使用 &fq=online:true 即可。这减少了通过网络发送 5000 个 ID 并解析它们所涉及的开销,并让 Solr 稍微优化查询。每当有人登录或退出时,设置他们的状态并在更新中设置 commitWithin。无论如何,这值得一试。

关于solr - 在 Solr 中处理大量 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16315398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com