Apache Lucene.NET ist eine in C# geschriebene Open-Source-Volltextsuchbibliothek. Es handelt sich um eine Portierung des beliebten Java Apache Lucene-Projekts.
Apache Lucene.NET ist eine .NET-Bibliothek, die leistungsstarke Indizierungs- und Suchfunktionen sowie Rechtschreibprüfung, Trefferhervorhebung und erweiterte Analyse-/Tokenisierungsfunktionen bietet.
Lucene.NET Version 4.8 (noch in der Betaphase) läuft überall dort, wo .NET läuft, einschließlich Windows, Unix, MacOS, Android und iOS.
Die Apache Lucene.NET-Website finden Sie unter: http://lucenenet.apache.org
Neueste Release-Version: Lucene.NET 3.0.3
Wir arbeiten an Lucene.NET 4.8.0 (derzeit in der BETA-Phase)
PM> Install-Package Lucene.Net
PM> Install-Package Lucene.Net -Pre
Wir haben eine vorläufige Dokumentation für Lucene.NET 4.8.0 auf der Lucene.NET-Website.
Die API ähnelt Java Lucene 4.8.0, dessen Überprüfung für Sie möglicherweise ebenfalls hilfreich sein könnte.
HINWEIS: Wir arbeiten an der Behebung von Problemen mit der Dokumentation, könnten aber mehr Hilfe gebrauchen, da es sich um ein umfangreiches Projekt handelt. Siehe #206.
Es gibt mehrere Demos, die als einfache Konsolenanwendungen implementiert sind und in Visual Studio kopiert und eingefügt oder in der Befehlszeile im Lucene.Net.Demo-Projekt kompiliert werden können.
Auf NuGet ist auch ein Dotnet-Befehlszeilentool verfügbar. Es enthält alle Demos sowie Tools zur Verwaltung Ihres Lucene.NET-Index, einschließlich Vorgängen wie Teilen, Zusammenführen, Auflisten von Segmentinformationen, Korrigieren, Löschen von Segmenten, Aktualisieren usw. Stellen Sie immer sicher, dass Sie Ihren Index sichern, bevor Sie Befehle ausführen dagegen!
dotnet tool install lucene-cli -g --version 4.8.0-beta00015
HINWEIS: Die von Ihnen installierte Version der CLI sollte mit der von Ihnen verwendeten Version von Lucene.NET übereinstimmen.
Nach der Installation können Sie die verfügbaren Befehle und Optionen erkunden, indem Sie den Befehl lucene
eingeben.
lucene-cli-Dokumentation
Wir freuen uns über Beiträge! Lesen Sie unseren Beitragsleitfaden oder lesen Sie weiter, um zu erfahren, wie Sie helfen können.
So treten Sie Mailinglisten bei
Wenn Sie eine allgemeine Frage zur Vorgehensweise haben oder Hilfe von der Lucene.NET-Community benötigen, abonnieren Sie bitte die user
-Mailingliste, indem Sie eine E-Mail an [email protected] senden und befolgen Sie dann die Anweisungen zur Bestätigung Ihrer E-Mail-Adresse . Beachten Sie, dass Sie sich nur einmal anmelden müssen.
Nachdem Sie sich in die Mailingliste eingetragen haben, senden Sie Ihre Nachricht per E-Mail an [email protected].
Alternativ können Sie Hilfe über die aktive Community von StackOverflow erhalten.
Bitte senden Sie keine allgemeinen Fragen zur Vorgehensweise an GitHub. Verwenden Sie GitHub nur für Fehlerberichte und Aufgaben.
Um einen Fehler zu melden, verwenden Sie bitte den GitHub Issue Tracker.
HINWEIS: In der Vergangenheit verwendete das Lucene.NET-Projekt den JIRA-Issue-Tracker, der nun veraltet ist. Wir lassen es jedoch aktiv, um ältere Probleme zu verfolgen. Bitte senden Sie alle neuen Probleme an GitHub.
Um eine Entwicklungsdiskussion über die technischen Funktionen von Lucene.NET zu starten, senden Sie bitte eine E-Mail an die dev
-Mailingliste an [email protected] und folgen Sie dann den Anweisungen zur Bestätigung Ihrer E-Mail-Adresse. Beachten Sie, dass Sie sich nur einmal anmelden müssen.
Nachdem Sie sich in die Mailingliste eingetragen haben, senden Sie Ihre Nachricht per E-Mail an [email protected].
Bevor Sie mit der Arbeit an einer Pull-Anfrage beginnen, lesen Sie bitte unseren Beitragsleitfaden.
HINWEIS: Wenn das Projekt in Visual Studio geöffnet ist, kann die Hintergrundwiederherstellung diese Befehle beeinträchtigen. Es wird empfohlen, vor der Ausführung alle Instanzen von Visual Studio zu schließen, in denen
Lucene.Net.sln
geöffnet ist.
Um die Quelle zu erstellen, klonen Sie das Repository oder laden Sie es herunter und entpacken Sie es. Laden Sie für bestimmte Versionen die Datei .src.zip
von der Download-Seite der jeweiligen Version herunter und entpacken Sie sie. Führen Sie im Repository oder im Distributionsstammverzeichnis den Build -Befehl über eine Eingabeaufforderung aus und fügen Sie die gewünschten Optionen aus der Build-Optionstabelle unten hinzu:
> build [options]
./build [options]
HINWEIS: Der
build
Datei muss vor der ersten Ausführung die Berechtigung zum Ausführen mit dem Befehlchmod u+x build
erteilt werden.
Bei den folgenden Optionen wird die Groß-/Kleinschreibung nicht beachtet. Für jede Option gibt es sowohl eine Kurzform, die durch ein einzelnes -
gekennzeichnet ist, als auch eine Langform, die durch --
gekennzeichnet ist. Den Optionen, die einen Wert erfordern, muss ein Leerzeichen und dann der Wert folgen, ähnlich wie beim Ausführen der Dotnet-CLI.
Kurz | Lang | Beschreibung | Beispiel |
---|---|---|---|
‑config | --Konfiguration | Die Build-Konfiguration („Release“ oder „Debug“). | build ‑‑configuration Debug |
‑mp | ‑‑maximum-parallele-jobs | Die maximale Anzahl paralleler Jobs, die während des Tests ausgeführt werden sollen. Wenn nicht angegeben, ist der Standardwert 8. | build ‑t ‑mp 10 |
‑pv | ‑‑Paketversion | Die NuGet-Paketversion. Wenn nicht angegeben, wird die Version aus der Datei Version.proj verwendet. | build ‑pv 4.8.0‑beta00001 |
-T | --prüfen | Führt die Tests nach dem Erstellen aus. Für diese Option ist kein Wert erforderlich. Beachten Sie, dass das Testen bei 8 parallelen Jobs normalerweise etwa 40 Minuten dauert. | bauen ‑t |
‑fv | ‑‑Dateiversion | Die Version der Assemblydatei. Wenn nicht angegeben, wird standardmäßig der Wert --package-version verwendet (ausgenommen etwaige Vorabversionsbezeichnungen). Die Assemblyversion wird von der Hauptversionskomponente des übergebenen Werts abgeleitet, mit Ausnahme der Neben-, Build- und Revisionskomponenten. | build ‑pv 4.8.0 ‑beta00001 ‑fv 4.8.0 |
Der folgende Befehl erstellt beispielsweise einen Release-Build mit der NuGet-Paketversion 4.8.0-ci00015 und der Dateiversion 4.8.0. Die Assemblyversion wird von der Hauptversionskomponente des übergebenen Werts abgeleitet, mit Ausnahme der Neben-, Build- und Revisionskomponenten (in diesem Fall 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
Im obigen Beispiel verwenden wir „ci“ in der Paketversion, um anzugeben, dass es sich nicht um eine öffentlich veröffentlichte Betaversion handelt, sondern um die Ausgabe eines Continuous-Integration-Builds vom Master, der nach beta00014, aber vor der Veröffentlichung von beta00015 erfolgte.
NuGet-Pakete werden vom Build im Verzeichnis /_artifacts/NuGetPackages/
ausgegeben. Testergebnisse (falls zutreffend) werden im Verzeichnis /_artifacts/TestResults/
ausgegeben.
Sie können Visual Studio so einrichten, dass die NuGet-Pakete wie jeder NuGet-Feed gelesen werden, indem Sie die folgenden Schritte ausführen:
+
-Symbol (zum Hinzufügen).Lucene.Net Local Packages
...
neben dem Feld „Quelle“ und wählen Sie den Ordner /src/_artifacts/NuGetPackages
auf Ihrem lokalen System aus. Dann müssen Sie nur noch den Lucene.Net Local Packages
-Feed aus der Dropdown-Liste (im NuGet Package Manager) auswählen und können die NuGet-Pakete genauso suchen, installieren und aktualisieren wie mit jedem internetbasierten Feed.
Lucene.Net.sln
in Visual Studio..build/TestTargetFramework.props
öffnen und das entsprechende <TargetFramework>
auskommentieren (und alle anderen auskommentieren).HINWEIS: Stellen Sie beim Ausführen von Tests in Visual Studio sicher, dass die Standardprozessorarchitektur auf 64 Bit eingestellt ist, um zu vermeiden, dass bei einigen Tests der virtuelle Speicher knapp wird.
Wir haben unsere Datei azure-pipelines.yml
mit logischen Standardwerten eingerichtet, sodass jeder mit einem Azure DevOps-Konto Lucene.NET erstellen und die Tests mit minimalem Aufwand ausführen kann. Sogar ein kostenloses Azure DevOps-Konto funktioniert, aber Tests werden viel schneller ausgeführt, wenn das Konto als öffentlich eingerichtet ist, was die gleichzeitige Ausführung von bis zu 10 parallelen Jobs ermöglicht.
azure-pipelines.yml
angezeigt. Oben in der Datei befindet sich eine Dokumentation, die die Variablen angibt, die eingerichtet werden können, um zusätzliche Optionen zu aktivieren. Beachten Sie jedoch, dass in der Standardkonfiguration der Build und alle Tests automatisch ausgeführt werden. Beachten Sie, dass das nuget
Artefakt nach Abschluss des Builds .nupkg
Dateien enthält, die auf Ihren lokalen Computer heruntergeladen werden können, wo Sie einen lokalen Ordner einrichten können, der als NuGet-Feed fungiert.
Es ist auch möglich, eine Azure DevOps-Feed-ID zu einer neuen Variablen namens
ArtifactFeedID
hinzuzufügen, wir erhalten jedoch aufgrund von Berechtigungsproblemen gemischte Ergebnisse.