сокращение аналогичных лучших результатов в выводе результатов solr - PullRequest
2 голосов
/ 26 февраля 2011

У меня есть поиск в solr, который возвращает около 1500 документов.Эти документы в основном продукты.Например, у меня в наборе данных куча женской обуви.В моем наборе данных представлен широкий ассортимент обуви для женщин, но он также дает очень похожие результаты, например, женские кроссовки Nike 11-го размера, женские кроссовки Nike 10-го размера и т. Д.вызывает появление определенного набора этих результатов, которые очень похожи друг на друга. Например, все цвета одной конкретной модели обуви могут достигать вершины.Это, безусловно, разные продукты, но я бы предпочел получить более широкий спектр результатов, чем просто каждый цвет кроссовок Nike.

У кого-нибудь есть предложения?Обратите внимание, я не хочу исключать все индивидуально окрашенные продукты.Когда кто-то ищет синие женские кроссовки, я хочу, чтобы они получили синюю модель как лучший результат.Я использую запрос dismax в качестве основного запроса.То, что я хотел бы сделать, это в основном повысить некоторый фактор «уникальности имени по сравнению с другими результатами».

1 Ответ

2 голосов
/ 26 февраля 2011

Вы можете свернуть поля типа color или около того:

http://wiki.apache.org/solr/FieldCollapsing

, или вы можете использовать обнаружение почти дубликатов при индексации:

http://wiki.apache.org/solr/Deduplication

http://karussell.wordpress.com/2010/12/23/detect-stolen-and-duplicate-tweets-with-solr/

последний алгоритм реализован в джетвике для твитов, поэтому он должен работать для заголовков, но не достаточно производительно для больших документов (так что только обнаружение плагиата для «коротких» строк)для длинного текста вам понадобится локально-чувствительное хеширование:

http://en.wikipedia.org/wiki/Locality_sensitive_hashing

...