Отладка поисковых запросов Solr на Sunspot - PullRequest
5 голосов
/ 15 сентября 2010

Как можно отлаживать поисковые запросы Solr при использовании гема Sunspot на Rails? У меня есть несколько запросов, которые возвращают странно высокие оценки, и я пытаюсь понять, почему это происходит.

Похоже, что отладочная информация не подвергается воздействию Sunspot, поэтому я думаю, что мне нужно отлаживать напрямую через Solr. К счастью, Solr имеет удобный веб-интерфейс для поиска, но по какой-то причине любые запросы, которые я ввожу, возвращают с 0 результатами.

Например, когда я ищу слово «тест» в моем веб-приложении, оно возвращает множество совпадений. Когда я ищу то же самое в интерфейсе администратора Solr, это то, что я получаю:

<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">172</int>
    <lst name="params">
      <str name="explainOther"/>
      <str name="fl">*,score</str>
      <str name="indent">on</str>
      <str name="start">0</str>
      <str name="q">test</str>
      <str name="hl.fl"/>
      <str name="qt">standard</str>
      <str name="wt">standard</str>
      <str name="fq"/>
      <str name="version">2.2</str>
      <str name="rows">10</str>
    </lst>
  </lst>
  <result name="response" numFound="0" start="0" maxScore="0.0"/>
</response> 

Ответы [ 5 ]

3 голосов
/ 09 февраля 2012

Если установка log_level на FINEST не работает, вам следует добавить эту строку в инициализатор:

require "sunspot/rails/solr_logging"

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

2 голосов
/ 15 сентября 2010

Когда вы выполняете поиск в своем веб-приложении, вы ищете конкретные поля или просто поле по умолчанию?Когда вы вводите что-то в консоль администратора для отладки поиска, легко забыть сообщить ему, в каких полях вы хотите искать, и если вы этого не скажете, то будет выполняться поиск только по умолчанию.*https://stackoverflow.com/a/8082936/474597 имеет лучшее объяснение, в которое необходимо включить имя столбца поиска, например body_text:your_key_words

1 голос
/ 29 июня 2011

Установите уровень журнала FINEST, и вы увидите точный запрос в файле журнала.

1 голос
/ 15 сентября 2010

Для отладки запросов, отправляемых в Solr, я часто использую анализатор http-запросов, например tcpmon или fiddler .

1 голос
/ 15 сентября 2010

Попробуйте прочитать Отладка проблем релевантности приложения поиска , в которых рассматриваются объяснения и инструмент анализа Solr.

...