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

SearchClient class

用于对搜索索引执行操作的类,包括查询索引中的文档以及添加、更新和删除它们。

构造函数

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>(
  ...
);

属性

apiVersion

与服务通信时要使用的 API 版本。

endpoint

搜索服务的终结点

indexName

索引的名称

serviceVersion

与服务通信时要使用的服务版本。

方法

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 }
);
deleteDocuments(keyof TModel, string[], IndexDocumentsOptions)

删除一组文档。

deleteDocuments(TModel[], IndexDocumentsOptions)

删除一组文档。

getDocument<TFields>(string, GetDocumentOptions<TModel, TFields>)

按键从索引中检索特定文档。

getDocumentsCount(OperationOptions)

检索索引中的文档数。

indexDocuments(IndexDocumentsBatch<TModel>, IndexDocumentsOptions)

对给定文档集执行一组索引修改, (上传、合并、mergeOrUpload、删除) 。 此操作可能部分成功,并非所有文档操作都会反映在索引中。 如果要将此视为异常,请将 throwOnAnyFailure 选项设置为 true。 有关合并工作原理的更多详细信息,请参阅: https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents

mergeDocuments(TModel[], IndexDocumentsOptions)

更新索引中的一组文档。 有关合并工作原理的详细信息,请参阅 https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents

mergeOrUploadDocuments(TModel[], IndexDocumentsOptions)

更新索引中的一组文档,或上传它们(如果它们不存在)。 有关合并工作原理的详细信息,请参阅 https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents

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,
});
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,
});
uploadDocuments(TModel[], IndexDocumentsOptions)

将文档数组上传到索引。

构造函数详细信息

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

KeyCredential | TokenCredential

用于对服务的请求进行身份验证。

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>

自动完成操作的选项。

返回

deleteDocuments(keyof TModel, string[], IndexDocumentsOptions)

删除一组文档。

function deleteDocuments(keyName: keyof TModel, keyValues: string[], options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>

参数

keyName

keyof TModel

索引中其主键的名称。

keyValues

string[]

要删除的文档的主键值。

options
IndexDocumentsOptions

其他选项。

返回

deleteDocuments(TModel[], IndexDocumentsOptions)

删除一组文档。

function deleteDocuments(documents: TModel[], options?: IndexDocumentsOptions): Promise<IndexDocumentsResult>

参数

documents

TModel[]

要删除的文档。

options
IndexDocumentsOptions

其他选项。

返回

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

其他选项。

返回

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

其他选项。

返回

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

其他选项。

返回

在给定指定参数的情况下对当前索引执行搜索。

示例

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

其他选项。

返回