Индексаторы данных следующего поколения

#lucene #sphinx #new-operator #indexer

#lucene #сфинкс #новый оператор #индексатор

Вопрос:

Существуют ли какие-либо новые технологии для индексации и полнотекстового поиска данных по атрибутам? Лучше, чем sphinx, lucene и т.д.? Может быть, какие-то новые продукты в ранних бета-версиях?

Лучше — я имею в виду быстрее с ОГРОМНЫМ объемом данных более 100 МБ записей — меньшее использование памяти, более быстрый поиск и т.д., Возможно, с некоторыми встроенными функциями масштабируемости…

Заранее спасибо, ребята!

Ответ №1:

Не могли бы вы предоставить более подробную информацию о том, чем вас разочаровал Sphinx?

На самом деле Sphinx может легко обрабатывать даже 1B сбор и имеет встроенные функции масштабируемости.

Комментарии:

1. Несколько проблем: 1) процесс поиска по индексу 100M использует много памяти — более 1 ГБ. При наличии нескольких одновременных подключений это становится проблемой. 2) Поиск атрибутов слишком медленный — требуется полное сканирование. Итак, было бы неплохо услышать о любых новых технологиях для решения этих проблем.

2. Вы могли бы значительно снизить потребление памяти, установив более высокие значения для этих параметров prefix infix_len, min_word_len, добавив стоп-слова, понизив параметр max_matches, используя workers=fork, используя параметр ondisk_dict_default=1.

3. Поиск по атрибутам не является необработанным методом полного сканирования, но может пропускать целые блоки атрибутов с учетом минимальных максимальных значений в этих блоках. Вот почему не должно быть сбоев при поиске по атрибутам. В любом случае вы могли бы разделить свой индекс по частям и выполнить поиск документа, соответствующего условию атрибута, с помощью опции распределенный индекс dist_threads