2016-12-22

Azure Search - Part 10 (關於 indexer)

可以上傳資料到 Azure Search index 的方式有二個:

  1. 推送資料至 index(Push data to an index)

    • 使用 .NET SDKREST API
    • 可保持較高的資料一致性
    • 可個別或是批次上傳
  2. 拉資料進 index(Pull data into an index)

    • 會檢查支援的資料來源並主動上傳
    • 可以辨識新 document 、也可追蹤現有 document 的變更,減少主動管理 index 資料
    • 透過 indexers 支援 Blob 儲存體 (預覽)DocumentDBAzure SQL DatabaseAzure VM 上的 SQL Server

前面的文章已經看過 推送資料至 index(Push data to an index),現在就來了解 拉資料進 index(Pull data into an index)

關於 indexer

  • 是一種 爬蟲程式
  • 可以從外部資料來源將所需資料依欄位對應至 index
  • 也稱為 pull model(提取模型)
  • 無需撰寫程式碼
  • 可以手動執行,或是建立排程(最短間距 5 分鐘)

適用情境

  1. 一次性地將資料建入 index
  2. 排程同步資料來源的變更
  3. 需要更新 index 時

建立與管理 indexer 的方法

  1. 入口網站 > 匯入資料精靈
  2. 服務 REST API
  3. .NET SDK

設定步驟

可能會依不同資料來源而有不同的功能

1. 建立 index

  • 需要先自行建立 index, 接著讓 indexer 將資料擷取工作自動化
  • 欄位需與外部資料來源欄位相符

2. 建立資料來源

  • 資料來源與 indexer 是獨立設定與管理的

支援來源有:

  1. Azure SQL Database 或 Azure 虛擬機器中的 SQL Server

  2. DocumentDB

  3. Azure Blob 儲存體 (預覽)

    可用來擷取 PDF、Office 文件、HTML 或 XML 中的文字

  4. Azure 表格儲存體 (預覽)

3. 建立 indexer 與 排程

  • 一個 indexer 只能使用一個 datasource ,正寫入一個 index

    single

  • datasource 可以被重用

    mutiple

建立 indexer 的流程如下

  1. 指定 index
  2. 指定 資料來源(需在相同訂用帳戶下)
  3. 設定 排程
3-1. 建立資料來源

在 DocumentDB 建立測試用資料,相關操作可以看 在 DocumentDB 中建立範例資料

  1. 匯入資料

    3-1-1import

  • 選擇資料來源
    1. 資料來源
    2. DocumentDB
    3. 資料來源名稱
    4. DocumentDB Account
    5. 資料庫
    6. 集合

    3-1-2datasource

  1. 定義 index

    • 選擇資料來源後,會直接進入 index 設計介面

      3-1-3indexdesign

    • index 名稱 ,只能是字母、數字或是 -,且開頭必需是字母

      3-1-2-2indexname

  2. 定義 indexer

    3-3INDEXER 3-3-3ALLOPTION

  • 3-1. 建立 index

    • indexer 名稱
    • 排程 1. 單次 2. 每小時 - 追蹤刪除 3. 每日 - 追蹤刪除 4. 自訂 - 間隔 >最小 5 分鐘 - 開始時間 - 追蹤刪除
    • 進階選項

      3-3-3ADVANCED

  • 3-2. 建立後預設執行一次

    3-3-2EXECUTE

  • 3-3. 測試結果

    • 1.搜尋總管
    • 2.變更索引
      • 確定搜尋到正確索引

        3-3-3RESULT

如果需要與其他 Azure 資料整合,indexer 是很好的選擇,少了很多程式面的處理,只是設定上有些繁瑣,但強大的工具只用設定就可以搞定,還是相當值得推薦。經過幾篇文章的介紹,Azure Search 有基礎認識後,接下來就是找機會實際應用看看囉,Azure Search 到此告個段落。接著會換下個主題.

參考資料

  1. Azure 搜尋服務中的索引子
  2. 入口網站 > 匯入資料精靈
  3. 服務 REST API
  4. .NET SDK
  5. Azure SQL Database 或 Azure 虛擬機器中的 SQL Server
  6. DocumentDB
  7. Azure Blob 儲存體 (預覽)
  8. Azure 表格儲存體 (預覽)
  9. Indexer operations (Azure Search Service REST API)
  10. 在 DocumentDB 中建立範例資料

沒有留言:

張貼留言