Мне интересно узнать, почему вы думаете, что xapian может не подходить для этого?
Некоторые вещи, которые нужно проверить:
Возможно, вам придется потратить некоторое время на настройку поисков, чтобы они начинали автозаполнение только после букв n
. Частичный поиск для a*
(в основном то, что будет делать FLAG_PARTIAL
) приведет к удару по вашей базе данных.
Кроме того, вы захотите вернуть только несколько результатов и подумать о том, как будут работать стволовые и т. Д.
Я не могу дать вам точный способ заставить его работать, но это возможно при некоторой настройке. Если вы знаете, как работает xapian, вы сможете настроить его эффективно. Например, вы можете рассмотреть возможность создания специального индекса только для автозаполнения, когда у вас больше стоп-слов, чем обычно, меньше значений и терминов и т. Д.