SearchField Класс
Представляет поле в определении индекса, которое описывает имя, тип данных и поведение поиска поля.
Для отправки в Azure необходимо заполнить все необходимые параметры.
- Наследование
-
azure.search.documents.indexes._generated._serialization.ModelSearchField
Конструктор
SearchField(**kwargs)
Переменные
Имя | Описание |
---|---|
name
|
Имя поля, которое должно быть уникальным в пределах коллекции полей индекса или родительского поля. Обязательный. |
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
|
Размерность поля вектора. |
vector_search_profile_name
|
Имя профиля поиска вектора, указывающего алгоритм, используемый при поиске в поле вектора. |
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. Значение — это текущее значение в этом объекте. Возвращаемая строка будет использоваться для сериализации ключа. Если тип возвращаемого значения является списком, это считается иерархическим результирующим диктом. См. три примера в этом файле:
Если требуется 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
Обязательно
|
Строка, использующий структуру RestAPI. JSON по умолчанию. |
content_type
|
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
|
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 для дикта |
Azure SDK for Python