文件搜尋是主要適用於非結構化自然語言的搜尋 (不僅僅是文件)。無論您是要搜尋網頁、尋找產品或使用經過策劃的內容,都可以使用搜尋引擎來完成這個操作。您會來到一個網頁並且在「搜尋」文字方塊中輸入內容。按一下「搜尋」,您會收到 (希望) 符合您的資訊目標的相關項目。

搜尋引擎是從資料庫技術成長出來的 – 它們會儲存資料,並且根據該資料處理查詢。傳統資料庫主要使用結構化內容 – 資料是組織成資料表和欄,具有內建的結構描述。資料庫的工作是根據符合欄中值的查詢,擷取資料的所有資料列。搜尋引擎會使用結構化資料 (文件),其中包含中繼資料和大區塊的非結構化文字 (自然語言)。搜尋引擎會使用語言規則將這些大型文字區塊分解成可比對的詞彙。另外,搜尋引擎隨附內建排名功能,可以排序規則並且將最佳結果排到最頂端。關聯式和 NoSQL 資料庫會擷取所有結果,而搜尋引擎只會擷取最佳結果。

搜尋引擎的應用分成以下三個主要類別:文件搜尋,主要適用於非結構化自然語言;電子商務搜尋,適用於結構化和非結構化資料的混合;以及查詢卸載,大部分適用於結構化資料。

文件搜尋是否處理中繼資料?

在文件搜尋中,搜尋的主要文件可以小到僅有一段文字,也可以大到包含數千頁內容。文件包括各種其他欄位,涵蓋非結構化文字欄位 (標題摘要)、半結構化欄位 (作者) 以及結構化欄位 (發佈日期、來源群組、類別) — 即中繼資料。搜尋引擎混合處理使用者查詢中的文字和中繼資料。

文件搜尋面臨的主要難點分為兩個領域 – 資料準備和擷取,以及搜尋相關性。

在文件搜尋使用案例中,文件主體 (語料庫) 源自使用者產生的內容或其他未經過策劃的內容。此內容通常包含拼寫錯誤或其他錯誤,以及重複和無意義的資料。在將此資料載入搜尋引擎之前,需要對其進行策劃、清理和規範化。資料準備妥當後,需要將該資料載入引擎 (透過呼叫擷取 API)。最後,您需要採取在文件變更執行更新的過程。

文件搜尋的核心價值是擷取與使用者查詢相關的文件 – 即搜尋相關性。在擷取期間,搜尋引擎透過統計性度量 (BM25) 對所有相符的文件進行評分和排序。BM25 使用搜尋詞語的唯一性與它們在相符文件中的計數進行交叉比對。查詢與更多獨特詞語相符的次數越多,其得分就越高。必須針對特定資料集調整評分函數;機器學習 (ML) 技術可協助您提高排名。搜尋結果的準確性取決於所擷取文件的相關性,而您想要得到最佳結果。

其他有哪些搜尋使用案例?

電子商務搜尋 

轉為使用電子商務引擎,從可用產品目錄中查找和購買產品。這些產品包含許多中繼資料欄位 – 尺寸、顏色、品牌等 – 同時包含一些較長的欄位,如標題、產品描述評論 該引擎的主要工作是擷取最相關的搜尋結果,推進成功銷售。站點設計人員使用諸多工具來建置良好的相關性功能 – 從嵌入式數值到基於使用者行為的 ML 模型。

為了改善最終使用者體驗,電子商務網站經常新增多面向搜尋功能。引擎針對各個欄位 (大小、顏色等) 中的值提供按儲存貯體劃分的計數 - 並且 UI 為使用者提供一個可點按的清單,藉助其縮小結果範圍。

某些類型的電子商務搜尋嚴重依賴個人化和推薦。如果購物者搜尋「連衣裙」,則即使查詢本身非常開放,搜尋引擎也應可找到客戶可能感興趣的連衣裙。k-Nearest Neighbor (k-NN) 等相似性指標有助於完成此搜尋。

經策劃資料集搜尋

搜尋諸如企業文件儲存庫 (臨床試驗資料、法律簡報、房地產等) 之類的經策劃資料集。搜尋引擎包含語言規則和其他特定於語言的功能,這些功能可協助引擎將大型文字區塊分解為元件詞語 (來自欄位的字詞或大文字區塊) 以進行比對。其豐富的查詢語言可在這些大型文字區塊中搜尋詞語組合,例如「長款無袖連衣裙」。然而,引擎不會擷取所有相符的內容:它使用相關性評分對文件進行排名和排序,並僅傳回最佳的相符項。

