在 GroupDocs.Search Java 中新增文件至索引與別名管理:完整指南
在當今以資料為驅動的世界,能夠 add documents to index 迅速且有效率地搜尋,能為您的業務帶來真正的競爭優勢。無論您在處理成千上萬的合約、產品目錄或研究論文,GroupDocs.Search for Java 都能簡單地建立可搜尋的索引,並透過別名字典微調查詢。
以下內容將帶您了解如何設定函式庫、add documents to index、管理別名,以及執行強大的搜尋——全部以友善、一步一步的方式說明。
快速解答
- 開始使用 GroupDocs.Search 的第一步是什麼? 加入 Maven 相依性並初始化
Index物件。 - 如何 add documents to index? 呼叫
index.add("<folder_path>"),傳入包含檔案的資料夾路徑。 - 我可以為複雜查詢建立別名嗎? 可以——使用別名字典將短代號對映到完整的查詢表達式。
- 別名字典可以匯出與匯入嗎? 當然可以——使用
exportDictionary與importDictionary方法。 - 需要哪個版本的 GroupDocs.Search? 需要 25.4 或更新版本(本教學使用 25.4)。
什麼是 “add documents to index”?
將文件新增至索引,意指把原始檔案(PDF、DOCX、TXT 等)輸入至 GroupDocs.Search,讓函式庫分析其內容並建立可搜尋的資料結構。完成索引後,您即可在所有文件上執行快速的全文查詢。
為什麼要管理別名?
別名讓您可以用短而易記的代號取代冗長、重複的查詢片段(例如 @t → (gravida OR promotion))。這不僅縮短搜尋字串,還提升可讀性與維護性,尤其在查詢變得複雜時更為重要。
前置條件
在開始之前,請確保您已具備:
- GroupDocs.Search for Java ≥ 25.4。
- JDK(任意近期版本,例如 11+)。
- 如 IntelliJ IDEA 或 Eclipse 等 IDE。
- 基本的 Java 與 Maven 知識。
設定 GroupDocs.Search for Java
使用 Maven
將儲存庫與相依性加入 pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
直接下載
或是從官方網站下載最新的 JAR:
GroupDocs.Search for Java releases。
取得授權步驟
- 免費試用 – 無需承諾即可探索全部功能。
- 臨時授權 – 申請短期金鑰以進行評估。
- 正式購買 – 取得永久授權以供正式環境使用。
基本初始化與設定
import com.groupdocs.search.Index;
public class GroupDocsSetup {
public static void main(String[] args) {
// Specify the directory to store indices
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Indexes/Index";
// Create or open an index
Index index = new Index(indexFolder);
System.out.println("GroupDocs.Search setup complete.");
}
}
實作指南
以下提供完整的功能步驟說明。您可以先閱讀說明,再複製對應的程式碼區塊。
建立或開啟索引
如何 add documents to index – 首先需要一個可用的 Index 實例。
步驟 1:匯入 Index 類別
import com.groupdocs.search.Index;
步驟 2:定義索引檔案的存放位置
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Indexes/Index";
步驟 3:建立新索引或開啟既有索引
Index index = new Index(indexFolder);
新增文件至索引
索引已建立後,讓我們 add documents to index。
步驟 1:指向來源資料夾
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY/Documents";
步驟 2:將該資料夾內所有支援的檔案加入
index.add(documentsFolder);
專業提示: 每當有新檔案到達時執行此步驟。GroupDocs.Search 只會索引新內容,既有條目保持不變。
管理別名字典
別名讓您將短代號對映到複雜的查詢字串。我們將說明如何清除舊條目、單筆新增別名,以及 add multiple aliases 批次新增。
清除現有別名
if (index.getDictionaries().getAliasDictionary().getCount() > 0) {
index.getDictionaries().getAliasDictionary().clear();
}
單筆新增別名
index.getDictionaries().getAliasDictionary().add("t", "(gravida OR promotion)");
index.getDictionaries().getAliasDictionary().add("e", "(viverra OR farther)");
批次新增多筆別名
AliasReplacementPair[] pairs = new AliasReplacementPair[] {
new AliasReplacementPair("d", "daterange(2017-01-01 ~~ 2019-12-31)"),
new AliasReplacementPair("n", "(400 ~~ 4000)")
};
index.getDictionaries().getAliasDictionary().addRange(pairs);
查詢別名取代結果
您可以取得任意別名的完整文字:
if (index.getDictionaries().getAliasDictionary().contains("e")) {
String replacement = index.getDictionaries().getAliasDictionary().getText("e");
}
匯出與匯入別名字典
匯出別名方便備份或在不同環境間共享。
匯出別名
String fileName = "YOUR_OUTPUT_DIRECTORY/Aliases.dat";
index.getDictionaries().getAliasDictionary().exportDictionary(fileName);
匯入別名
index.getDictionaries().getAliasDictionary().importDictionary(fileName);
使用別名查詢進行搜尋
有了別名後,您的搜尋字串會變得更簡潔:
String query = "@t OR @e";
SearchResult result = index.search(query);
@ 符號會告訴 GroupDocs.Search 在執行搜尋前先將代號替換為其完整表達式。
實務應用
| 情境 | 別名的幫助方式 |
|---|---|
| 法律文件管理 | 將案件編號(@case123)對映到複雜的布林子句,加速檢索。 |
| 電商商品搜尋 | 用 @sale 取代常見屬性組合 (discounted OR clearance)。 |
| 研究資料庫 | 使用 @year2020 展開為跨多篇論文的日期範圍過濾。 |
效能考量
- 增量索引: 只新增或變更的檔案;避免全量重新索引。
- JVM 調校: 為大型語料庫分配足夠的堆記憶體(例如
-Xmx4g)。 - 批次別名更新: 使用
addRange一次插入多筆別名,降低開銷。
結論
現在您已掌握如何 add documents to index、管理別名字典,並使用 GroupDocs.Search for Java 執行高效搜尋。這些技巧將讓您的搜尋驅動應用更快速、更易維護,也讓最終使用者的查詢體驗更友善。
後續建議: 嘗試自訂分析器、探索模糊搜尋選項,並將索引整合至 Web 服務,以實現即時查詢。
常見問答
Q: 使用 GroupDocs.Search for Java 的主要好處是什麼?
A: 它提供強大、即插即用的索引與全文搜尋功能,讓您能快速 add documents to index 並以高效能查詢。
Q: 我可以將 GroupDocs.Search 與資料庫結合使用嗎?
A: 可以——從任何來源(SQL、NoSQL、CSV)擷取資料,並使用相同的 add 方法寫入索引。
Q: 別名如何提升搜尋效率?
A: 別名讓您只需一次定義複雜查詢邏輯,之後以短代號重複使用,減少查詢解析時間並降低人工錯誤。
Q: 是否可以在不重建整個字典的情況下更新既有別名?
A: 完全可以——直接呼叫 add 並使用相同的鍵,函式庫會覆寫先前的值。
Q: 若搜尋結果不如預期,我該怎麼辦?
A: 檢查別名定義是否正確、重新索引新加入的文件,並確認分析器設定是否正確處理斷詞。
最後更新: 2026-01-03
測試環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs