xapian автозаполнение

Кто-нибудь когда-нибудь использовал Xapian для реализации функции автозаполнения/автоматического предложения? т. е. предоставление возможного набора предложений по мере того, как пользователь набирает текст, также известный как Auto-Suggest от Google.

У меня есть около 2 миллионов фраз, для которых я рассматриваю возможность использования Xapian в качестве поисковой системы. Насколько я понимаю, этот фреймворк не был создан для такой функции. Поэтому я хотел бы кое-что узнать, прежде чем углубляться в это...

  1. Если кто-то попробовал это, то с какими проблемами он столкнулся?
  2. Это правильная структура для создания чего-то подобного?
  3. Если я использую совершенно неправильный подход или неправильную структуру, предложите альтернативы.

person Srikar Appalaraju    schedule 30.08.2010    source источник


Ответы (1)


Мне интересно узнать, почему вы думаете, что xapian не подходит для этого?

Некоторые вещи, чтобы проверить:

Возможно, вам придется потратить некоторое время на настройку поисковых запросов, чтобы они начинали автозаполнение только после n букв. Выполнение частичного поиска a* (в основном того, что будет делать FLAG_PARTIAL) приведет к перегрузке вашей базы данных.

Кроме того, вам нужно будет вернуть только несколько результатов, и вы захотите подумать о том, как будет работать стемпинг и т.д.

Я не могу дать вам точный способ заставить его работать, но это возможно с некоторой настройкой. Если вы знаете, как работает xapian, вы сможете эффективно его настроить. Например, вы можете подумать о создании специального индекса только для автозаполнения, где у вас будет больше стоп-слов, чем обычно, меньше значений и терминов и т. д.

person Sym    schedule 07.02.2012