搜尋索引
建立並填入索引之後,即可進行查詢來搜尋已編製索引之文件內容所含的資訊。 雖然可以依據簡單的欄位值比對來擷取索引項目,但大部分的搜尋解決方案都會使用全文檢索搜尋語意來查詢索引。
全文檢索搜尋
全文檢索搜尋描述搜尋解決方案,其會剖析以文字型的文件內容,以尋找查詢字詞。 Azure AI 搜尋服務中的全文檢索搜尋查詢,以 Lucene 查詢語法為基礎,其針對搜尋、篩選及排序索引中的資料,提供一組豐富的查詢作業。 Azure AI 搜尋服務支援兩種 Lucene 語法的變體:
- 簡式 - 直覺的語法,您可輕鬆地執行基本搜尋,找出與使用者所提交之常值查詢字詞的相符項。
- 完整 - 擴充的語法,其支援複雜的篩選、規則運算式與其他更複雜的查詢。
用戶端應用程式可藉由指定搜尋運算式,以及決定如何評估該運算式及傳回結果的其他參數,將查詢提交給 Azure AI 搜尋服務。 使用查詢所提交的一些常見參數包括:
- search - 搜尋運算式,其包含要尋找的字詞。
- queryType - 要評估的 Lucene 語法 (簡式或完整)。
- searchFields - 要搜尋的索引欄位。
- select - 要包含在結果中的欄位。
- searchMode - 包含依據多重搜尋字詞所得結果的準則。 例如,假設您要搜尋 comfortable hotel。 Any 的 searchMode 值會傳回包含 "comfortable"、"hotel" 或兩者皆有的文件;而 All 的 searchMode 值會將結果限制為同時包含 "comfortable"、"hotel" 的文件。
查詢處理由四個階段所組成:
- 查詢剖析。 評估並重建搜尋運算式,作為適當子查詢的樹狀結構。 子查詢可能包含字詞查詢 (在搜尋運算式中尋找特定的文字,例如 hotel)、片語查詢 (在搜尋運算式中尋找以引號所指定的多重字詞片語,例如 "free parking"),以及字首查詢 (尋找具有指定字首的字詞 - 例如 air*,其會找到 airway、air-conditioning,以及 airport)。
- 語彙分析- 查詢字詞會依據語言規則進行分析及精簡。 例如,文字會轉換成小寫,而且移除了不連續的停用字詞 (例如「the」、「a」、「is」 等等)。 然後,單字會轉換成其根形式 (例如,「comfortable」可能會簡化為「comfort」),而複合字會分割成其構成詞彙。
- 文件擷取:對索引字詞比對查詢字詞,並找出一批相符的文件。
- 評分:依據字詞頻率/反向文件頻率 (TF/IDF) 計算,對每個結果將指派相關性分數。
注意
如需有關查詢索引的詳細資訊,以及簡式與完整語法的詳細資料,請參閱 Azure AI 搜尋服務文件中 Azure AI 搜尋服務中的查詢類型與組合。