Автозаполнение на основе популярности - PullRequest
2 голосов
/ 16 мая 2009

Для общего предложения автозаполнения (лексикографически отсортированные ключи) можно использовать попытки или TST. Однако я хотел бы сделать автозаполнение, чтобы вернуть результаты, основанные на популярности результатов. Таким образом, поиск слова «Клинтон» покажет «Билл Клинтон», «Хиллари Клинтон» и «Челси Клинтон» в таком порядке. Я считаю, что это можно сделать с помощью подхода ngram в Lucene. Есть ли другие способы сделать это?

На аналогичном замечании, что такое серверная часть для возврата списка результатов для автозаполнения тегов в stackoverflow? Это на основе люцена?

1 Ответ

0 голосов
/ 16 мая 2009

Зависит от

  1. насколько велико ваше пространство поиска
  2. Если вы хотите исправить ошибку
  3. Постоянство вашего пространства поиска
  4. Требуется индивидуальная настройка
  5. Многоязычная

Для ситуаций в памяти вы можете использовать Trie, который хранит счетчик обращений на листе.

Еще одна важная проблема, которую необходимо решить, это то, как вы собираетесь предсказать неполные несколько слов. например Авраам => Линкольн или Томас (отец пользователя). N-граммы, из какого корпуса будет лучше, Google или книга по истории VI класса?

Это зависит от контекста. Счетчик попаданий может быть попаданием в текущем приложении или глобальным. например Вы столкнетесь с проблемой «холодной загрузки», когда новое слово вошло в моду, но оно еще не получило значительных ударов, чтобы всплыть на вершину списка

Мысли, чтобы начать обсуждение ... Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...