Criando uma busca com Elasticsearch e Views

Neste tutorial, vamos aprender como criar uma busca no Drupal, utilizando o Elasticsearch como mecanismo de busca.
O processo é bem parecido com a configuração feita no tutorial "Criando uma busca com Views e Apache Solr". 

Vamos começar instalando o Elasticsearch.

curl -L -O http://download.elasticsearch.org/PATH/TO/VERSION.zip
unzip elasticsearch-$VERSION.zip
cd elasticsearch-$VERSION

Para mais detalhes, acesse Installing Elasticsearch.

Executando o Elasticsearch

./bin/elasticsearch

Para mais detalhes, acesse Running Elasticsearch.

Com o Elasticsearch rodando, vamos configura-lo no Drupal
Faço o download dos seguintes módulos:

drush dl search_api search_api_elasticsearch views libraries

drush en search_api search_api_elasticsearch search_api_elasticsearch_elastica views views_ui libraries

Faça o download e copie para sua pasta libraries, o Elasticsearch PHP Client.

Ex.: sites/all/libraries/Elastica

Vamos criar agora, o Server que utilizará o
Elasticsearch.

Vá em: Administração - Configurações - Search Api (admin/config/search/search_api)

Clique em "Add Server" (admin/config/search/search_api/add_server).


Em "Service class", selecione "Elasticsearch (via Elastica)". Salve suas configurações.
Com o Service criado, vamos criar o Index, que utilizará o Service Elasticsearch que acabamos de fazer.
Click em "Add Index" (admin/config/search/search_api/add_index).

Em "Item type", selecione "Node". Em "Server", selecione o server do Elasticsearch que você criou.

Após salvar seu Index, você verá as seguintes abas:

View: Contém o status do seu Index, onde você pode indexar ou limpar os itens indexados.
Edit: Informações do Index como: nome, descrição, Server, Cron batch size, etc.
Fields: Configuração dos campos que serão indexados pelo Elasticsearch.
Filters: Configurações como: tipo de conteúdo que será indexado, Node access, Exclude unpublished nodes, Ignore case, Stopwords, etc. 

Faça as configurações desejadas e salve seu Index.

O próximo passo será criar a View que irá utilizar como base, o nosso Index criado.

Ao criar a View, em "Show", selecione o seu Index criado.

Veja abaixo minha View criada como exemplo:

Salve sua View. O resultado final será uma página de pesquisa utilizando o Elasticsearch como mecanismo de busca.