table des matières
1. Performance d'indice stable et élevée
2. Algorithme de recherche efficace, précis et performant
Intégration: introduisez le pot de base lucene dans votre application
Intégration: introduisez le fichier jar du module lucene requis dans votre application
Commencez par introduire le module de base de lucene
Comprendre la composition des modules de base
Introduction à Luence
Introduction à Lucene
Le kit de développement de moteur de recherche en texte intégral open source Java le plus populaire. Fournit un moteur de requête complet et un moteur d'index, une partie du moteur de segmentation de mots de texte (anglais et allemand, deux langues occidentales). Le but de Lucene est de fournir aux développeurs de logiciels une boîte à outils simple et facile à utiliser pour faciliter la réalisation de fonctions de recherche en texte intégral dans le système cible, ou de construire un moteur de recherche complet en texte intégral basé sur cela. C'est un sous-projet d'Apache, site web: http://lucene.apache.org/
Lucene utilise
Fournissez aux développeurs de logiciels une boîte à outils simple et facile à utiliser pour faciliter la réalisation de fonctions de recherche en texte intégral dans le système cible, ou créez un moteur de recherche en texte intégral complet sur cette base.
Scénarios applicables Lucene
- Fournissez une implémentation de recherche en texte intégral pour les données de la base de données dans l'application.
- Développer des services et des systèmes de moteurs de recherche indépendants
Caractéristiques de Lucene
1. Performance d'indice stable et élevée
- Peut indexer plus de 150 Go de données par heure.
- Petite mémoire requise - seulement 1 Mo de mémoire de tas est requis
- L'indexation incrémentielle est aussi rapide que l'indexation en bloc.
- La taille de l'index est d'environ 20% ~ 30% de la taille du texte d'index.
2. Algorithme de recherche efficace, précis et performant
- Bon tri de recherche.
- Prise en charge puissante du mode de requête: requête de phrase, requête générique, requête de proximité, requête de plage, etc.
- Recherche de champ de soutien (comme le titre, l'auteur, le contenu).
- Peut être trié en fonction de n'importe quel champ, prend en charge la fusion de plusieurs résultats de requête d'index
- Prise en charge de l'opération de mise à jour et de l'opération de requête en même temps
- Prise en charge de la mise en évidence, de la participation et du regroupement des résultats
- haute vitesse
- Module de tri évolutif, intégré avec modèle d'espace vectoriel, modèle BM25 en option
- Moteur de stockage configurable
3. Multiplateforme
- Écrit en pur java.
- En tant que projet open source sous licence open source Apache, vous pouvez l'utiliser dans des projets commerciaux ou open source.
- Lucene est disponible dans une variété de versions linguistiques (telles que C, C ++, Python, etc.), pas seulement JAVA.
Architecture de Luence
- collecte de données
- Créer un index
- Stockage d'index
- Recherche (utiliser l'index)
Intégration Luence
Version Lucene sélectionnée
Choisissez la dernière version actuelle 7.3.0: https://lucene.apache.org/
Configuration requise
JDK1.8 et supérieur
Intégration: introduisez le pot de base lucene dans votre application
Méthode 1: Téléchargez le zip depuis le site officiel, décompressez et copiez le fichier jar dans votre projet
Méthode 2: Maven introduit des dépendances
Intégration: introduisez le fichier jar du module lucene requis dans votre application
Méthode 1: Téléchargez le zip depuis le site officiel, décompressez et copiez le fichier jar dans votre projet
Méthode 2: Maven introduit des dépendances
Description du module Lucene
- core: modules de base de la bibliothèque de base Lucene: segmentation de mots, indexation, requête
- analyseurs- *: tokenizer
- facette: les capacités d'indexation et de recherche à facettes fournissent des capacités d'indexation de classification et de recherche
- regroupement: collecteurs pour regrouper les résultats de recherche. Prise en charge du regroupement des résultats de recherche
- surligneur: met en évidence les mots-clés de recherche dans les résultats
- join: jointures au moment de l'index et au moment de la requête pour le contenu normalisé 连接 支持
- requêtes: filtres et requêtes qui ajoutent au cœur de Lucene
- queryparser: analyseurs de requêtes et module d'analyse des expressions de requête du framework d'analyse
- spatial: prise en charge de la recherche géospatiale
- Suggérer: support de suggestion automatique et de vérification orthographique
Commencez par introduire le module de base de lucene
<!-- lucene 核心模块 --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>7.3.0</version> </dependency>
Comprendre la composition des modules de base