Назад | Перейти на главную страницу

Простой сервер полнотекстового поиска

Я искал решения для поиска, такие как Sphinx, Solr и Elasticsearch, но все они слишком сложны для того, что мне нужно.

Я в основном ищу серверное программное обеспечение, наиболее распространенное, которое позволяет мне просто вставлять фрагменты текста, связанные с одним небольшим идентификатором каждый. Затем быстро найдите ключевые слова и верните идентификаторы, данные для фрагментов, которые дали совпадение с одним или несколькими ключевыми словами.

Есть ли что-то подобное?

Вы можете попробовать возможности полнотекстового поиска Mysql или MongoDB.

http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo

К сожалению, вы просто не сможете получить такой же уровень производительности с помощью полнотекстового поиска MySQL, как от специализированных поисковых решений, но возникает вопрос - вас это волнует?

сфинкс поиск даст вам более быструю индексацию, более сложные запросы, инкрементные обновления, и он будет работать с MySQL из коробки, но это по-прежнему отдельная служба, которую необходимо запускать и поддерживать. mysql будет немного медленнее, и индексирование будет медленнее с большими коллекциями, но оно встроено и не требует дополнительных служб для работы в фоновом режиме. Итак, вопрос в том, вас вообще волнует, занимает ли запрос 1 или 10 секунд?

Вот некоторые цифры из блога Sphinx, а также некоторые тесты из поисковой системы Википедии.

Postgres имеет выдающуюся готовую поддержку полнотекстового поиска.

Я использую Elasticsearch, я перешел со sphinx, и да, кривая обучения выше, но это того стоит, поскольку у него действительно гибкий способ запроса с помощью JSON.