你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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>