SearchClient class
用來對搜尋索引執行作業的類別,包括查詢索引中的檔,以及新增、更新和移除它們。
建構函式
Search |
建立 SearchClient 的實例。 使用方式範例:
您可以選擇性地使用模型類型來啟用強型別和類型提示:
|
屬性
api |
與服務通訊時要使用的 API 版本。 |
endpoint | 搜尋服務的端點 |
index |
索引的名稱 |
service |
與服務通訊時要使用的服務版本。 |
方法
autocomplete(string, string, Autocomplete |
根據使用者的部分 searchText,根據指定的建議工具傳回潛在的完成字串清單。 範例
|
delete |
刪除一組檔。 |
delete |
刪除一組檔。 |
get |
依索引鍵從索引擷取特定檔。 |
get |
擷取索引中的檔數目。 |
index |
執行一組索引修改, (上傳、合併、mergeOrUpload、刪除指定檔集的) 。
此作業可能會部分成功,而且並非所有的檔作業都會反映在索引中。 如果您想要將此視為例外狀況,請將 |
merge |
更新索引中的一組檔。 如需合併運作方式的詳細資訊,請參閱 https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents |
merge |
更新索引中的一組檔,如果檔不存在,請加以上傳。 如需合併運作方式的詳細資訊,請參閱 https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents |
search<TFields>(string, Search |
在指定的引數下,對目前索引執行搜尋。 範例
|
suggest<TFields>(string, string, Suggest |
根據 searchText 和指定的建議工具傳回簡短的建議清單。 範例
|
upload |
將檔的陣列上傳至索引。 |
建構函式詳細資料
SearchClient<TModel>(string, string, KeyCredential | TokenCredential, SearchClientOptions)
建立 SearchClient 的實例。
使用方式範例:
const { SearchClient, AzureKeyCredential } = require("@azure/search-documents");
const client = new SearchClient(
"<endpoint>",
"<indexName>",
new AzureKeyCredential("<Admin Key>")
);
您可以選擇性地使用模型類型來啟用強型別和類型提示:
type TModel = {
keyName: string;
field1?: string | null;
field2?: { anotherField?: string | null } | null;
};
const client = new SearchClient<TModel>(
...
);
new SearchClient(endpoint: string, indexName: string, credential: KeyCredential | TokenCredential, options?: SearchClientOptions)
參數
- endpoint
-
string
搜尋服務的端點
- indexName
-
string
索引的名稱
- credential
用來驗證對服務的要求。
- options
- SearchClientOptions
用來設定搜尋用戶端。
屬性詳細資料
apiVersion
警告
此 API 現已淘汰。
use {@Link serviceVersion} instead
與服務通訊時要使用的 API 版本。
apiVersion: string
屬性值
string
endpoint
搜尋服務的端點
endpoint: string
屬性值
string
indexName
索引的名稱
indexName: string
屬性值
string
serviceVersion
與服務通訊時要使用的服務版本。
serviceVersion: string
屬性值
string
方法詳細資料
autocomplete(string, string, AutocompleteOptions<TModel>)
根據使用者的部分 searchText,根據指定的建議工具傳回潛在的完成字串清單。
範例
import {
AzureKeyCredential,
SearchClient,
SearchFieldArray,
} from "@azure/search-documents";
type TModel = {
key: string;
azure?: { sdk: string | null } | null;
};
const client = new SearchClient<TModel>(
"endpoint.azure",
"indexName",
new AzureKeyCredential("key")
);
const searchFields: SearchFieldArray<TModel> = ["azure/sdk"];
const autocompleteResult = await client.autocomplete(
"searchText",
"suggesterName",
{ searchFields }
);
function autocomplete(searchText: string, suggesterName: string, options?: AutocompleteOptions<TModel>): Promise<AutocompleteResult>
參數
- searchText
-
string
要根據自動完成結果的搜尋文字。
- suggesterName
-
string
建議工具的名稱,如屬於索引定義的建議工具集合中所指定。
- options
-
AutocompleteOptions<TModel>
自動完成作業的選項。
傳回
Promise<AutocompleteResult>
deleteDocuments(keyof TModel, string[], IndexDocumentsOptions)
刪除一組檔。
function deleteDocuments(keyName: keyof TModel, keyValues: string[], options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>
參數
- keyName
-
keyof TModel
索引中主鍵的名稱。
- keyValues
-
string[]
要刪除之檔的主鍵值。
- options
- IndexDocumentsOptions
其他選項。
傳回
Promise<IndexDocumentsResult>
deleteDocuments(TModel[], IndexDocumentsOptions)
刪除一組檔。
function deleteDocuments(documents: TModel[], options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>
參數
- documents
-
TModel[]
要刪除的檔。
- options
- IndexDocumentsOptions
其他選項。
傳回
Promise<IndexDocumentsResult>
getDocument<TFields>(string, GetDocumentOptions<TModel, TFields>)
依索引鍵從索引擷取特定檔。
function getDocument<TFields>(key: string, options?: GetDocumentOptions<TModel, TFields>): Promise<NarrowedModel<TModel, TFields>>
參數
- key
-
string
檔的主鍵值
- options
-
GetDocumentOptions<TModel, TFields>
其他選項
傳回
Promise<NarrowedModel<TModel, TFields>>
getDocumentsCount(OperationOptions)
擷取索引中的檔數目。
function getDocumentsCount(options?: OperationOptions): Promise<number>
參數
- options
- OperationOptions
計數作業的選項。
傳回
Promise<number>
indexDocuments(IndexDocumentsBatch<TModel>, IndexDocumentsOptions)
執行一組索引修改, (上傳、合併、mergeOrUpload、刪除指定檔集的) 。
此作業可能會部分成功,而且並非所有的檔作業都會反映在索引中。 如果您想要將此視為例外狀況,請將 throwOnAnyFailure
選項設定為 true。
如需合併運作方式的詳細資訊,請參閱: https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents
function indexDocuments(batch: IndexDocumentsBatch<TModel>, options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>
參數
- batch
-
IndexDocumentsBatch<TModel>
要對索引執行的動作陣列。
- options
- IndexDocumentsOptions
其他選項。
傳回
Promise<IndexDocumentsResult>
mergeDocuments(TModel[], IndexDocumentsOptions)
更新索引中的一組檔。 如需合併運作方式的詳細資訊,請參閱 https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents
function mergeDocuments(documents: TModel[], options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>
參數
- documents
-
TModel[]
更新的檔。
- options
- IndexDocumentsOptions
其他選項。
傳回
Promise<IndexDocumentsResult>
mergeOrUploadDocuments(TModel[], IndexDocumentsOptions)
更新索引中的一組檔,如果檔不存在,請加以上傳。 如需合併運作方式的詳細資訊,請參閱 https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents
function mergeOrUploadDocuments(documents: TModel[], options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>
參數
- documents
-
TModel[]
更新的檔。
- options
- IndexDocumentsOptions
其他選項。
傳回
Promise<IndexDocumentsResult>
search<TFields>(string, SearchOptions<TModel, TFields>)
在指定的引數下,對目前索引執行搜尋。
範例
import {
AzureKeyCredential,
SearchClient,
SearchFieldArray,
} from "@azure/search-documents";
type TModel = {
key: string;
azure?: { sdk: string | null } | null;
};
const client = new SearchClient<TModel>(
"endpoint.azure",
"indexName",
new AzureKeyCredential("key")
);
const select = ["azure/sdk"] as const;
const searchFields: SearchFieldArray<TModel> = ["azure/sdk"];
const searchResult = await client.search("searchText", {
select,
searchFields,
});
function search<TFields>(searchText?: string, options?: SearchOptions<TModel, TFields>): Promise<SearchDocumentsResult<TModel, TFields>>
參數
- searchText
-
string
要搜尋的文字
- options
-
SearchOptions<TModel, TFields>
搜尋作業的選項。
傳回
Promise<SearchDocumentsResult<TModel, TFields>>
suggest<TFields>(string, string, SuggestOptions<TModel, TFields>)
根據 searchText 和指定的建議工具傳回簡短的建議清單。
範例
import {
AzureKeyCredential,
SearchClient,
SearchFieldArray,
} from "@azure/search-documents";
type TModel = {
key: string;
azure?: { sdk: string | null } | null;
};
const client = new SearchClient<TModel>(
"endpoint.azure",
"indexName",
new AzureKeyCredential("key")
);
const select = ["azure/sdk"] as const;
const searchFields: SearchFieldArray<TModel> = ["azure/sdk"];
const suggestResult = await client.suggest("searchText", "suggesterName", {
select,
searchFields,
});
function suggest<TFields>(searchText: string, suggesterName: string, options?: SuggestOptions<TModel, TFields>): Promise<SuggestDocumentsResult<TModel, TFields>>
參數
- searchText
-
string
用來建議檔的搜尋文字。 必須至少 1 個字元,而且不能多於 100 個字元。
- suggesterName
-
string
建議工具的名稱,如建議工具集合中所指定,屬於索引定義的一部分。
- options
-
SuggestOptions<TModel, TFields>
建議作業的選項
傳回
Promise<SuggestDocumentsResult<TModel, TFields>>
uploadDocuments(TModel[], IndexDocumentsOptions)
將檔的陣列上傳至索引。
function uploadDocuments(documents: TModel[], options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>
參數
- documents
-
TModel[]
要上傳的檔。
- options
- IndexDocumentsOptions
其他選項。
傳回
Promise<IndexDocumentsResult>