快速入門:在 Azure 入口網站中建立搜尋索引

在本 Azure AI 搜尋服務快速入門中,使用匯入資料精靈,以及由 Microsoft 所裝載虛構飯店資料的內建範例資料來源,建立您的第一個「搜尋索引」。 此精靈會引導您建立沒有程式碼的搜尋索引,以協助您在幾分鐘內寫出有趣的查詢。

此精靈會在您的搜尋服務上建立多個物件 - 可搜尋的索引 - 但也會建立索引子和資料來源,進行自動資料擷取。 在本快速入門結束時,我們會檢閱每個物件。

注意

[匯入資料] 精靈包含本快速入門未涵蓋的 OCR、文字翻譯和其他 AI 擴充選項。 如需著重於 AI 擴充的類似逐步解說,請參閱快速入門:在 Azure 入口網站中建立技能集

必要條件

檢查空間

許多客戶開始使用此免費服務。 免費層的限制為三個索引、三個資料來源,以及三個索引子。 開始之前,請先確定您有空間可容納額外的項目。 本快速入門會建立各一個物件。

檢查服務的 [概觀]>[使用量] 索引標籤,以查看您已有多少個索引、索引子和資料來源。

Screenshot of the Overview page for an Azure AI Search service instance in the Azure portal, showing the number of indexes, indexers, and data sources.

啟動精靈

  1. 使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure AI 搜尋服務。

  2. 在 [概觀] 頁面上,選取 [匯入資料] 以啟動精靈。

    Screenshot that shows how to open the Import data wizard in the Azure portal.

建立並載入索引

在本節中,以四個步驟建立並載入索引。

連線到資料來源

精靈會建立資料來源連線,以連線至 Microsoft 在 Azure Cosmos DB 上裝載的範例資料。 此範例資料是透過內部連線來擷取。 您不需要自己的 Azure Cosmos DB 帳戶或來源檔案,即可執行本快速入門。

  1. 在 [連線至您的資料] 上,展開 [資料來源] 下拉式清單,然後選取 [範例]

  2. 在內建範例清單中,選取 [飯店範例]

    Screenshot that shows how to select the hotels-sample data source in the Import data wizard.

  3. 選取 [下一步: 新增認知技能 (選用)] 以繼續。

略過認知技能的設定

[匯入資料] 精靈支援在編製索引時建立技能集和 AI 擴充

  1. 針對本快速入門,請忽略 [新增認知技能] 索引標籤上的 AI 擴充設定選項。

  2. 選取 [跳至: 自訂目標索引] 以繼續。

    Screenshot that shows how to Skip to the Customize target index tab in the Import data wizard.

提示

對 AI 擴充有興趣嗎? 請嘗試此快速入門:在 Azure 入口網站中建立技能集

設定索引

精靈會推斷內建飯店範例索引的結構描述。 請遵循下列步驟來設定索引:

  1. 接受 [索引名稱] (hotels-sample-index) 和 [索引鍵] 欄位 (HotelId) 的系統產生值。

  2. 接受所有欄位屬性的系統產生值。

    重要

    如果您重新執行精靈,並使用現有的飯店範例資料來源,系統不會使用預設屬性來設定索引。 您必須以手動方式對未來的匯入選取屬性。

  3. 選取 [下一步: 建立索引子] 以繼續。

Screenshot that shows the generated index definition for the hotels-sample data source in the Import data wizard.

索引至少需要 [索引名稱] 和 [欄位] 的集合。 必須將一個欄位標示為「文件索引鍵」,以專門識別每份文件。 值一律為字串。 精靈會掃描唯一的字串欄位,並為索引鍵選擇一個欄位。

每個欄位都有名稱、資料類型,以及控制如何在搜尋索引中使用欄位的「屬性」。 核取方塊會啟用或停用下列屬性:

  • 可擷取:查詢回應中傳回的欄位。
  • 可篩選:接受篩選條件運算式的欄位。
  • 可排序:接受 orderby 運算式的欄位。
  • 可 Facet:多面向導覽結構中使用的欄位。
  • 可搜尋:在全文檢索搜尋中使用的欄位。 字串可以搜尋。 數字欄位和布林值欄位通常會標示為不可搜尋。

字串的屬性為 [可擷取] 和 [可搜尋]。 整數的屬性為 [可擷取]、[可篩選]、[可排序] 和 [可 Facet]

屬性會影響儲存體。 [可篩選] 欄位會耗用額外的儲存體,但 [可擷取] 則不會。 如需詳細資訊,請參閱示範屬性和建議工具對儲存體影響的範例

如果您想要自動完成或建議的查詢,請指定語言分析器建議工具

設定和執行索引子

最後一個步驟會設定和執行索引子。 此物件定義可執行的程序。 在這個步驟中會建立資料來源、索引和索引子。

  1. 接受 [索引子名稱] (hotels-sample-index) 的系統產生值。

  2. 針對本快速入門,請使用預設選項立即執行索引子一次。 裝載的資料是靜態的,因此不會為其啟用任何變更追蹤。

  3. 選取 [提交] 以建立並同時執行索引子。

    Screenshot that shows how to configure the indexer for the hotels-sample data source in the Import data wizard.

監視索引子進度

