Самый быстрый полнотекстовый поиск сегодня? - PullRequest
6 голосов
/ 23 февраля 2011

спойлер:
Это просто еще одна Lucene против Sphinx против чего-либо,
Я видел, что всем остальным потокам было почти два года, поэтому решил начать заново ..

Вот требование:

размер данных: не более 10 ГБ.
строк: почти миллиарды
индексирование должно быть быстрым
поиск должен быть менее 0 мс [хорошо, шутка ... смех ... но продолжайтеэто настолько низко, насколько это возможно]

В современном мире, что / что / как мне сделать?

редактировать: я сделал некоторое время на lucene, и для индексации данных 1.8gb, этозаняло 5 минут.
поиск довольно быстрый, если я не сделаю a *.a * занимает 400 ~ 500 мс.
Больше всего меня беспокоит индексирование, которое занимает много времени и много ресурсов !!

Ответы [ 3 ]

2 голосов
/ 23 февраля 2011

У меня нет другого опыта, кроме как с Lucene - это практически стандартное решение для индексирования, так что не думайте, что вы можете ошибиться.

10 ГБ - это не много данных.Вы сможете быстро переиндексировать его или сохранить на SSD для дополнительной скорости.И, конечно же, сохраняйте весь индекс в оперативной памяти (которую поддерживает Lucene) для супер-быстрого поиска.

0 голосов
/ 28 февраля 2011

Больше всего меня беспокоит индексирование, которое занимает много времени, и много ресурсы !!

Взгляните на Lusql , мы использовали его один раз, FWIW 100 ГБ данных из mysql на приличной машине для индексации занял чуть больше часа, на файловой системе (NTFS)

Теперь, если вы добавите SSD или любую сверхскоростную технологию дисков, вы можете значительно ее снизить

0 голосов
/ 23 февраля 2011

Ознакомьтесь с вики Lucene для получения советов по улучшению скорости индексации Lucene .Это довольно лаконично.В общем, Lucene довольно быстрый (он используется для поиска в реальном времени). Подсказки пригодятся, если вы упустили что-то «очевидное».

...