React-Search 是一個 UI 小部件,只需幾行程式碼即可將 Vectara 支援的語意搜尋新增至您的 React 應用程式。
提示
尋找其他東西?嘗試另一個開源專案:
嘗試演示!
搜尋輸入如下所示:
當用戶點擊搜尋輸入時,他們會收到以下搜尋提示:
搜尋結果如下所示:
安裝 React-Search:
npm install --save @vectara/react-search
然後在您的應用程式中使用它,如下所示:
import { ReactSearch } from "@vectara/react-search" ;
/* snip */
< ReactSearch
customerId = "CUSTOMER_ID"
corpusId = "CORPUS_ID"
apiKey = "API_KEY"
placeholder = "Search" // Optional search input placeholder
isDeepLinkable = { true } // Optional boolean determining if search results will be deep-linked
openResultsInNewTab = { true } // Optional boolean determining if links will open in a new tab
zIndex = { 1000 } // Optional number assigned to the z-index of the search modal
isSummaryToggleVisible = { true } // Optional boolean determining if users can summarize search results
rerankingConfiguration = { {
rerankerId : 272725718
} }
/ > ;
customerId
(必填)每個 Vectara 帳戶都與一個客戶 ID 相關聯。您可以透過登入 Vectara 控制台並開啟右上角的帳戶下拉清單來找到您的客戶 ID。
corpusId
(必填)建立語料庫後,您可以透過導覽至語料庫並查看語料庫名稱旁的左上角來找到其 ID。
apiKey
(必填)API 金鑰使應用程式能夠存取語料庫內部的資料。了解如何建立QueryService API 金鑰。
apiUrl
(可選)預設情況下,React-Search 會向 Vectara 伺服器發送查詢請求。如果您想使用代理伺服器,您可以使用代理的 URL 來設定此選項。
placeholder
(可選)在搜尋模式的輸入中配置佔位符文字。
isDeepLinkable
(可選)預設為false
。如果您希望將搜尋查詢保留到 URL 參數,請設定此選項。這將使用戶能夠共享 URL 或為其添加書籤。載入 URL 將自動開啟搜尋模式並搜尋儲存在 URL 中的查詢。
openResultsInNewTab
(可選)預設為false
。如果您希望在新分頁中開啟搜尋結果,請設定此選項。
zIndex
(可選)定義搜尋模式的 z 索引。
onToggleSummary
(可選)接受一個回調,該回調將接收一個布林參數,指示是否啟用「匯總搜尋結果」切換。
isSummaryToggleVisible
(可選)用戶是否能夠總結搜尋結果。
isSummaryToggleInitiallyEnabled
(可選)如果使用者可以切換摘要,則預設是否應啟用切換。
rerankingConfiguration
(可選)指定要使用的搜尋結果重新排序器及其配置。有關更多信息,請參閱我們有關重新排名的文檔。
安裝 React-Search:
npm install --save @vectara/react-search
然後在您的應用程式中使用useSearch
掛鉤,如下所示:
import { useSearch } from "@vectara/react-search/lib/useSearch" ;
/* snip */
const { fetchSearchResults , isLoading } = useSearch (
"CUSTOMER_ID" ,
"CORPUS_ID" ,
"API_KEY" ,
"API_URL" , // optional
{ rerankerId : 12345 } // optional
) ;
鉤子傳回的值可以作為 props 傳遞到您的自訂元件或以您想要的任何方式使用。
async (query: string, summarize: boolean) => Promise<{ searchResults: DeserializedSearchResult[]; summary?: string }>
這用於向搜尋 API 發送訊息。當搜尋成功時,將傳回由搜尋結果陣列和可選摘要組成的物件。每個搜尋結果都是一個DeserializedSearchResult
物件。有關類型的更多資訊可以在此處找到。
boolean
指示搜尋請求是否仍待處理的布林值
將 React-Search 與 SSR 框架結合使用可能需要額外的基礎架構。以下是一些常見的問題:
React-Search 提供了與 Next.js 相容的ReactSearchNext
變體。它接受與ReactSearch
相同的 props。
它可以導入為:
import { ReactSearchNext } from "@vectara/react-search/lib/ReactSearchNext" ;
除了使用這個與 Next.js 相容的元件之外,您還需要在匯入ReactSearchNext
的檔案中使用"use client"
指令。
React-Search 從您的 Vectara 語料庫中提取資料。要進行此設定:
專業提示:建立 API 金鑰後,導覽至您的語料庫並點擊「存取控制」標籤。在底部找到您的 API 金鑰,然後選擇「全部複製」選項來複製您的客戶 ID、語料庫 ID 和 API 金鑰。這為您提供了配置<ReactSearch />
實例所需的所有資料。
Vectara 可讓您定義文件的元資料。 React-Search 根據特定元資料欄位的存在而表現不同:
title
:如果定義了此字段,它將呈現為搜尋結果的標題。通常,這類似於文件或網頁的標題。url
:如果定義了此字段,React-Search 會將搜尋結果呈現為已定義 URL 的連結。 該程式碼庫附帶一個開發環境,以促進增強和錯誤修復。它允許維護人員快速迭代程式碼並立即驗證變更。
從根目錄運行:
npm install
這將安裝建置元件和運行開發環境所需的所有相依性。完成後,運行:
npm run docs
這會啟動在http://localhost:8080/
上執行的應用程式。您的最新更改將反映在這裡。
開發環境運行後,對/src
目錄中的 .ts 和 .tsx 檔案進行的任何變更都會觸發元件的重建和網頁的重新載入。
此外,對/docs/index.tsx
中的開發應用程式原始程式碼的任何變更也將觸發重建 + 重新載入。
Vectara React-Search 是一款根據 Apache 2.0 授權授權的開源軟體。
此儲存庫包含範例程式碼,可協助您建立由 Vectara 提供支援的 UI,並根據 Apache 2.0 授權取得授權。除非適用法律要求或書面同意,否則根據許可證分發的軟體均以「原樣」分發,不帶任何明示或暗示的保證或條件。請參閱許可證,了解許可證下管理權限和限制的特定語言。