Я использую Apache Solr для ведения поисковых запросов на некоторых внутренних документах моего компьютера (хранящихся в базе данных). Я получаю действительно причудливые результаты для поисковых запросов, упорядоченных по нисходящей релевантности. Например, у меня есть 5 слов в моем поисковом запросе. Наиболее актуальным из 4 результатов является документ, содержащий только два из этих слов несколько раз. Единственный документ, содержащий все слова, мертв последним. Если я правильно изменяю слова, то я вижу лучший порядок ранжирования с правильной статьей как наиболее актуальной. Как я могу это исправить? На мой взгляд, документ, содержащий все 5 слов, должен оцениваться выше, чем документ, в котором есть только два из этих слов (чаще указано).Причудливый рейтинг релевантности поиска Apache Solr
ответ
Что Solr сделал, это правильный алгоритм, называемый TF-IDF. Итак, в вашем случае заказ может быть объяснен этой формулой.
Одним из возможных решений является игнорирование оценки TF-IDF и подсчет одного удара в документе как один, а просто документ с 5 матчами получит оценку 5, 4 совпадения, получится 4 и т. Д. Запрос постоянной оценки может сделать трюк:
Постоянные запросы оценки создаются с^=, который устанавливает всю статью на указанный счет для любых документов совпадающих, что пункт. Это желательно, если вы заботитесь только о совпадениях для конкретного предложения и не нуждаетесь в других релевантных факторах , таких как частота термина (количество раз, которое термин появляется в поле ) или инверсная частота документа (мера по всему индекс для того, насколько редки члены в поле).
Возможный пример запроса:
text:Julian^=1 text:Cribb^=1 text:EPA^=1 text:peak^=1 text:oil^=1
Другое решение, которое потребует некоторых сценариев будет что-то вроде этого, на первый вам нужен запрос, где вы будете задавать все содержит ровно 5 элементов, например +Julian +Cribb +EPA +peak +oil
, то вы сделаете то же самое для комбинации из 4 элементов из 5, если я не ошибаюсь, потребуются дополнительные 5 запросов и обратно, пока вы не проверите все до 1 обязательной оговорки. Тогда у вас будут полные результаты, и вам нужно будет только normalise или просто соединить их, если вы решили, что 5-совместимые документы всегда лучше, чем 4-х совпадающие документы. Минусы этого решения - много запросов, нужно запускать их программно, какой-то скрипт поможет, нормализация не очевидна. Плюсы - вы сохраните как TF-IDF, так и идею согласованных условий.
Спасибо, но я ищу что-то, что учитывало бы как частоту термина, так и количество заданных условий запроса в результатах. Я просто хотел бы предоставить значительно больший вес документам, которые содержат больше условий поиска, чем документам, которые содержат меньше терминов (повторяется много раз). Однако я попробую ваш метод. Благодарю. – ron136
это будет почти невозможно, по крайней мере, с интенсивным дополнительным программированием. – Mysterion
это может быть неверно ... если он использует Solr 6 или более поздней версии, метод оценки по умолчанию - BM25, а не TD-IDF – Persimmonium
- 1. Digg-рейтинг результатов поиска с Lucene/Solr?
- 2. Можно ли изменить рейтинг релевантности Solr, основанный на длине содержимого?
- 3. Solr релевантности Поиск подталкивание
- 4. Ошибка поиска Apache solr
- 5. Solr Сортировка по релевантности
- 6. Сорт SOLR по релевантности
- 7. Алгоритмы поиска/релевантности поиска
- 8. Apache Solr проблема индекса поиска
- 9. Результаты поиска по релевантности с использованием Solr search
- 10. Проблема релевантности поиска сфинксов
- 11. В отношении релевантности запросов для solr?
- 12. Как улучшить ранжирование поиска в Apache Solr
- 13. Apache SOLR - Параметры поиска и совершает
- 14. Как выглядят результаты поиска Apache Solr?
- 15. Как выделить текст поиска в Apache Solr?
- 16. Выполнение частичного поиска слов в Apache Solr
- 17. Модуль поиска Drupal 7 Apache solr
- 18. синоним поиска с использованием apache solr
- 19. Apache solr результат поиска результат Drupal 7
- 20. контроль релевантности поиска в MySQL
- 21. Проектирование поиска на основе релевантности?
- 22. Youtube Data API v3 Результаты поиска Рейтинг
- 23. рейтинг в Apache Pig
- 24. Результаты оценки solr по релевантности И категории
- 25. Solr: Сортировать результаты по релевантности/расстоянию
- 26. Apache solr vs Apache Lucy
- 27. Apache Solr search autocomplete
- 28. Apache solr + mysql connection
- 29. Настройка apache solr online
- 30. Solr улучшает скорость поиска
Вы можете отправить запрос, который вы делаете, и документы, которые поступают сверху и снизу. –
. Мой поисковый запрос: «Julian Cribb EPA peak oil». Самый важный документ - это просто тот, который упоминает Джулиана 2 раза и Cribb 5 раз. Термин «Джулиан Крибб» появляется в этом документе два раза. Второй содержит «Cribb» дважды, «Julian» однажды и «пиковое масло» один раз. Третий содержит «Джулиан» один раз и «Крибб» один раз (но не вместе из-за того, что Cribb не был выделен). Последний содержит EPA 3 раза, «пиковое масло» один раз и «Julian» один раз и «Cribb» один раз. Все 4 названия содержат «Cribb». – ron136
Пожалуйста, добавьте & request & wt = xml & debug = true в свой запрос и укажите выходные данные источника просмотра в http://pastebin.com/index.php –