減輕查詢工作量

搜尋引擎包含專門的資料結構,可推進大容量、低延遲的搜尋。其中最重要的結構是翻轉索引,該索引將個別詞語對應到包含這些詞語的文件清單。藉助這些資料結構,搜尋引擎在查詢處理方面優於關聯式資料庫。代價則是搜尋引擎並非關聯式。關聯式資料庫和搜尋引擎經常搭配使用。使用關聯式資料庫提供應用程式資料,同時使用搜尋引擎提供跨資料的低延遲相關搜尋。

建置豐富、令人愉悅的搜尋體驗需要諸多職能的人員參與其中。開發人員整合搜尋解決方案,建立搜尋界面,同時了解如何建構資料以取得最佳搜尋結果。產品經理提供中繼資料結構和搜尋界面使用者體驗的需求。資料科學家管理來源資料,以及追蹤和處理使用者行為。行政長制定業務 KPI,這些 KPI 指導產品和開發團隊達成引擎的業務目標。

搜尋引擎已經過最佳化,可以比對各種詞語。搜尋「8 英呎沙發」應傳回屬於 8 英呎沙發的結果,搜尋引擎透過比對「8」、「英呎」和「沙發」來完成搜尋。這就是關鍵字搜尋。在許多情況下,搜尋者不知道正在尋找的確切詞語,並且想要按含義進行搜尋。這就是語義搜尋,它是前沿的搜尋和 ML 技術。藉助語義搜索,您可以使用「comfy place to sit by the fire」之類的查詢來擷取諸如 8 英呎沙發的物品。

語義搜尋需要採用 ML 技術。您必須建置物品和查詢的向量空間,然後使用向量相似度計算來尋找該空間中接近的物品。藉助向量搜索,文件不需要具有任何與查詢相同的字詞或同義詞,即可進行關聯。例如,「自行車維護」的搜尋可以與關於「變速器潤滑」的文件相符,因為 ML 演算法知道「變速器潤滑」經常出現在自行車維護的討論範圍內。

如何取得更理想的搜尋結果?

有效的文件和電子商務搜尋的關鍵要素是相關性 — 搜尋結果是否符合搜尋者的需求? 搜尋引擎嘗試使用各種技術,將最佳的搜尋結果放在最前面。這稱為相關性排名。資料庫傳回相符的所有內容,並且搜尋引擎經過最佳化,可對相關項目進行評分。

  • 您的搜尋可涵蓋多個具有不同權重的欄位。例如,如果您搜尋電影資料庫,則可能希望涵蓋標題、導演演員等欄位,同時向標題相符項賦予比演員相符項更高的權重。
  • 還應考慮調整搜尋結果的新鮮度。將發佈日期欄位新增至您的索引中,同時將基於該日期的指數衰減函數新增至您的評分函數中。
  • 應考慮新增搜尋結果的面向或篩選條件,以協助使用者深入了解特定元素。許多文件搜尋系統支援中繼資料的多面向 — 通常在搜尋結果頁面的左側顯示為類別。
  • 考慮新增同義詞。同義詞可以協助最終使用者順利找到所尋找的結果。在服装類別中,「tee」代表 T 恤或短袖运动衫。無論最終使用者搜尋「tee」還是「T 恤」,他們都應該找到相同的結果。新增同義詞可以傳回這些結果。

文件搜尋跨越許多不同的應用程式。

  • 電子商務網站使用文件搜尋來擷取使用者想要購買的產品。
  • 照片網站使用文件搜尋,以標題描述等中繼資料為基礎尋找照片,甚至以相符的影像向量為基礎來尋找照片。
  • 法律使用者使用文件搜尋來尋找相關判例法。
  • 醫生使用文件搜尋來尋找適合患者病情的藥物。
  • 客戶關係管理 (CRM) 解決方案使用文件搜尋來擷取備註、互動和目標客戶。

需要尋求某些內容時,請使用搜尋引擎!

AWS 文件搜尋後續步驟

查看額外的產品相關資源
檢視雲端中資料庫服務的免費優惠 
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入