Простой полнотекстовый поисковый сервер
Я искал решения для поиска, такие как Sphinx, Solr и Elasticsearch, но они слишком сложны для того, что мне нужно.
Я в основном ищу серверное программное обеспечение, лучше всего распространяемое, которое позволяет мне просто добавлять куски текста, связанные с одним небольшим идентификатором каждый. Затем быстро найдите ключевые слова и верните идентификаторы, заданные для фрагментов, которые дали совпадение с одним или несколькими ключевыми словами.
Существует ли что-то подобное?
3 ответа
Вы можете попробовать возможности полнотекстового поиска 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
Postgres обладает выдающейся встроенной поддержкой полнотекстового поиска.
Я использую Elasticsearch, я мигрировал со сфинкса, и да, кривая обучения выше, но она того стоит. У нее действительно гибкий способ запроса с JSON.
К сожалению, вы не сможете получить тот же уровень производительности при полнотекстовом поиске MySQL, который вы получите от специализированных поисковых решений, но возникает вопрос - вас это волнует?
sphinxsearch обеспечит вам более быструю индексацию, более сложные запросы, инкрементные обновления, и он будет работать "из коробки" с MySQL- но это по-прежнему отдельная служба, которую необходимо запускать и обслуживать. mysql будет немного медленнее, а индексирование будет замедляться для больших коллекций, но оно встроено и не требует никаких дополнительных сервисов для работы в фоновом режиме. Итак, вопрос в том, волнует ли вас вопрос, занимает ли 1 секунда или 10 секунд?
Вот некоторые цифры из блога Sphinx, а также некоторые тесты из поисковой части Википедии.