Rails Sunspot / Solr索引不同步

时间:2018-11-16 00:45:24

标签: ruby-on-rails solr sunspot sunspot-rails

我正在使用sunspot-rails gem进行搜索和过滤,但是遇到Solr查询无法返回正确结果的问题。例如,假设我想使用state == Processing检索模型的所有记录,然后执行以下Sunspot搜索:

MyModel.search do
    # pagination and ordering stuff
    ...
    with('state', 'Processing')
    ...
end

大多数情况下,这将返回正确的结果。有时(到目前为止,仅在生产环境中,我无法在本地复制问题),该查询将返回带有state == In Review的记录。如果我执行常规的ActiveRecord MyModel.where(state: 'Processing'),我总是会得到正确的结果。

我认为这可能与我的solrconfig.yml文件有关,但是更改这些参数似乎并没有改变任何内容。该文件的相关部分:

<autoCommit>
   <maxTime>15000</maxTime>
   <maxDocs>1000</maxDocs>
   <openSearcher>true</openSearcher>
 </autoCommit>

<autoSoftCommit>
   <maxTime>5000</maxTime>
 </autoSoftCommit>

有人对为什么我的数据库中的更改未反映在Solr索引中或者我如何调试/记录正在发生的事情有任何指示吗?这是在一个内部小型应用程序上,可能有100个用户左右。我不必每天重新为Solr重新编制索引以使结果保持最新。

谢谢。

0 个答案:

没有答案