在Sunspot上调试Solr搜索查询

在Rails上使用Sunspot gem时,如何调试Solr搜索查询? 我有一些问题正在回归奇怪的高分,我正试图找到为什么会发生这种情况。

似乎没有任何调试信息暴露给Sunspot,所以我认为我需要直接通过Solr进行调试。 幸运的是,Solr有一个方便的Web界面可供搜索,但出于某种原因,我输入的任何查询返回0结果。

例如,当我在我的网络应用程序上搜索单词“test”时,它会返回大量的点击。 当我在Solr管理界面上搜索相同的东西时,这就是我得到的:

  0 172   *,score on 0 test  standard standard  2.2 10     

当您从Web应用程序中搜索时,您是搜索特定字段还是仅搜索默认字段? 当您在管理控制台中键入内容以调试搜索时,很容易忘记告诉它您要搜索哪个字段,如果您不告诉它,则只搜索默认字段。

https://stackoverflow.com/a/8082936/474597有一个更好的解释,你需要在其中包含搜索列名称,如body_text:your_key_words

如果将log_level设置为FINEST不起作用,则应将此行添加到初始值设定项:

 require "sunspot/rails/solr_logging" 

来源: http : //outoftime.github.com/2010/03/03/sunspot-1-0.html

尝试阅读调试搜索应用程序相关性问题 ,讨论解释和Solr分析工具。

为了调试发送给Solr的请求,我经常使用像tcpmon或fiddler这样的http请求分析器。

将日志级别设置为FINEST,您将在日志文件中看到确切的查询。