índice
Cenários aplicáveis do Lucene
1. Desempenho estável e de alto índice
2. Algoritmo de pesquisa eficiente, preciso e de alto desempenho
Integração: introduza o jar do núcleo lucene em seu aplicativo
Integração: introduza o jar do módulo lucene necessário em seu aplicativo
Primeiro apresente o módulo principal de lucene
Compreenda a composição dos módulos principais
Introdução ao Luence
Introdução ao Lucene
O kit de desenvolvimento de mecanismo de pesquisa de texto completo de código-fonte aberto mais popular. Fornece um mecanismo de consulta completo e mecanismo de índice, parte do mecanismo de segmentação de palavras de texto (inglês e alemão, duas línguas ocidentais). O objetivo do Lucene é fornecer aos desenvolvedores de software um kit de ferramentas simples e fácil de usar para facilitar a realização de funções de pesquisa de texto completo no sistema de destino ou construir um mecanismo de pesquisa de texto completo completo com base nisso. É um subprojeto do Apache, site: http://lucene.apache.org/
Lucene usa
Forneça aos desenvolvedores de software um kit de ferramentas simples e fácil de usar para facilitar a realização de funções de pesquisa de texto completo no sistema de destino ou crie um mecanismo de pesquisa de texto completo completo com base nisso.
Cenários aplicáveis do Lucene
- Fornece implementação de pesquisa de texto completo para dados no banco de dados no aplicativo.
- Desenvolver serviços e sistemas independentes de mecanismo de pesquisa
Características do Lucene
1. Desempenho estável e de alto índice
- Pode indexar mais de 150 GB de dados por hora.
- Pequenos requisitos de memória - apenas 1 MB de memória heap é necessário
- A indexação incremental é tão rápida quanto a indexação em massa.
- O tamanho do índice é de cerca de 20% a 30% do tamanho do texto do índice.
2. Algoritmo de pesquisa eficiente, preciso e de alto desempenho
- Boa classificação de pesquisa.
- Suporte de modo de consulta poderoso: consulta de frase, consulta de caractere curinga, consulta de proximidade, consulta de intervalo, etc.
- Pesquisa de campo de suporte (como título, autor, conteúdo).
- Pode ser classificado de acordo com qualquer campo, suporta mesclagem de resultados de consulta de vários índices
- Suporte a operação de atualização e operação de consulta ao mesmo tempo
- Suporte para destaque, junção e agrupamento de resultados
- alta velocidade
- Módulo de classificação escalável, integrado, incluindo modelo de espaço vetorial, modelo BM25 opcional
- Mecanismo de armazenamento configurável
3. Plataforma cruzada
- Escrito em java puro.
- Como um projeto de código aberto sob a licença de código aberto Apache, você pode usá-lo em projetos comerciais ou de código aberto.
- Lucene está disponível em uma variedade de versões de linguagem (como C, C ++, Python, etc.), não apenas JAVA.
Arquitetura Luence
- coleção de dados
- Criar índice
- Armazenamento de índice
- Pesquisar (usar índice)
Integração Luence
Versão do Lucene selecionada
Escolha a versão atual mais recente 7.3.0: https://lucene.apache.org/
Requisitos de sistema
JDK 1.8 e superior
Integração: introduza o jar do núcleo lucene em seu aplicativo
Método 1: Baixe o zip do site oficial, descompacte e copie o jar para o seu projeto
Método 2: Maven apresenta dependências
Integração: introduza o jar do módulo lucene necessário em seu aplicativo
Método 1: Baixe o zip do site oficial, descompacte e copie o jar para o seu projeto
Método 2: Maven apresenta dependências
Descrição do módulo Lucene
- núcleo: Módulos principais da biblioteca principal Lucene: segmentação de palavras, indexação, consulta
- analisadores- *: tokenizer
- faceta: indexação facetada e recursos de pesquisa fornecem indexação de classificação e recursos de pesquisa
- agrupamento: Coletores para agrupar resultados de pesquisa. Suporte para agrupamento de resultados de pesquisa
- highlighter: Destaca palavras-chave de pesquisa nos resultados
- junção: junções de tempo de índice e tempo de consulta para conteúdo normalizado 连接 支持
- consultas: Filtros e consultas que adicionam ao Lucene principal
- queryparser: analisadores de consulta e módulo de análise de expressão de consulta de estrutura de análise
- espacial: suporte de pesquisa geoespacial
- sugestão: suporte de sugestão automática e verificação ortográfica
Primeiro apresente o módulo principal de lucene
<!-- lucene 核心模块 --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>7.3.0</version> </dependency>
Compreenda a composição dos módulos principais