Поделиться через


SearchField Класс

Представляет поле в определении индекса, которое описывает имя, тип данных и поведение поиска поля.

Для отправки в Azure необходимо заполнить все необходимые параметры.

Наследование
azure.search.documents.indexes._generated._serialization.Model
SearchField

Конструктор

SearchField(**kwargs)

Переменные

Имя Описание
name
str

Имя поля, которое должно быть уникальным в пределах коллекции полей индекса или родительского поля. Обязательный.

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 или Collection(Edm.String) доступны для поиска по умолчанию. Это свойство должно иметь значение false для простых полей других нестроковых типов данных, а для сложных полей оно должно иметь значение NULL. Примечание. Поля, доступные для поиска, занимают дополнительное место в индексе, так как Когнитивный поиск Azure будет хранить дополнительную версию значения поля с маркерами для полнотекстового поиска. Если вы хотите сэкономить место в индексе и не нужно включать поле в поисковые запросы, задайте для параметра Searchable значение false.

filterable

Значение типа , указывающее, следует ли включать ссылки на поле в $filter запросах. Фильтруемый отличается от доступных для поиска способом обработки строк. Поля типа Edm.String или Collection(Edm.String), которые являются фильтруемыми, не подвергаются разбиениям по словам, поэтому сравнения предназначены только для точных совпадений. Например, если задать для такого поля f значение "солнечный день", $filter=f eq "sunny" не найдет совпадений, но $filter=f eq "солнечный день". Для сложных полей это свойство должно иметь значение NULL. Значение по умолчанию равно true для простых полей и null для сложных полей.

sortable

Значение , указывающее, следует ли включать ссылки на поле в $orderby выражениях. По умолчанию Когнитивный поиск Azure сортирует результаты по оценке, но во многих интерфейсах пользователи хотят сортировать по полям в документах. Простое поле можно сортировать только в том случае, если оно имеет одно значение (оно имеет одно значение в область родительского документа). Простые поля коллекции нельзя сортировать, так как они имеют многозначные значения. Простые вложенные поля сложных коллекций также имеют многозначные значения и, следовательно, не могут быть сортируемыми. Это верно независимо от того, является ли это непосредственно родительским полем или полем-предком, то есть сложной коллекцией. Сложные поля не могут быть сортируемыми, и для таких полей свойство должно иметь значение NULL. Значение по умолчанию для сортируемых полей равно true для простых полей с одним значением, false для многозначных простых полей и null для сложных полей.

facetable

Значение типа , указывающее, следует ли включать ссылки на поле в фасетных запросах. Обычно используется в представлении результатов поиска, включая количество попаданий по категориям (например, поиск цифровых камер и просмотр хитов по брендам, мегапикселям, по цене и т. д.). Для сложных полей это свойство должно иметь значение NULL. Поля типа Edm.GeographyPoint или Collection(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", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "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", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", " 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", "ключевое слово", "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", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "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", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", " 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", "ключевое слово", "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", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "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", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", " 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", "ключевое слово", "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.

Дополнительное использование может использовать обратный вызов в качестве параметра:

Ключ — это имя атрибута, используемого в Python. Attr_desc — это диктовка метаданных. В настоящее время содержит "тип" с типом msrest и "key" с ключом в кодировке RestAPI. Значение — это текущее значение в этом объекте.

Возвращаемая строка будет использоваться для сериализации ключа. Если тип возвращаемого значения является списком, это считается иерархическим результирующим диктом.

См. три примера в этом файле:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Если требуется xml-сериализация, можно передать kwargs is_xml=True.

deserialize

Синтаксический анализ str с помощью синтаксиса RestAPI и возврат модели.

enable_additional_properties_sending
from_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.

Дополнительное использование может использовать обратный вызов в качестве параметра:

Ключ — это имя атрибута, используемого в Python. Attr_desc — это диктовка метаданных. В настоящее время содержит "тип" с типом msrest и "key" с ключом в кодировке RestAPI. Значение — это текущее значение в этом объекте.

Возвращаемая строка будет использоваться для сериализации ключа. Если тип возвращаемого значения является списком, это считается иерархическим результирующим диктом.

См. три примера в этом файле:

  • 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

Возвращаемое значение

Тип Описание

Объект, совместимый с JSON для дикта

deserialize

Синтаксический анализ str с помощью синтаксиса RestAPI и возврат модели.

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

Параметры

Имя Описание
data
Обязательно
str

Строка, использующий структуру RestAPI. JSON по умолчанию.

content_type
str

JSON по умолчанию задайте значение application/xml if XML.

значение по умолчанию: None

Возвращаемое значение

Тип Описание

Экземпляр этой модели

Исключения

Тип Описание
DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending() -> None

from_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

content_type
str

JSON по умолчанию задайте значение application/xml if 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

Возвращаемое значение

Тип Описание

Объект, совместимый с JSON для дикта