Apache Solr

Tutorial Apache Solr

Tutorial Apache Solr
Nesta lição, veremos como podemos usar o Apache Solr para armazenar dados e como podemos executar várias consultas sobre ele.

O que é Apache Solr

Apache Solr é um dos bancos de dados NoSQL mais populares que pode ser usado para armazenar dados e consultá-los quase em tempo real. É baseado no Apache Lucene e é escrito em Java. Assim como o Elasticsearch, ele oferece suporte a consultas de banco de dados por meio de APIs REST. Isso significa que podemos usar chamadas HTTP simples e métodos HTTP como GET, POST, PUT, DELETE etc. para acessar dados. Ele também oferece uma opção para obter dados na forma de XML ou JSON por meio das APIs REST.

Arquitetura: Apache Solr

Antes de começarmos a trabalhar com o Apache Solr, devemos entender os componentes que constituem o Apache Solr. Vamos dar uma olhada em alguns componentes que possui:

Arquitetura Apache Solr

Observe que apenas os principais componentes do Solr são mostrados na figura acima. Vamos entender sua funcionalidade aqui também:

Introdução ao Apache Solr

Para começar a usar o Apache Solr, ele deve estar instalado na máquina. Para fazer isso, leia Instalar Apache Solr no Ubuntu.

Certifique-se de ter uma instalação Solr ativa se quiser experimentar os exemplos que apresentamos mais tarde na lição e a página de administração estiver acessível no localhost:

Página inicial do Apache Solr

Inserindo Dados

Para começar, vamos considerar uma coleção no Solr que chamamos de linux_hint_collection. Não há necessidade de definir explicitamente esta coleção, pois quando inserirmos o primeiro objeto, a coleção será feita automaticamente. Vamos tentar nossa primeira chamada de API REST para inserir um novo objeto na coleção chamada linux_hint_collection.

Inserindo Dados

curl -X POST -H 'Content-Type: application / json'
'http: // localhost: 8983 / solr / linux_hint_collection / update / json / docs' --data-binary '

"id": "iduye",
"nome": "Shubham"
'

Aqui está o que recebemos de volta com este comando:

Comando para inserir dados no Solr

Os dados também podem ser inseridos usando a página inicial do Solr que vimos anteriormente. Vamos tentar isso aqui para que as coisas fiquem claras:

Inserir dados via página inicial do Solr

Como o Solr tem uma excelente forma de interação com APIs HTTP RESTful, vamos demonstrar a interação do banco de dados usando as mesmas APIs a partir de agora e não vamos nos concentrar muito na inserção de dados através da página do Solr.

Listar todas as coleções

Podemos listar todas as coleções no Apache Solr usando uma API REST também. Aqui está o comando que podemos usar:

Listar todas as coleções

curl http: // localhost: 8983 / solr / admin / coleções?ações = LISTA & wt = json

Vamos ver a saída deste comando:

Vemos duas coleções aqui que existem em nossa instalação do Solr.

Obter objeto por ID

Agora, vamos ver como podemos OBTER dados da coleção Solr com um ID específico. Aqui está o comando da API REST:

Obter objeto por ID

curl http: // localhost: 8983 / solr / linux_hint_collection / get?id = iduye

Aqui está o que recebemos de volta com este comando:

Obtenha todos os dados

Em nossa última API REST, consultamos dados usando um ID específico. Desta vez, obteremos todos os dados presentes em nossa coleção Solr.

Obter objeto por ID

curl http: // localhost: 8983 / solr / linux_hint_collection / select?q = *: *

Aqui está o que recebemos de volta com este comando:

Observe que usamos '*: *' no parâmetro de consulta. Isso especifica que o Solr deve retornar todos os dados presentes na coleção. Mesmo se tivermos especificado que todos os dados devem ser retornados, o Solr entende que a coleção pode conter uma grande quantidade de dados e assim, ele retornará apenas os primeiros 10 documentos.

Excluindo todos os dados

Até agora, todas as APIs que testamos usavam o formato JSON. Desta vez, vamos tentar o formato de consulta XML. Usar o formato XML é extremamente semelhante ao JSON, pois XML também é autodescritivo.

Vamos tentar um comando para deletar todos os dados que temos em nossa coleção.

Excluindo todos os dados

curl "http: // localhost: 8983 / solr / linux_hint_collection / update?commit = true "-H" Content-Type: text / xml "--data-binary" *: * "

Aqui está o que recebemos de volta com este comando:

Exclua todos os dados usando consulta XML

Agora, se tentarmos obter todos os dados novamente, veremos que nenhum dado está disponível agora:

Obtenha todos os dados

Contagem Total de Objetos

Para um comando CURL final, vamos ver um comando com o qual podemos encontrar o número de objetos que estão presentes em um índice. Aqui está o comando para o mesmo:

Contagem Total de Objetos

curl http: // localhost: 8983 / solr / linux_hint_collection / query?debug = query & q = *: *

Aqui está o que recebemos de volta com este comando:

Contar o número de objetos

Conclusão

Nesta lição, vimos como podemos usar o Apache Solr e passar consultas usando curl nos formatos JSON e XML. Também vimos que o painel de administração do Solr é útil da mesma maneira que todos os comandos curl que estudamos.

Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...
Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...