Apache Lucene.NET 是一個用 C# 寫的開源全文搜尋函式庫。它是流行的 Java Apache Lucene 專案的移植。
Apache Lucene.NET 是一個 .NET 函式庫,提供強大的索引和搜尋功能,以及拼字檢查、命中突出顯示和進階分析/標記化功能。
Lucene.NET 版本 4.8(仍處於 Beta 版)可在 .NET 運行的所有地方運行,包括 Windows、Unix、MacOS、Android 和 iOS。
Apache Lucene.NET 網站位於:http://lucenenet.apache.org
最新發行版本:Lucene.NET 3.0.3
致力於 Lucene.NET 4.8.0(目前處於 BETA 階段)
PM> Install-Package Lucene.Net
PM> Install-Package Lucene.Net -Pre
我們在 Lucene.NET 網站上有 Lucene.NET 4.8.0 的初步文件。
該 API 與 Java Lucene 4.8.0 類似,您可能會發現查看它也很有幫助。
注意:我們正在努力解決文件問題,但由於這是一個龐大的項目,因此可能需要更多幫助。參見#206。
有幾個演示作為簡單的控制台應用程式實現,可以將其複製並貼上到 Visual Studio 中或在 Lucene.Net.Demo 專案中的命令列上進行編譯。
NuGet 上也提供了一個 dotnet 命令列工具。它包含所有演示以及維護 Lucene.NET 索引的工具,具有拆分、合併、列出段落資訊、修復、刪除段、升級等操作。
dotnet tool install lucene-cli -g --version 4.8.0-beta00015
注意:您安裝的 CLI 版本應與您使用的 Lucene.NET 版本相符。
安裝後,您可以透過輸入命令lucene
來探索可用的命令和選項。
lucene-cli 文檔
我們喜歡獲得貢獻!請閱讀我們的貢獻指南或繼續閱讀您可以提供協助的方法。
如何加入郵件列表
如果您有一般性的操作問題或需要 Lucene.NET 社群的協助,請透過發送電子郵件至 [email protected] 訂閱user
郵件列表,然後按照指示驗證您的電子郵件地址。請注意,您只需訂閱一次。
訂閱郵件清單後,請將您的訊息透過電子郵件發送至 [email protected]。
或者,您可以透過 StackOverflow 的活躍社群獲得協助。
請不要向 GitHub 提交一般操作方法問題,僅將 GitHub 用於錯誤報告和任務。
若要報告錯誤,請使用 GitHub 問題追蹤器。
注意:過去,Lucene.NET 專案使用 JIRA 問題追蹤器,但現已棄用。但是,我們將保持其活躍狀態以追蹤遺留問題。請將任何新問題提交到 GitHub。
若要開始有關 Lucene.NET 技術功能的開發討論,請向dev
郵件清單發送電子郵件至 [email protected],然後按照說明驗證您的電子郵件地址。請注意,您只需訂閱一次。
訂閱郵件清單後,請將您的訊息透過電子郵件發送至 [email protected]。
在開始處理拉取請求之前,請先閱讀我們的貢獻指南。
注意:如果專案在 Visual Studio 中打開,其後台還原可能會幹擾這些命令。建議在執行前關閉所有開啟
Lucene.Net.sln
的 Visual Studio 實例。
要建立原始程式碼,請克隆或下載並解壓縮儲存庫。對於特定版本,請從特定版本的下載頁面下載並解壓縮.src.zip
檔。在儲存庫或分發根目錄中,從命令提示字元執行建置命令,並包含下方建置選項表中所需的選項:
> build [options]
./build [options]
注意:在第一次執行之前,需要使用指令
chmod u+x build
授予build
檔案執行權限。
以下選項不區分大小寫。每個選項都有一個由單一-
表示的短格式和由--
表示的長格式。需要值的選項後面必須跟著一個空格,然後是值,類似於執行 dotnet CLI。
短的 | 長的 | 描述 | 例子 |
---|---|---|---|
-配置 | - 配置 | 建置配置(“發布”或“調試”)。 | 建置-配置調試 |
-mp | ----最大平行作業數 | 測試期間運行的最大並行作業數。如果未提供,則預設值為 8。 | 構建-t-mp 10 |
-pv | ----包版本 | NuGet 套件版本。如果未提供,將使用 Version.proj 檔案中的版本。 | 構建-pv 4.8.0-beta00001 |
-t | - 測試 | 建置後運行測試。此選項不需要值。請注意,測驗 8 個並行作業通常需要約 40 分鐘。 | 構建-t |
-fv | ----檔案版本 | 程序集檔案版本。如果未提供,則預設為 --package-version 值(不包括任何預發布標籤)。組件版本將從傳入值的主要版本元件派生,不包括次要版本、建置版本和修訂版本元件。 | 建造 -pv 4.8.0 -beta00001 -fv 4.8.0 |
例如,以下指令使用 NuGet 套件版本 4.8.0-ci00015 和檔案版本 4.8.0 建立發布版本。組件版本將從傳入值的主要版本元件派生,不包括次要版本、建置版本和修訂版本元件(在本例中為 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
在上面的範例中,我們在套件版本中使用「ci」來指示這不是公開發布的 beta 版本,而是從 master 持續整合建置的輸出,該輸出發生在 beta00014 之後但在 beta00015 發布之前。
NuGet 套件由建置輸出到/_artifacts/NuGetPackages/
目錄。測試結果(如果適用)輸出到/_artifacts/TestResults/
目錄。
您可以按照以下步驟設定 Visual Studio 以像讀取任何 NuGet 來源一樣讀取 NuGet 套件:
+
圖示(用於新增)Lucene.Net Local Packages
...
按鈕,然後選擇本機系統上的/src/_artifacts/NuGetPackages
資料夾。然後,您需要做的就是從下拉清單中選擇Lucene.Net Local Packages
來源(在 NuGet 套件管理員中),然後您就可以搜尋、安裝和更新 NuGet 套件,就像使用任何基於 Internet 的來源一樣。
Lucene.Net.sln
。.build/TestTargetFramework.props
並取消註解對應的<TargetFramework>
(並註解所有其他框架)來選擇要測試的目標框架。注意:在 Visual Studio 中執行測試時,請務必將預設處理器體系結構設為 64 位,以避免在某些測試中耗盡虛擬記憶體。
我們已經使用邏輯預設值設定了azure-pipelines.yml
文件,因此擁有 Azure DevOps 帳戶的任何人都可以建置 Lucene.NET 並以最少的努力執行測試。即使是免費的 Azure DevOps 帳戶也可以使用,但如果將帳戶設定為公用帳戶,測試將運行得更快,這樣最多可以同時執行 10 個並行作業。
azure-pipelines.yml
的內容。文件頂部附近有文檔,指示可以設定以啟用其他選項的變量,但請注意,預設配置將自動執行建置和所有測試。請注意,建置完成後, nuget
工件包含.nupkg
文件,這些文件可以下載到您的本機計算機,您可以在其中設定本機資料夾作為 NuGet 來源。
也可以將 Azure DevOps feed id 加入到名為
ArtifactFeedID
的新變數中,但由於權限問題,我們得到的結果好壞參半。