Для чего соответствовал Solr?

#solr #sunspot

#solr #sunspot

Вопрос:

Можно ли каким-то образом выяснить, с чем совпадает Solr?

Например, так.

 class Movie < ActiveRecord::Base
  searchable do
    text :title
    text :actors do
      actors.map(amp;:name)
    end
  end
end
  

При поиске Bruce списка Bruce Willis и Bruce Almighty должно быть возможно извлечь из Solr (Sunspot), если на самом деле Bruce Willis и Bruce Almighty где строки Solr совпадают.

Возможно ли это?

Ответ №1:

Эта информация доступна в debug блоке Solr при предоставлении debugQuery=on параметра. Обычно, когда я отлаживаю Sunspot, я проверяю журналы на наличие URL-адреса, который он запрашивает, и запускаю этот запрос непосредственно к Solr debugQuery=on .

Вывод debugQuery может быть немного сложным. Вы можете обратиться к сообщению в блоге об отладке проблем с релевантностью приложений для поиска, чтобы немного рассказать о том, что вы там видите.

Комментарии:

1. Я не могу заставить его работать так, как я хочу. Я искал Bruce Willis , как и в приведенном выше примере. Вот результат. Я не могу найти там ничего, что указывало бы на то, что исходный источник исходит от человека (актера) Bruce Willis . Эта строка, например Person.find_by_name("Bruce Willis").id , возвращает 694 , 694 в выводе отладки нет идентификатора. Я делаю что-то не так?

2. Вы пробовали переиндексировать? У вас могут быть устаревшие данные в вашем индексе.

3. Я делаю переиндексацию aws. осталось 10 часов 🙂 Я вернусь с результатом.

4. Это то же самое после переиндексации моей базы данных.

5. На самом деле, если вы углубитесь в вывод отладки, вы увидите, что термины bruce и willi сопоставляются в Movie записях, в их actor_names_text полях. Похоже, все так, как и ожидалось.