Полнотекстовый персонализированный поиск продукта - PullRequest
0 голосов
/ 08 августа 2011

Какая технология полнотекстового поиска существует для поддержки полнотекстового персонализированного поиска?

Например, поиск контактов в выбранном вами провайдере веб-почты: он полнотекстовый, но ищет только ваши личные контакты, а не всю совокупность контактов.

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

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Я бы порекомендовал создать индекс lucene для всех контактов со специальными полями, такими как contact_list_id, creation_freuency. Во время поиска для каждого пользователя добавьте свои конкретные параметры, например, текст: «John smith» И contact_list_id: «$ current_user_id», упорядочив по usege_freuency. В этом случае вы оптимизируете индексирование всех данных, сжатых в одном месте, и это также персонализируется полем, таким как use_freuency или более надежным рангом. Думайте об индексе как о БД с высокоэффективным поиском по тексту.

0 голосов
/ 09 августа 2011

В случае электронной почты все просто: используйте любой популярный инструментарий поиска и создайте индекс для каждого пользователя. Это просто, потому что индексы не должны пересекаться, иначе вы нарушите конфиденциальность пользователей. Кроме того, перекрытие может искажать такие цифры, как IDF. (Может возникнуть искушение индексировать электронные письма, отправленные нескольким пользователям, только один раз, но последствия для безопасности и конфиденциальности этого не стоят. Диск дешев.)

Если обычная коллекция документов должна быть проиндексирована для персонализированного поиска, боюсь, вы сами.

...