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

SearchField 类

表示索引定义中的字段,该字段描述字段的名称、数据类型和搜索行为。

必须填充所有必需的参数才能发送到 Azure。

继承
azure.search.documents.indexes._generated._serialization.Model
SearchField

构造函数

SearchField(**kwargs)

变量

名称 说明
name
str

字段的名称,该名称在索引或父字段的 fields 集合中必须是唯一的。 必需。

type
str 或 <xref:search_service_client.models.SearchFieldDataType>

字段的数据类型。 必需。 已知值为:“Edm.String”、“Edm.Int32”、“Edm.Int64”、“Edm.Double”、“Edm.Boolean”、“Edm.DateTimeOffset”、“Edm.GeographyPoint”、“Edm.ComplexType”和“Edm.Single”。

key

一个 值,该值指示字段是否唯一标识索引中的文档。 必须选择每个索引中的一个顶级字段作为键字段,并且该字段的类型必须为 Edm.String。 关键字段可用于直接查找文档以及更新或删除特定文档。 简单字段的默认值为 false,对于复杂字段,默认值为 null。

searchable

一个值,该值指示字段是否可全文搜索。 这意味着它会在索引期间受到分词之类的分析。 如果将某个可搜索字段设置为“sunny day”之类的值,在内部它将拆分为单独的标记“sunny”和“day”。 这实现了对这些词的全文搜素。 默认情况下,可搜索 Edm.String 或集合 (Edm.String) 类型的字段。 对于其他非字符串数据类型的简单字段,此属性必须为 false,对于复杂字段,此属性必须为 null。 注意:可搜索字段会在索引中占用额外的空间,因为Azure 认知搜索将存储字段值的其他标记化版本,以便进行全文搜索。 如果要节省索引中的空间,并且不需要将字段包含在搜索中,请将“可搜索”设置为 false。

filterable

一个 值,该值指示是否允许在$filter查询中引用字段。 filterable 与可搜索字符串的处理方式不同。 可筛选的 Edm.String 或 Collection (Edm.String) 类型的字段不会进行断字,因此比较仅用于完全匹配。 例如,如果将此类字段 f 设置为“sunny day”,$filter=f eq“sunny”将找不到匹配项,但$filter=f eq“sunny day”将找到匹配项。 对于复杂字段,此属性必须为 null。 对于简单字段,默认值为 true,对于复杂字段,默认值为 null。

sortable

一个值,该值指示是否启用要在$orderby表达式中引用的字段。 默认情况下,Azure 认知搜索按分数对结果进行排序,但在许多情况下,用户需要按文档中的字段进行排序。 仅当简单字段是单值字段, (它在父文档) 的范围内具有单个值时,才能对其进行排序。 简单集合字段不可排序,因为它们是多值字段。 复杂集合的简单子字段也是多值字段,因此无法排序。 无论是直接父字段还是上级字段(即复杂集合),都是如此。 复杂字段不能是可排序的,并且此类字段的可排序属性必须为 null。 对于单值简单字段,可排序的默认值为 true,对于多值简单字段为 false,对于复杂字段为 null。

facetable

一个值,该值指示是否允许在分面查询中引用字段。 通常用于搜索结果的演示文稿,包括按类别 (例如,搜索数码相机并查看按品牌、百万像素、按价格等) 命中次数。 对于复杂字段,此属性必须为 null。 Edm.GeographyPoint 或集合 (Edm.GeographyPoint) 类型字段不可识别。 所有其他简单字段的默认值为 true。

analyzer_name
str 或 <xref:search_service_client.models.LexicalAnalyzerName>