您可以在入口網站中監視索引子或索引的建立。 服務 [概觀] 頁面會提供連結,以連結至 Azure AI 搜尋服務中建立的資源。

  1. 選取左邊的 [索引子]

    Screenshot that shows the creation of the indexer in progress in the Azure portal.

    可能需要幾分鐘的時間,才能在 Azure 入口網站中更新頁面結果。 您應該會在清單中看到新建立的索引子,其狀態為 [進行中] 或 [成功]。 此清單也會顯示已編製索引的文件數目。

檢查搜尋索引結果

  1. 選取左邊的 [索引]

  2. 選取 hotels-sample-index

    等待 Azure 入口網站頁面重新整理。 您應該會看到具有文件計數和儲存體大小的索引。

    Screenshot of the Indexes list on the Azure AI Search service dashboard in the Azure portal.

  3. 選取 [欄位] 索引標籤來檢視索引結構描述。

    檢查哪些欄位是 [可篩選] 或 [可排序],以便您知道要撰寫的查詢。

    Screenshot that shows the schema definition for an index in the Azure AI Search service in the Azure portal.

新增或變更欄位

在 [欄位] 索引標籤上,您可以使用 [新增欄位],搭配名稱、支援的資料類型和屬性來建立新的欄位。

變更現有欄位比較困難。 現有欄位在索引中具有實體表示法,因此無法修改這些欄位,甚至是在程式碼中也無法修改。 若要從根本上變更現有的欄位,您需要建立取代原始欄位的新欄位。 其他建構 (例如評分設定檔和 CORS 選項) 可以隨時新增至索引。

若要清楚地了解您在索引設計期間可以編輯和無法編輯的項目,請花點時間檢視索引定義選項。 欄位清單中呈現灰色的選項表示無法修改或刪除的值。

使用搜尋總管進行查詢

您現在具有可使用搜尋總管查詢的搜尋索引。 [搜尋總管] 會傳送符合搜尋 POST REST API 的 REST 呼叫。 此工具支援簡易查詢語法完整 Lucene 查詢語法

  1. 在 [搜尋總管] 索引標籤上,輸入要搜尋的文字。

    Screenshot that shows how to enter and run a query in the Search Explorer tool.

  2. 使用縮圖快速跳至看不見的輸出區域。

    Screenshot that shows long results for a query in the Search Explorer tool and the mini-map.

  3. 若要指定語法,請切換至 JSON 檢視。

    Screenshot of the JSON view selector.

飯店範例索引的範例查詢

下列範例假定 JSON 檢視和 2023-11-01 REST API 版本。

篩選範例

停車、標籤、裝修日期、評等和位置是可篩選的。

{
    "search": "beach OR spa",
    "select": "HotelId, HotelName, Description, Rating",
    "count": true,
    "top": 10,
    "filter": "Rating gt 4"
}

布林篩選條件預設會假定 "true"。

{
    "search": "beach OR spa",
    "select": "HotelId, HotelName, Description, Rating",
    "count": true,
    "top": 10,
    "filter": "ParkingIncluded"
}

地理空間搜尋是以篩選條件為基礎。 geo.distance 函式會根據指定的 Locationgeography'POINT 座標,篩選位置資料的所有結果。 查詢會搜尋位於經緯度座標 -122.12 47.67 5 公里以內的飯店,也就是 "Redmond, Washington, USA"。此查詢會顯示相符項目總數 &$count=true,以及飯店名稱和地址。

{
    "search": "*",
    "select": "HotelName, Address/City, Address/StateProvince",
    "count": true,
    "top": 10,
    "filter": "geo.distance(Location, geography'POINT(-122.12 47.67)') le 5"
}

完整 Lucene 語法範例

預設語法是簡易語法,但如果您想要模糊搜尋或字詞提升或規則運算式,請指定完整語法

{
    "queryType": "full",
    "search": "seatle~",
    "select": "HotelId, HotelName,Address/City, Address/StateProvince",
    "count": true
}

根據預設,拼錯的查詢字詞 (例如將 seatle 誤拼為 Seattle) 無法在一般搜尋中傳回相符項目。 queryType=full 參數會叫用完整 Lucene 查詢剖析器,其支援 ~ 運算元。 當這些參數存在時,查詢會針對指定的關鍵詞執行模糊搜尋。 查詢會搜尋相符結果,以及類似於關鍵詞但與其不完全相符的結果。

請花一分鐘的時間,為您的索引嘗試其中一些範例查詢。 若要深入了解查詢,請參閱在 Azure AI 搜尋服務中查詢

清除資源

當您以自己的訂用帳戶運作時,最好在專案結束時確定您是否仍需要您建立的資源。 資源若繼續執行,將需付費。 您可以個別刪除資源,或刪除資源群組以刪除整組資源。

在 Azure 入口網站中,您可以在左側窗格的 [所有資源] 或 [資源群組] 底下為您的服務尋找和管理資源。

如果您使用免費服務,請記住限制為三個索引、索引子和資料來源。 您可以在 Azure 入口網站中刪除個別項目,以避免超出限制。

下一步

試用 Azure 入口網站,以產生可在瀏覽器中執行的立即可用 Web 應用程式。 請在您已於本快速入門中建立的小型索引上使用此精靈,或使用其中一個內建的資料集範例,來獲得更豐富的搜尋體驗。