Apache Lucene.NET est une bibliothèque de recherche en texte intégral open source écrite en C#. Il s'agit d'un portage du populaire projet Java Apache Lucene.
Apache Lucene.NET est une bibliothèque .NET offrant de puissantes fonctionnalités d'indexation et de recherche, ainsi que des fonctionnalités de vérification orthographique, de mise en évidence des résultats et d'analyse/tokenisation avancées.
Lucene.NET version 4.8 (toujours en version bêta) s'exécute partout où .NET s'exécute, notamment Windows, Unix, MacOS, Android et iOS.
Le site Web Apache Lucene.NET se trouve à l'adresse : http://lucenenet.apache.org
Dernière version : Lucene.NET 3.0.3
En route vers Lucene.NET 4.8.0 (actuellement en version bêta)
PM> Install-Package Lucene.Net
PM> Install-Package Lucene.Net -Pre
Nous disposons d'une documentation préliminaire pour Lucene.NET 4.8.0 sur le site Web Lucene.NET.
L'API est similaire à Java Lucene 4.8.0, que vous trouverez peut-être également utile de consulter.
REMARQUE : Nous travaillons à résoudre les problèmes liés à la documentation, mais nous pourrions avoir besoin de plus d'aide car il s'agit d'un projet massif. Voir #206.
Il existe plusieurs démos implémentées sous forme d'applications console simples qui peuvent être copiées et collées dans Visual Studio ou compilées sur la ligne de commande dans le projet Lucene.Net.Demo.
Il existe également un outil de ligne de commande dotnet disponible sur NuGet. Il contient toutes les démos ainsi que les outils gérant votre index Lucene.NET, comprenant des opérations telles que le fractionnement, la fusion, la liste des informations sur les segments, la correction, la suppression de segments, la mise à niveau, etc. Assurez-vous toujours de sauvegarder votre index avant d'exécuter des commandes. contre ça !
dotnet tool install lucene-cli -g --version 4.8.0-beta00015
REMARQUE : La version de la CLI que vous installez doit correspondre à la version de Lucene.NET que vous utilisez.
Une fois installé, vous pouvez explorer les commandes et options disponibles en entrant la commande lucene
.
Documentation lucene-cli
Nous aimons recevoir des contributions ! Lisez notre Guide de contribution ou poursuivez votre lecture pour savoir comment vous pouvez aider.
Comment rejoindre les listes de diffusion
Si vous avez une question générale ou avez besoin d'aide de la communauté Lucene.NET, veuillez vous inscrire à la liste de diffusion user
en envoyant un e-mail à [email protected], puis suivez les instructions pour vérifier votre adresse e-mail. . Notez que vous ne devez vous abonner qu’une seule fois.
Après vous être abonné à la liste de diffusion, envoyez votre message par courrier électronique à [email protected].
Vous pouvez également obtenir de l'aide via la communauté active de StackOverflow.
Veuillez ne pas soumettre de questions générales à GitHub, utilisez GitHub uniquement pour les rapports de bugs et les tâches.
Pour signaler un bug, veuillez utiliser le outil de suivi des problèmes GitHub.
REMARQUE : Dans le passé, le projet Lucene.NET utilisait le système de suivi des problèmes JIRA, qui est désormais obsolète. Cependant, nous le gardons actif pour suivre les problèmes hérités. Veuillez soumettre tout nouveau problème à GitHub.
Pour démarrer une discussion de développement concernant les fonctionnalités techniques de Lucene.NET, veuillez envoyer un e-mail à la liste de diffusion dev
en envoyant un e-mail à [email protected], puis suivez les instructions pour vérifier votre adresse e-mail. Notez que vous ne devez vous abonner qu’une seule fois.
Après vous être abonné à la liste de diffusion, envoyez votre message par e-mail à [email protected].
Avant de commencer à travailler sur une pull request, veuillez lire notre guide de contribution.
REMARQUE : si le projet est ouvert dans Visual Studio, sa restauration en arrière-plan peut interférer avec ces commandes. Il est recommandé de fermer toutes les instances de Visual Studio sur lesquelles
Lucene.Net.sln
est ouvert avant l'exécution.
Pour créer la source, clonez ou téléchargez et décompressez le référentiel. Pour des versions spécifiques, téléchargez et décompressez le fichier .src.zip
à partir de la page de téléchargement de la version spécifique. À partir de la racine du référentiel ou de la distribution, exécutez la commande build à partir d'une invite de commande et incluez les options souhaitées dans le tableau des options de build ci-dessous :
> build [options]
./build [options]
REMARQUE : le fichier
build
devra recevoir l'autorisation de s'exécuter à l'aide de la commandechmod u+x build
avant la première exécution.
Les options suivantes ne sont pas sensibles à la casse. Chaque option a à la fois une forme courte indiquée par un simple -
et une forme longue indiquée par --
. Les options qui nécessitent une valeur doivent être suivies d'un espace, puis de la valeur, comme lors de l'exécution de la CLI dotnet.
Court | Long | Description | Exemple |
---|---|---|---|
‑config | --configuration | La configuration de build ("Release" ou "Debug"). | build ‑‑configuration Débogage |
‑mp | ‑‑tâches-parallèles maximales | Nombre maximum de tâches parallèles à exécuter pendant les tests. S’il n’est pas fourni, la valeur par défaut est 8. | construire ‑t ‑mp 10 |
-pv | ‑‑version-package | La version du package NuGet. S'il n'est pas fourni, utilisera la version du fichier Version.proj. | build-pv 4.8.0-beta00001 |
-t | --test | Exécute les tests après la construction. Cette option ne nécessite pas de valeur. Notez que les tests prennent généralement environ 40 minutes avec 8 tâches parallèles. | construire -t |
-fv | ‑‑version-fichier | La version du fichier d'assemblage. S'il n'est pas fourni, la valeur par défaut est --package-version (à l'exclusion de toute étiquette de version préliminaire). La version de l'assembly sera dérivée du composant de version majeure de la valeur transmise, à l'exclusion des composants mineurs, de construction et de révision. | build ‑pv 4.8.0‑beta00001 ‑fv 4.8.0 |
Par exemple, la commande suivante crée une version Release avec la version du package NuGet 4.8.0‑ci00015 et la version de fichier 4.8.0. La version de l'assembly sera dérivée du composant de version majeure de la valeur transmise, à l'exclusion des composants mineurs, de construction et de révision (dans ce cas, 4.0.0).
> build ‑‑configuration Release ‑pv 4.8.0‑ci00015 ‑fv 4.8.0
./build ‑‑configuration Release ‑pv 4.8.0‑ci00015 ‑fv 4.8.0
Dans l'exemple ci-dessus, nous utilisons "ci" dans la version du package pour indiquer qu'il ne s'agit pas d'une version bêta publiée publiquement, mais plutôt du résultat d'une version d'intégration continue de master qui a eu lieu après la version bêta00014 mais avant la publication de la version bêta00015.
Les packages NuGet sont générés par la build dans le répertoire /_artifacts/NuGetPackages/
. Les résultats des tests (le cas échéant) sont affichés dans le répertoire /_artifacts/TestResults/
.
Vous pouvez configurer Visual Studio pour lire les packages NuGet comme n'importe quel flux NuGet en suivant ces étapes :
+
(pour ajouter)Lucene.Net Local Packages
...
à côté du champ Source et choisissez le dossier /src/_artifacts/NuGetPackages
sur votre système local. Ensuite, tout ce que vous avez à faire est de choisir le flux Lucene.Net Local Packages
dans la liste déroulante (dans le gestionnaire de packages NuGet) et vous pouvez rechercher, installer et mettre à jour les packages NuGet comme vous le pouvez avec n'importe quel flux basé sur Internet.
Lucene.Net.sln
dans Visual Studio..build/TestTargetFramework.props
et en décommentant le <TargetFramework>
correspondant (et en commentant tous les autres).REMARQUE : lors de l'exécution de tests dans Visual Studio, veillez à définir l'architecture de processeur par défaut sur 64 bits pour éviter de manquer de mémoire virtuelle lors de certains tests.
Nous avons configuré notre fichier azure-pipelines.yml
avec des valeurs logiques par défaut afin que toute personne disposant d'un compte Azure DevOps puisse créer Lucene.NET et exécuter les tests avec un minimum d'effort. Même un compte Azure DevOps gratuit fonctionnera, mais les tests s'exécuteront beaucoup plus rapidement si le compte est configuré comme public, ce qui permet d'exécuter jusqu'à 10 tâches parallèles simultanément.
azure-pipelines.yml
. Il existe une documentation en haut du fichier indiquant les variables qui peuvent être configurées pour activer des options supplémentaires, mais notez que la configuration par défaut exécutera automatiquement la construction et tous les tests. Notez qu'une fois la construction terminée, l'artefact nuget
contient des fichiers .nupkg
qui peuvent être téléchargés sur votre ordinateur local où vous pouvez configurer un dossier local pour agir comme un flux NuGet.
Il est également possible d'ajouter un identifiant de flux Azure DevOps à une nouvelle variable nommée
ArtifactFeedID
, mais nous obtenons des résultats mitigés en raison de problèmes d'autorisation.