由于某些原因,在显示rake thinking_sphinx:index(或configure)之后没有添加到数据库的用户。我尝试重新启动服务器,停止思考sphinx然后重新启动和配置。仍然遇到同样的问题。
当我运行rails c并执行User.search时,我只获得在运行索引/配置之前创建的数据库的结果。
我刚刚刷新数据库,通过运行将该项目推向生产阶段。
rake db:reset
然后我重新启动了服务器,我遇到了这个问题。当我运行configure时,我在searchd.log文件中得到了这个:
[Tue Jan 15 18:56:02.491 2013] [ 1742] rotating indices (seamless=1)
[Tue Jan 15 18:56:02.499 2013] [ 1742] rotating index 'user_core': success
[Tue Jan 15 18:56:02.506 2013] [ 1742] rotating index 'synonym_delta': success
[Tue Jan 15 18:56:02.512 2013] [ 1742] rotating index 'synonym_core': success
[Tue Jan 15 18:56:02.519 2013] [ 1742] rotating index 'bar_delta': success
[Tue Jan 15 18:56:02.525 2013] [ 1742] rotating index 'bar_core': success
[Tue Jan 15 18:56:02.525 2013] [ 1742] rotating finished
这在searchd.query.log中:
[Tue Jan 15 18:56:06.556 2013] 0.000 sec [ext/2/rel 8 (0,20)] [user_core]
[Tue Jan 15 18:56:06.566 2013] 0.001 sec [ext/2/rel 8 (0,20)] [user_core]
[Tue Jan 15 18:56:06.575 2013] 0.000 sec [ext/2/rel 8 (0,20)] [user_core]
在刷新数据库并重新启动服务器之前,我从未遇到过搜索没有返回更新结果的问题。在此期间,所有代码均未发生变化。任何关于可能是什么问题的见解将不胜感激。此外,如果您需要更多细节,请告诉我,我可以发布更多信息。我不愿意发帖太多,甚至压倒人们甚至阅读。所以,让我知道有必要帮助更好地理解我的问题。
**甚至更奇怪的是我没有遇到任何其他模型,如场地这个问题。在将数据保存到数据库后,通过搜索更新并显示...
----------------------------更新------------------ -----------------
所以我运行了rails控制台,如果我运行
User.search
我得到10个结果,以运行ts:rebuild之前添加的最后一行结束。但是当我跑步时:
User.all
我得到了11个结果,其中包括数据库中的所有行。无论上次执行ts:rebuild / index / configure都运行了......
由于
艾伦
答案 0 :(得分:1)
也许我不明白。当您通过rake ts:build构建索引,然后您有新用户注册您的Web应用程序或其他任何内容时,它们不应显示在sphinx索引文件中。他们出现的唯一方法就是不用你做rake ts:重建将是你运行delta指数,思考sphinx支持,这将创建delta索引文件,然后将其合并到主索引文件中你做了一个rake ts:rebuild。