У меня есть индекс около 500 000 документов, и около 10 из этих документов содержат заголовок «на луне» (поле «название») и тег «НАСА» (поле «тег»). Когда я выполняю поиск «на луне nasa», эти документы выходят довольно далеко вниз по списку результатов поиска. Это связано с тем, что поле заголовка не увеличивается, но поле тега немного подкрепляется. Таким образом, другие документы с тегом «nasa» имеют приоритет над документами, которые почти соответствуют всему запросу через поле заголовка.Solr: лучший способ совместить «на луне наса» с «на луну» через запрос фразы?
Однако, хотя Solr не может знать, запрос «на луне nasa» почти совпадает с названием документа «на луне». Если я удалю часть «nasa» из запроса, документы появятся вверху.
Есть ли способ рассказать Solr, чтобы сделать какой-то примерный запрос фразы? Будет ли иметь смысл реализовать какое-то поиск гр-иш через параметр BQ, где я бы расколоть поисковую фразу в словосочетаниях, такие как:
// PHP-ish pseudocode
$bq[]=title:"at the"^2
$bq[]=title:"at the moon"^3
$bq[]=title:"at the moon nasa"^4
$bq[]=title:"the moon"^2
$bq[]=title:"the moon nasa"^3
$bq[]=title:"moon nasa"^4
ли это смысл вообще, и он будет делать смысл увеличить документы в соответствии с тем, насколько значительная часть запроса совпадает?
Доступен ли eDisMax из обычной сборки? Невозможно установить новую версию сейчас. – sbrattla
Да, ediamax включен defualt - см. Http://wiki.apache.org/solr/ExtendedDisMax для получения более подробной информации –
@Alexandre, спасибо за ссылку на vifun, которая выглядит действительно полезной! –