类似于这些:狮身人面像非索引,thinking-sphinx在控制台中返回空结果,类似于这里
问题的描述是:我无法从Sphinx获得任何参数的结果。我有一个hdd脚手架,当我尝试在rails控制台上使用sphinx进行搜索时,我得到了[],甚至当我知道数据库中有项目时也是如此。如果我做了Hdd.search(),我应该得到与Hdd.all相同的值,但是我得到了[]。我看到了一篇关于做Hdd.search().to_a的文章,但这对我来说没有什么区别,我得到的是零。对其他人来说,他们有时在网页上得到的结果与他们的rails控制台不同,但对我来说并非如此。我的网站也有搜索功能,它也产生[]。
有趣的是,从上次工作到现在失败,我所做的只是添加了一些小的修改--即改变模型和视图,进行一些迁移,并安装一个新的插件--载波。现在,似乎在所有这些之间,搜索是不起作用的。我重新开始,重建,驯鹿思考斯芬克斯,但都没有用。我也重新启动了服务器,甚至在webrick (而不是apache )下运行它,但问题基本上没有改变。
产出:
rake ts:重建
using config file '/home/adam/RailsForensicsHardDriveApp/ForensicsHDD/config/development.sphinx.conf'...
indexing index 'hdd_core'...
collected 6 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 6 docs, 292 bytes
total 0.006 sec, 47510 bytes/sec, 976.24 docs/sec
indexing index 'hdd_delta'...
collected 0 docs, 0.0 MB
total 0 docs, 0 bytes
total 0.003 sec, 0 bytes/sec, 0.00 docs/sec
skipping non-plain index 'hdd'...
total 4 reads, 0.000 sec, 3.8 kb/call avg, 0.0 msec/call avg
total 14 writes, 0.000 sec, 2.5 kb/call avg, 0.0 msec/call avg
Started successfully (pid 6700).我注意到上面^中有一行,上面写着“跳过非普通索引‘hdd’.”
我不知道那是什么意思,但听起来好像是在做不该做的事。
我尝试过使用ruby debug来调试函数,但这还没有产生任何结果。我希望别人能从我发的帖子中得到一些能帮我的建议。
我运行过rake rails:更新,我已经卸载并重新安装了thinking-sphinx
在这个要旨中,我包含了相关的文件。您可以看到,在模型中,我尝试通过扩展大小来消除级联空间太小的问题,但这也没有什么区别。
我读过三角洲文件和FAQ关于设置狮身人面像与乘客的文章(是的,我正在用乘客运行rails ),我不觉得这两个问题都是问题,因为在斯芬克斯神秘地(对我来说)停止正常工作之前,我已经运行得很好了。
我真的不知道它为什么不起作用。我已经把整个项目都放在git下了,我试着回到早期版本,当它正常工作时,重建索引并执行搜索,但这似乎不起作用。我尝试过删除数据库,重新创建数据库,重新迁移,然后重建斯芬克斯,但这也没有效果。
发布于 2012-07-13 01:04:04
我发现,当我做sudo -获得清除斯芬克斯搜索,并因此重新安装它,它在某种程度上阻止了服务器盲目地继续通过一个错误。如果您查看我发布的模型,您会发现我在开发类型中使用了一个特殊的字段,我是通过迁移迁移进入的。我认为这阻碍了它的工作,因为在我重新安装了thinking-sphinx (作为一个宝石和一个apt包)之后,我遇到了一些非常奇怪的错误。重新安装后,在删除数据库并编辑迁移(使其现在为hd_type而不是类型)之后,我成功地重新索引了hdd并填充了搜索结果。我知道这并不准确,因为在我写任何我看到的最终错误之前,我已经解决了这个问题,这些错误对于准确地理解它为什么会以这样的方式出现故障是相关的。
请参阅我的答案这里,它链接到本文,以防它提供与这个答案不同的上下文,而我认为没有。
发布于 2012-07-13 06:51:16
跳过非普通索引'hdd‘是可以的-这是分布式索引,不能被索引。如果您查看索引器输出
collected 6 docs, 0.0 MB这意味着索引中只有6个文档。如果您没有从Sphinx获得任何错误,那么可能就是您没有任何与搜索相匹配的文档。
https://stackoverflow.com/questions/11462659
复制相似问题