«пробел как И» текстовый поиск с помощью couchbase

#couchbase

#couchbase

Вопрос:

С помощью couchbase я хотел бы восстанавливать документы, находя слова в их названии. Пользователь введет строку, пробелы будут рассматриваться как логические и :

Допустим, у меня есть эти документы :

 {title : "My blue car is worderful", ...}
{title : "the sky is blue", ... }
{title : "mais ou est donc or ni car", ...}
{title : "president's car is blue", ...}
 

Если пользователь введет «car blue» в веб-интерфейс, я хотел бы найти :

 {title : "My blue car is worderful", ...}
{title : "president's car is blue", ...}
 

Как я могу это сделать с помощью couchbase?

Ответ №1:

К сожалению, Couchbase совсем не подходит для бесплатного текстового поиска, к счастью для вас, у него есть встроенный плагин для интеграции с ElasticSearch, который отлично подходит для бесплатного текстового поиска. Плагин Couchbase transport реплицирует все данные из вашего кластера в кластер ElasticSearch практически в режиме реального времени, затем вы можете использовать возможности ES для бесплатного текстового поиска, чтобы обеспечить такую функциональность.

Чтобы начать работу с подключаемым модулем Couchbase transport, перейдите сюда:

http://www.couchbase.com/couchbase-server/connectors/elasticsearch

Более подробная статья о настройке репликации и конфигурации:

http://docs.couchbase.com/couchbase-elastic-search/#indexing-and-querying-data

Вот ссылка на документацию ES по текстовым запросам:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/query-dsl-text-query.html