要用于字段的分析器的名称。 此选项只能用于可搜索字段,并且无法与 searchAnalyzer 或 indexAnalyzer 一起设置。 选择分析器后,无法为字段更改它。 对于复杂字段,必须为 null。 已知值为:“ar.microsoft”、“ar.lucene”、“hy.lucene”、 “bn.microsoft”、“eu.lucene”、“bg.microsoft”、“bg.lucene”、“ca.microsoft”、“ca.lucene”、“zh-Hans.microsoft”、“zh-Hans.lucene”、“zh-Hant.microsoft”、“zh-Hant.lucene”、“hr.microsoft”、“cs.microsoft”、“cs.lucene”, “da.microsoft”、“da.lucene”、“nl.microsoft”、“nl.lucene”、“en.microsoft”、“en.lucene”、“et.microsoft”、“et.microsoft”、“fi.lucene”、“fr.microsoft”、“fr.lucene”、“fr.lucene”、“gl.lucene”、“de.microsoft”、“de.lucene”、el.microsoft“、”el.lucene“、”gu.microsoft“、”he.microsoft“、”hi.microsoft“、”hi.lucene“、”hu.microsoft“、”hu.lucene“、”is.microsoft“、”id.microsoft“、”id.lucene“、”id.lucene“、”ga.lucene“、”it.microsoft“、”it.lucene“、”ja.lucene“、”ja.lucene“、”kn.microsoft“, ”ko.microsoft“、”ko.lucene“、”lv.microsoft“、”lv.lucene“、”lt.microsoft“、”ml.microsoft“、”ms.microsoft“、”mr.microsoft“、”mr.microsoft“、”nb.microsoft“、”no.lucene“、”fa.lucene“、”pl.microsoft“、”pl.lucene“、”pt-BR.microsoft“、”pt-BR.lucene“、pt-PT.microsoft“、”pt-PT.lucene“、”pa.microsoft“、”ro.microsoft“、”ro.lucene“、”ru.microsoft“、”ru.lucene“、”sr-cyrillic.microsoft“、”sr-latin.microsoft“、”sk.microsoft“、”sl.microsoft“、”es.microsoft“, ”es.lucene“、”sv.microsoft“、”sv.lucene“、”ta.microsoft“、”te.microsoft“、”th.microsoft“、”th.lucene“、”tr.microsoft“、”tr.lucene“、”uk.microsoft“、”your.microsoft“、”vi.microsoft“、”standard.lucene“、”standardasciifolding.lucene“、”关键字 (keyword) “、”pattern“、”simple“、”stop“和”whitespace”。

search_analyzer_name
str 或 <xref:search_service_client.models.LexicalAnalyzerName>

搜索字段时使用的分析器的名称。 此选项只能与可搜索字段一起使用。 它必须与 indexAnalyzer 一起设置,并且不能与分析器选项一起设置。 此属性不能设置为语言分析器的名称;如果需要语言分析器,请改用分析器属性。 此分析器无法在现有字段上更新。 对于复杂字段,必须为 null。 已知值为:“ar.microsoft”、“ar.lucene”、“hy.lucene”、 “bn.microsoft”、“eu.lucene”、“bg.microsoft”、“bg.lucene”、“ca.microsoft”、“ca.lucene”、“zh-Hans.microsoft”、“zh-Hans.lucene”、“zh-Hant.microsoft”、“zh-Hant.lucene”、“hr.microsoft”、“cs.microsoft”、“cs.lucene”, “da.microsoft”、“da.lucene”、“nl.microsoft”、“nl.lucene”、“en.microsoft”、“en.lucene”、“et.microsoft”、“et.microsoft”、“fi.lucene”、“fr.microsoft”、“fr.lucene”、“fr.lucene”、“gl.lucene”、“de.microsoft”、“de.lucene”、el.microsoft“、”el.lucene“、”gu.microsoft“、”he.microsoft“、”hi.microsoft“、”hi.lucene“、”hu.microsoft“、”hu.lucene“、”is.microsoft“、”id.microsoft“、”id.lucene“、”id.lucene“、”ga.lucene“、”it.microsoft“、”it.lucene“、”ja.lucene“、”ja.lucene“、”kn.microsoft“, ”ko.microsoft“、”ko.lucene“、”lv.microsoft“、”lv.lucene“、”lt.microsoft“、”ml.microsoft“、”ms.microsoft“、”mr.microsoft“、”mr.microsoft“、”nb.microsoft“、”no.lucene“、”fa.lucene“、”pl.microsoft“、”pl.lucene“、”pt-BR.microsoft“、”pt-BR.lucene“、pt-PT.microsoft“、”pt-PT.lucene“、”pa.microsoft“、”ro.microsoft“、”ro.lucene“、”ru.microsoft“、”ru.lucene“、”sr-cyrillic.microsoft“、”sr-latin.microsoft“、”sk.microsoft“、”sl.microsoft“、”es.microsoft“, ”es.lucene“、”sv.microsoft“、”sv.lucene“、”ta.microsoft“、”te.microsoft“、”th.microsoft“、”th.lucene“、”tr.microsoft“、”tr.lucene“、”uk.microsoft“、”your.microsoft“、”vi.microsoft“、”standard.lucene“、”standardasciifolding.lucene“、”关键字 (keyword) “、”pattern“、”simple“、”stop“和”whitespace”。

