LINUX.ORG.RU

Full-text search


0

0

Требуется очень быстрый полнотекстовый поиск с разнообразными наворотами по очень большому количеству постоянно меняющихся данных. Target platform — Java. Lucene сильно втыкает. Заказчик согласен на разработку своего решения.

Кто чего хорошего может посоветовать почитать по теме?

Если что, в гугле и citeseerx разбанили.

А данные как хранятся? Если их в postgresql, например, положить, то там уже есть полнотекстовый поиск. Останется чуток подправить хранимые процедуры и всё.

GArik ★★★
()

> Кто чего хорошего может посоветовать почитать по теме?

Вам теорию? Information Retrieval или документация по конкретным продуктам?

satanic-mechanic
()
Ответ на: комментарий от GArik

> А данные как хранятся? Если их в postgresql, например, положить, то там уже есть полнотекстовый поиск. Останется чуток подправить хранимые процедуры и всё.

Как угодно. Есть даже такой вариант: CD/DVD с документами, индексами и программой.

Поэтому вариант с установкой БД отпадает. Предполагается кроссплатформенность, поэтому pure java (ну или scala, если придётся писать с нуля) предпочтительнее C+JNI.

pitekantrop ★★★
() автор топика
Ответ на: комментарий от satanic-mechanic

> Sphinx не очень хорош по поводу быстро меняющихся данных. Поэтому лучше lucene.

Заказчик говорит, что пробовал lucene-java лет 5 назад — было совсем грустно с этими самыми быстро меняющимися данными. Типа там global lock какой-то. Но тем не менее собираюсь посмотреть на текущее состояние вещей там, когда определимся с требованиями, т.е. хорошим набором тестов, эмулирующих систему заказчика.

pitekantrop ★★★
() автор топика
Ответ на: комментарий от satanic-mechanic

> Вам теорию? Information Retrieval или документация по конкретным продуктам?

С точки зрения практики интересует скорее developer, чем user guide таких систем. Что-то сходу ничего путного не нашёл.

Но теория тоже.

pitekantrop ★★★
() автор топика
Ответ на: комментарий от pitekantrop

> CD/DVD с документами, индексами и программой.

Здесь уже, конечно, об изменении данных речи не идёт. :)

pitekantrop ★★★
() автор топика
Ответ на: комментарий от pitekantrop

а выбора у вас нет :)
lucene vs sphinx vs xapian

xapian не юзали
с lucene были какие-то траблы точно, сча уже не вспомню
а вот со sphinx как-то сложилось(он же вроде самый быстрый из них, и поддерживает дельты)

yltsrc
()
Ответ на: комментарий от pitekantrop
Ответ на: комментарий от yltsrc

> и поддерживает дельты

Это кривохак для добавления данных в индекс (на самом деле поддержка отдельного индекса для последущих обновлений), но никак не поможет с изменением данных в индексе. Перестраивать индекс sphinx не умеет совсем. Вот и быстрый.

satanic-mechanic
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.