index_analyzer_name
str 或 <xref:search_service_client.models.LexicalAnalyzerName>

在为字段编制索引时使用的分析器的名称。 此选项只能与可搜索字段一起使用。 它必须与 searchAnalyzer 一起设置,并且不能与分析器选项一起设置。 此属性不能设置为语言分析器的名称;如果需要语言分析器,请改用分析器属性。 选择分析器后,无法为字段更改它。 对于复杂字段,必须为 null。 已知值为:“ar.microsoft”、“ar.lucene”、“hy.lucene”、 “bn.microsoft”、“eu.lucene”、“bg.microsoft”、“bg.lucene”、“ca.microsoft”、“ca.lucene”、“zh-Hans.microsoft”、“zh-Hans.lucene”、“zh-Hant.microsoft”、“zh-Hant.lucene”、“hr.microsoft”、“cs.microsoft”、“cs.lucene”, “da.microsoft”、“da.lucene”、“nl.microsoft”、“nl.lucene”、“en.microsoft”、“en.lucene”、“et.microsoft”、“et.microsoft”、“fi.lucene”、“fr.microsoft”、“fr.lucene”、“fr.lucene”、“gl.lucene”、“de.microsoft”、“de.lucene”、el.microsoft“、”el.lucene“、”gu.microsoft“、”he.microsoft“、”hi.microsoft“、”hi.lucene“、”hu.microsoft“、”hu.lucene“、”is.microsoft“、”id.microsoft“、”id.lucene“、”id.lucene“、”ga.lucene“、”it.microsoft“、”it.lucene“、”ja.lucene“、”ja.lucene“、”kn.microsoft“, ”ko.microsoft“、”ko.lucene“、”lv.microsoft“、”lv.lucene“、”lt.microsoft“、”ml.microsoft“、”ms.microsoft“、”mr.microsoft“、”mr.microsoft“、”nb.microsoft“、”no.lucene“、”fa.lucene“、”pl.microsoft“、”pl.lucene“、”pt-BR.microsoft“、”pt-BR.lucene“、pt-PT.microsoft“、”pt-PT.lucene“、”pa.microsoft“、”ro.microsoft“、”ro.lucene“、”ru.microsoft“、”ru.lucene“、”sr-cyrillic.microsoft“、”sr-latin.microsoft“、”sk.microsoft“、”sl.microsoft“、”es.microsoft“, ”es.lucene“、”sv.microsoft“、”sv.lucene“、”ta.microsoft“、”te.microsoft“、”th.microsoft“、”th.lucene“、”tr.microsoft“、”tr.lucene“、”uk.microsoft“、”your.microsoft“、”vi.microsoft“、”standard.lucene“、”standardasciifolding.lucene“、”关键字 (keyword) “、”pattern“、”simple“、”stop“和”whitespace”。

vector_search_dimensions
int

向量字段的维度。

vector_search_profile_name
str

矢量搜索配置文件的名称,指定搜索向量字段时要使用的算法。

synonym_map_names

要与此字段关联的同义词名称列表。 此选项只能与可搜索字段一起使用。 目前,每个字段仅支持一个同义词映射。 为字段分配同义词映射可确保在查询时使用同义词映射中的规则扩展面向该字段的查询词。 可以在现有字段上更改此属性。 对于复杂字段,必须为 null 或空集合。

fields
list[<xref:search_service_client.models.SearchField>]

如果这是类型为 Edm.ComplexType 或 Collection 的字段,则为子字段列表, (Edm.ComplexType) 。 对于简单字段,必须为 null 或为空。

方法

as_dict

返回可使用 json.dump 进行序列化的 dict。

高级用法可以选择使用回调作为参数:

Key 是 Python 中使用的属性名称。 Attr_desc是元数据的一个听写。 当前包含具有 msrest 类型的“type”和包含 RestAPI 编码键的“key”。 值是此对象中的当前值。

返回的字符串将用于序列化密钥。 如果返回类型是列表,则这被视为分层结果听写。

请参阅此文件中的三个示例:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

deserialize

使用 RestAPI 语法分析 str 并返回模型。

enable_additional_properties_sending
from_dict

使用给定的键提取程序分析 dict 返回一个模型。

默认情况下,请考虑密钥提取程序 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor和last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

返回将从此模型发送到服务器的 JSON。

这是as_dict (full_restapi_key_transformer的别名 ,keep_readonly=False)

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

as_dict

返回可使用 json.dump 进行序列化的 dict。

高级用法可以选择使用回调作为参数:

Key 是 Python 中使用的属性名称。 Attr_desc是元数据的一个听写。 当前包含具有 msrest 类型的“type”和包含 RestAPI 编码键的“key”。 值是此对象中的当前值。

返回的字符串将用于序列化密钥。 如果返回类型是列表,则这被视为分层结果听写。

请参阅此文件中的三个示例:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

as_dict(keep_readonly: bool = True, key_transformer: ~typing.Callable[[str, ~typing.Dict[str, ~typing.Any], ~typing.Any], ~typing.Any] = <function attribute_transformer>, **kwargs: ~typing.Any) -> MutableMapping[str, Any]

参数

名称 说明
key_transformer
<xref:function>

密钥转换器函数。

keep_readonly
默认值: True

返回

类型 说明

与 dict JSON 兼容的对象

deserialize

使用 RestAPI 语法分析 str 并返回模型。

deserialize(data: Any, content_type: str | None = None) -> ModelType

参数

名称 说明
data
必需
str

使用 RestAPI 结构的 str。 默认情况下为 JSON。

content_type
str

默认情况下,如果 XML,则设置 application/xml。

默认值: None

返回

类型 说明

此模型的实例

例外

类型 说明
DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending() -> None

from_dict

使用给定的键提取程序分析 dict 返回一个模型。

默认情况下,请考虑密钥提取程序 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor和last_rest_key_case_insensitive_extractor)

from_dict(data: Any, key_extractors: Callable[[str, Dict[str, Any], Any], Any] | None = None, content_type: str | None = None) -> ModelType

参数

名称 说明
data
必需

使用 RestAPI 结构的 dict

content_type
str

默认情况下,如果 XML,则设置 application/xml。

默认值: None
key_extractors
默认值: None

返回

类型 说明

此模型的实例

例外

类型 说明
DeserializationError if something went wrong

is_xml_model

is_xml_model() -> bool

serialize

返回将从此模型发送到服务器的 JSON。

这是as_dict (full_restapi_key_transformer的别名 ,keep_readonly=False)

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

serialize(keep_readonly: bool = False, **kwargs: Any) -> MutableMapping[str, Any]

参数

名称 说明
keep_readonly

如果要序列化只读属性

默认值: False

返回

类型 说明

与 dict JSON 兼容的对象