Класс yii\elasticsearch\Query
| Наследование | yii\elasticsearch\Query » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\db\QueryInterface |
| Использует трейты | yii\db\QueryTrait |
| Подклассы | yii\elasticsearch\ActiveQuery |
| Доступен с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-elasticsearch/blob/master/Query.php |
Query представляет запрос к API поиска elasticsearch.
Query предоставляет набор методов для удобного задания различных параметров запроса. Эти методы можно использовать по цепочке.
Вызывая createCommand(), мы можем получить экземпляр yii\elasticsearch\Command, который можно использовать для выполнения запроса к базе данных.
Например,
$query = new Query;
$query->fields('id, name')
->from('myindex', 'users')
->limit(10);
// build and execute the query
$command = $query->createCommand();
$rows = $command->search(); // this way you get the raw output of elasticsearch.
Обычно вызывается $query->search() вместо создания команды, так как этот метод добавляет indexBy() функциональность и также устраняет некоторые несоответствия в ответе.
Query также предоставляет некоторые методы для более легкого получения только определенных частей результата:
- one(): возвращает единственную запись, заполненную первой строкой данных.
- all(): возвращает все записи на основе результатов запроса.
- count(): возвращает количество записей.
- scalar(): возвращает значение первого столбца в первой строке результата запроса.
- column(): возвращает значение первого столбца в результате запроса.
- exists(): возвращает значение, указывающее, содержит ли результат запроса данные или нет.
ПРИМЕЧАНИЕ: elasticsearch по умолчанию ограничивает количество возвращаемых записей 10. Если ожидается получить больше записей, необходимо явно указать лимит.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $aggregations | массив | Список агрегаций для добавления в этот запрос. | yii\elasticsearch\Query |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединенных к этому компоненту | yii\base\Component |
| $emulateExecution | логическое значение | Имитировать фактическое выполнение запроса, возвращая пустые или ложные результаты. | yii\db\QueryTrait |
| $explain | логическое значение | Включает объяснение для каждого совпадения, как рассчитывается его рейтинг. | yii\elasticsearch\Query |
| $fields | массив | Поля, извлекаемые из документов. | yii\elasticsearch\Query |
| $filter | массив|строка | Часть фильтра этого запроса поиска. | yii\elasticsearch\Query |
| $highlight | массив | Часть выделения этого запроса поиска. | yii\elasticsearch\Query |
| $index | строка|массив | Индекс для извлечения данных. | yii\elasticsearch\Query |
| $indexBy | строка|обратный вызов | Имя столбца, по которому должны индексироваться результаты запроса. | yii\db\QueryTrait |
| $limit | целое число|yii\db\Expression | Максимальное количество записей, которые будут возвращены. | yii\db\QueryTrait |
| $minScore | вещественное число | Исключить документы, у которых _score меньше минимального значения, указанного в min_score | yii\elasticsearch\Query |
| $offset | целое число|yii\db\Expression | Смещение с нуля, с которого должны возвращаться записи. | yii\db\QueryTrait |
| $options | массив | Список параметров, которые будут переданы командам, созданным этим запросом. | yii\elasticsearch\Query |
| $orderBy | массив | Как отсортировать результаты запроса. | yii\db\QueryTrait |
| $postFilter | строка|массив | Часть post_filter запроса поиска для дифференцированного фильтрации результатов поиска и агрегаций. | yii\elasticsearch\Query |
| $query | массив|строка | Часть запроса поиска. | yii\elasticsearch\Query |
| $source | массив | Этот параметр управляет тем, как _source поле возвращается из документов. | yii\elasticsearch\Query |
| $stats | массив | Часть 'stats' запроса. | yii\elasticsearch\Query |
| $suggest | массив | Список подсказок для добавления в этот запрос. | yii\elasticsearch\Query |
| $timeout | целое число | Таймаут поиска, ограничивающий выполнение запроса поиска указанным значением времени и прерывающий выполнение с сохраненными совпадениями до этого момента при истечении срока действия. | yii\elasticsearch\Query |
| $type | строка|массив | Тип для извлечения данных. | yii\elasticsearch\Query |
| $where | строка|массив | Условие запроса. | yii\db\QueryTrait |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в значение null. | yii\base\Component |
| addAgg() | yii\elasticsearch\Query | |
| addAggregate() | Добавляет агрегацию к этому запросу. Поддерживает вложенные агрегации. | yii\elasticsearch\Query |
| addAggregation() | yii\elasticsearch\Query | |
| addOptions() | Добавляет дополнительные параметры, перезаписывая существующие. | yii\elasticsearch\Query |
| addOrderBy() | Добавляет дополнительные столбцы ORDER BY к запросу. | yii\db\QueryTrait |
| addSuggester() | Добавляет суггестор к этому запросу. | yii\elasticsearch\Query |
| all() | Выполняет запрос и возвращает все результаты в виде массива. | yii\elasticsearch\Query |
| andFilterWhere() | Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. | yii\db\QueryTrait |
| andWhere() | Добавляет дополнительное условие WHERE к существующему. | yii\db\QueryTrait |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| batch() | Запускает пакетный запрос. | yii\elasticsearch\Query |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| column() | Выполняет запрос и возвращает первый столбец результата. | yii\elasticsearch\Query |
| count() | Возвращает количество записей. | yii\elasticsearch\Query |
| createCommand() | Создаёт команду БД, которая может быть использована для выполнения этого запроса. | yii\elasticsearch\Query |
| delete() | Выполняет запрос и удаляет все соответствующие документы. | yii\elasticsearch\Query |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| each() | Запускает пакетный запрос и извлекает данные строка за строкой. | yii\elasticsearch\Query |
| emulateExecution() | Устанавливает, следует ли эмулировать выполнение запроса, предотвращая взаимодействие с хранилищем данных. | yii\db\QueryTrait |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| exists() | Возвращает значение, указывающее, содержит ли результат запроса хоть одну строку данных. | yii\elasticsearch\Query |
| explain() | Объясняет, как вычисляется рейтинг каждого документа. | yii\elasticsearch\Query |
| fields() | Устанавливает поля для извлечения из документов. | yii\elasticsearch\Query |
| filter() | Устанавливает часть фильтра этого поискового запроса. | yii\elasticsearch\Query |
| filterWhere() | Устанавливает часть WHERE запроса, но игнорирует пустые операнды. | yii\db\QueryTrait |
| from() | Устанавливает индекс и тип для извлечения документов. | yii\elasticsearch\Query |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединённые к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикреплённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| highlight() | Устанавливает параметры выделения для извлечения из документов. | yii\elasticsearch\Query |
| indexBy() | Устанавливает свойство indexBy(). | yii\db\QueryTrait |
| init() | Инициализирует объект. | yii\elasticsearch\Query |
| limit() | Устанавливает часть LIMIT запроса. | yii\db\QueryTrait |
| minScore() | yii\elasticsearch\Query | |
| off() | Открепляет существующий обработчик событий от этого компонента. | yii\base\Component |
| offset() | Устанавливает часть OFFSET запроса. | yii\db\QueryTrait |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| one() | Выполняет запрос и возвращает единственную строку результата. | yii\elasticsearch\Query |
| options() | Устанавливает параметры, которые будут переданы команде, созданной этим запросом. | yii\elasticsearch\Query |
| orFilterWhere() | Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. | yii\db\QueryTrait |
| orWhere() | Добавляет дополнительное условие WHERE к существующему. | yii\db\QueryTrait |
| orderBy() | Устанавливает часть ORDER BY запроса. | yii\db\QueryTrait |
| populate() | Преобразует результаты необработанного запроса в формат, заданный этим запросом. | yii\elasticsearch\Query |
| postFilter() | Устанавливает часть post_filter поискового запроса. | yii\elasticsearch\Query |
| query() | Устанавливает часть запроса для этого поискового запроса. | yii\elasticsearch\Query |
| scalar() | Возвращает результат запроса как скалярное значение. | yii\elasticsearch\Query |
| search() | Выполняет запрос и возвращает полный результат поиска, включая, например, попадания, фасеты, общее количество результатов. | yii\elasticsearch\Query |
| source() | Устанавливает фильтрацию источника, определяя, как должно возвращаться поле _source документа. | yii\elasticsearch\Query |
| stats() | Добавляет часть 'stats' в запрос. | yii\elasticsearch\Query |
| timeout() | Устанавливает таймаут поиска. | yii\elasticsearch\Query |
| trigger() | Вызывает событие. | yii\base\Component |
| where() | Устанавливает часть WHERE запроса. | yii\db\QueryTrait |
Защищенные методы
| Метод | Описание | Определено |
|---|---|---|
| filterCondition() | Удаляет пустые операнды из заданного условия запроса. | yii\db\QueryTrait |
| isEmpty() | Возвращает значение, указывающее, является ли данное значение "пустым". | yii\db\QueryTrait |
| normalizeOrderBy() | Нормализует формат данных ORDER BY | yii\db\QueryTrait |
Подробное описание свойств
$aggregations общедоступное свойство
Список агрегаций для добавления в этот запрос.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/1.x/search-aggregations.html.
public array $aggregations = []
$explain общедоступное свойство (доступно начиная с версии 2.0.5)
Включает объяснение для каждого результата, как был вычислен его рейтинг.
См. также https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-explain.html.
public boolean $explain = null
$fields общедоступное свойство
Поля, извлекаемые из документов. Например, ['id', 'name']. Если не задано, этот параметр не будет применен к запросу, и поля не будут возвращены. В этом случае поле _source будет возвращено по умолчанию, что можно настроить с помощью source(). Установка этого параметра в пустой массив приведет к тому, что поля не будут извлечены, что означает, что только первичный ключ записи будет доступен в результате.
Для каждого поля вы также можете добавить массив, представляющий поле сценария. Пример:
$query->fields = [
'id',
'name',
'value_times_two' => [
'script' => "doc['my_field_name'].value * 2",
],
'value_times_factor' => [
'script' => "doc['my_field_name'].value * factor",
'params' => [
'factor' => 2.0
],
],
]
Примечание: Значения полей всегда возвращаются в виде массивов, даже если у них есть только одно значение.
См. также:
- http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-fields.html#search-request-fields
- http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-script-fields.html
- fields()
- source()
public array $fields = null
$filter общедоступное свойство
Часть фильтра этого поискового запроса. Это массив или json-строка, которые соответствуют формату Query DSL elasticsearch.
public array|string $filter = null
$highlight общедоступное свойство
Часть выделения этого поискового запроса. Это массив, который позволяет выделять результаты поиска по одному или нескольким полям.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/1.x/search-request-highlighting.html.
public array $highlight = null
$index общедоступное свойство
Индекс для извлечения данных. Это может быть строка, представляющая один индекс, или массив, представляющий несколько индексов. Если это не задано, индексы будут запрошены.
См. также from().
public string|array $index = null
$minScore общедоступное свойство (доступно начиная с версии 2.0.4)
Исключить документы, у которых _score меньше, чем минимальное значение, указанное в min_score
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-min-score.html.
public float $minScore = null
$options общедоступное свойство (доступно начиная с версии 2.0.4)
Список параметров, которые будут переданы командам, созданным этим запросом.
См. также yii\elasticsearch\Command::$options.
public array $options = []
$postFilter общедоступное свойство (доступно начиная с версии 2.0.5)
Часть post_filter поискового запроса для дифференциальной фильтрации результатов поиска и агрегаций.
См. также https://www.elastic.co/guide/en/elasticsearch/guide/current/_post_filter.html.
public string|array $postFilter = null
$query общедоступное свойство
Часть запроса этого поискового запроса. Это массив или json-строка, которые соответствуют формату Query DSL elasticsearch.
public array|string $query = null
$source общедоступное свойство
Этот параметр контролирует, как возвращается поле _source из документов. Например, ['id', 'name'] означает, что должны быть возвращены только поля id и name из _source. Если не задано, это означает извлечение всего поля _source, если не указаны fields(). Установка этого параметра в false отключит возвращение поля _source, что означает, что только первичный ключ записи будет доступен в результате.
См. также:
- http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html
- source()
- fields()
public array $source = null
$stats общедоступное свойство
Часть 'stats' запроса. Массив групп для поддержания агрегации статистики.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search.html#stats-groups.
public array $stats = []
$suggest общедоступное свойство
Список суффиксов для добавления в этот запрос.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html.
public array $suggest = []
$timeout общедоступное свойство
Таймаут поиска, ограничивающий запрос поиска временем выполнения и прекращающий его с накопленными результатами по истечении времени. По умолчанию таймаут отсутствует.
См. также:
- timeout()
- http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html#_parameters_5
public integer $timeout = null
$type общедоступное свойство
Тип для получения данных. Это может быть строка, представляющая один тип, или массив, представляющий несколько типов. Если это не установлено, все типы запрашиваются.
См. также from().
public string|array $type = null
Подробное описание методов
addAgg() public method
Устарело начиная с 2.0.5. Используйте addAggragate() вместо этого. Добавляет агрегацию к этому запросу. Это псевдоним для addAggregation().См. также http://www.elastic.co/guide/en/elasticsearch/reference/1.x/search-aggregations.html.
| public $this addAgg ( $name, $type, $options ) | ||
|---|---|---|
| $name | string |
Имя агрегации |
| $type | string |
Тип агрегации. Например, |
| $options | string|array |
Параметры конфигурации этой агрегации. Может быть массивом или строкой JSON. |
| return | $this |
Сам объект запроса |
addAggregate() public method
Добавляет агрегацию к этому запросу. Поддерживает вложенные агрегации.
См. также https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-aggregations.html.
| public $this addAggregate ( $name, $options ) | ||
|---|---|---|
| $name | string |
Имя агрегации |
| $options | string|array |
Параметры конфигурации этой агрегации. Может быть массивом или строкой JSON. |
| return | $this |
Сам объект запроса |
addAggregation() public method
Устарело начиная с 2.0.5. Используйте addAggragate() вместо этого. Добавляет агрегацию к этому запросу.См. также http://www.elastic.co/guide/en/elasticsearch/reference/1.x/search-aggregations.html.
| public $this addAggregation ( $name, $type, $options ) | ||
|---|---|---|
| $name | string |
Имя агрегации |
| $type | string |
Тип агрегации. Например, |
| $options | string|array |
Параметры конфигурации этой агрегации. Может быть массивом или строкой JSON. |
| return | $this |
Сам объект запроса |
addOptions() public method (доступно начиная с версии 2.0.4)
Добавляет дополнительные параметры, перезаписывая существующие.
См. также options().
| public $this addOptions ( $options ) | ||
|---|---|---|
| $options | array |
Добавляемые параметры. |
| return | $this |
Сам объект запроса |
| throws | yii\base\InvalidParamException |
если $options не является массивом |
addSuggester() public method
Добавляет подсказчик к этому запросу.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html.
| public $this addSuggester ( $name, $definition ) | ||
|---|---|---|
| $name | string |
Имя подсказчика |
| $definition | string|array |
Параметры конфигурации этого подсказчика. Может быть массивом или строкой JSON. |
| return | $this |
Сам объект запроса |
all() public method
Выполняет запрос и возвращает все результаты в виде массива.
| public array all ( $db = null ) | ||
|---|---|---|
| $db | yii\elasticsearch\Connection |
Подключение к базе данных, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | array |
Результаты запроса. Если в результате запроса ничего нет, возвращается пустой массив. |
batch() public method (доступно начиная с версии 2.0.4)
Запускает пакетный запрос.
Пакетный запрос поддерживает извлечение данных по частям, что может поддерживать использование памяти в пределах заданных пределов. Этот метод вернёт объект yii\elasticsearch\BatchQueryResult, который реализует интерфейс Iterator и позволяет перебирать данные по частям.
Например,
$query = (new Query)->from('user');
foreach ($query->batch() as $rows) {
// $rows is an array of 10 or fewer rows from user table
}
Размер пакета определяется настройкой limit (обратите внимание, что в режиме сканирования предел пакета относится к каждому фрагменту).
| public yii\elasticsearch\BatchQueryResult batch ( $scrollWindow = '1m', $db = null ) | ||
|---|---|---|
| $scrollWindow | string |
Время, в течение которого Elasticsearch должен сохранять контекст поиска, в единицах измерения времени time units |
| $db | yii\elasticsearch\Connection |
Подключение к базе данных. Если не задано, используется компонент |
| return | yii\elasticsearch\BatchQueryResult |
Результат пакетного запроса. Он реализует интерфейс Iterator и позволяет перебирать данные по частям. |
column() public method
Выполняет запрос и возвращает первый столбец результата.
| public array column ( $field, $db = null ) | ||
|---|---|---|
| $field | string |
Поле для запроса |
| $db | yii\elasticsearch\Connection |
Подключение к базе данных, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | array |
Первый столбец результата запроса. Если запрос ничего не возвращает, возвращается пустой массив. |
count() public method
Возвращает количество записей.
| public integer count ( $q = '*', $db = null ) | ||
|---|---|---|
| $q | string |
Выражение COUNT. Этот параметр игнорируется в данной реализации. |
| $db | yii\elasticsearch\Connection |
Подключение к базе данных, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | integer |
Количество записей |
createCommand() public method
Создаёт команду базы данных, которая может быть использована для выполнения этого запроса.
| public yii\elasticsearch\Command createCommand ( $db = null ) | ||
|---|---|---|
| $db | yii\elasticsearch\Connection |
Подключение к базе данных, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | yii\elasticsearch\Command |
Созданный экземпляр команды базы данных. |
delete() public method
Выполняет запрос и удаляет все соответствующие документы.
Всё кроме запроса и фильтра будет проигнорировано.
| public array delete ( $db = null, $options = [] ) | ||
|---|---|---|
| $db | yii\elasticsearch\Connection |
Соединение с базой данных, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент |
| $options | array |
Параметры, заданные для этого запроса. |
| return | array |
Результаты запроса. |
each() public method (available since version 2.0.4)
Начинает пакетный запрос и извлекает данные строка за строкой.
Этот метод аналогичен batch(), за исключением того, что на каждой итерации результата возвращается только одна строка данных. Например,
$query = (new Query)->from('user');
foreach ($query->each() as $row) {
}
| public yii\elasticsearch\BatchQueryResult each ( $scrollWindow = '1m', $db = null ) | ||
|---|---|---|
| $scrollWindow | string |
Сколько времени Elasticsearch должен хранить контекст поиска, в единицах времени |
| $db | yii\elasticsearch\Connection |
Соединение с базой данных. Если не задано, будет использован компонент |
| return | yii\elasticsearch\BatchQueryResult |
Результат пакетного запроса. Он реализует интерфейс Iterator и может быть пройден для извлечения данных по частям. |
exists() public method
Возвращает значение, указывающее, содержит ли результат запроса какие-либо строки данных.
| public boolean exists ( $db = null ) | ||
|---|---|---|
| $db | yii\elasticsearch\Connection |
Соединение с базой данных, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент |
| return | boolean |
Содержит ли результат запроса какие-либо строки данных. |
explain() public method (available since version 2.0.5)
Объясняет, как вычисляется рейтинг каждого документа.
См. также $explain.
| public $this explain ( $explain ) | ||
|---|---|---|
| $explain | ||
fields() public method
Устанавливает поля, которые нужно извлечь из документов.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-fields.html.
| public $this fields ( $fields ) | ||
|---|---|---|
| $fields | array |
Поля для выбора. |
| return | $this |
Объект запроса. |
filter() public method
Устанавливает часть фильтра этого запроса поиска.
| public $this filter ( $filter ) | ||
|---|---|---|
| $filter | string | |
| return | $this |
Объект запроса. |
from() public method
Устанавливает индекс и тип для извлечения документов.
| public $this from ( $index, $type = null ) | ||
|---|---|---|
| $index | string|array |
Индекс для извлечения данных. Может быть строкой, представляющей один индекс, или массивом, представляющим несколько индексов. Если это |
| $type | string|array |
Тип для извлечения данных. Может быть строкой, представляющей один тип, или массивом, представляющим несколько типов. Если это |
| return | $this |
Объект запроса. |
highlight() public method
Устанавливает параметры выделения для извлечения из документов.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html.
| public $this highlight ( $highlight ) | ||
|---|---|---|
| $highlight | array |
Массив параметров для выделения результатов. |
| return | $this |
Объект запроса. |
init() public method
Инициализирует объект.
Этот метод вызывается в конце конструктора после инициализации объекта заданной конфигурацией.
| public void init ( ) |
|---|
minScore() public method (available since version 2.0.4)
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-min-score.html.
| public static minScore ( $minScore ) | ||
|---|---|---|
| $minScore | float |
Исключить документы, у которых рейтинг |
| return | static |
Объект запроса. |
one() public method
Выполняет запрос и возвращает одну строку результата.
| public array|boolean one ( $db = null ) | ||
|---|---|---|
| $db | yii\elasticsearch\Connection |
Соединение с базой данных, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент |
| return | array|boolean |
Первая строка (с точки зрения массива) результата запроса. Возвращается false, если результат запроса пуст. |
options() public method (available since version 2.0.4)
Устанавливает параметры, которые должны быть переданы команде, созданной этим запросом.
См. также yii\elasticsearch\Command::$options.
| public $this options ( $options ) | ||
|---|---|---|
| $options | array |
Параметры, которые нужно установить. |
| return | $this |
Объект запроса. |
| throws | yii\base\InvalidParamException |
если $options не является массивом |
populate() public method (available since version 2.0.4)
Преобразует необработанные результаты запроса в формат, указанный в этом запросе.
Этот метод используется во внутреннем режиме для преобразования данных, извлеченных из базы данных, в формат, требуемый этим запросом.
| public array populate ( $rows ) | ||
|---|---|---|
| $rows | array |
Необработанный результат запроса из базы данных |
| return | array |
Преобразованный результат запроса |
postFilter() public method (available since version 2.0.5)
Устанавливает post_filter часть запроса поиска.
См. также $postFilter.
| public $this postFilter ( $filter ) | ||
|---|---|---|
| $filter | строка|массив | |
| return | $this |
Сам объект запроса |
query() public method
Устанавливает часть запроса для данного поиска.
| public $this query ( $query ) | ||
|---|---|---|
| $query | строка|массив | |
| return | $this |
Сам объект запроса |
scalar() public method
Возвращает результат запроса как скалярное значение.
Возвращаемое значение будет заданным полем в первом документе результатов запроса.
| public строка scalar ( $field, $db = null ) | ||
|---|---|---|
| $field | строка |
Имя атрибута для выбора |
| $db | yii\elasticsearch\Connection |
Подключение к базе данных, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент |
| return | строка |
Значение указанного атрибута в первой записи результата запроса. Возвращается Null, если результат запроса пуст или поле не существует. |
search() public method
Выполняет запрос и возвращает полный результат поиска, включая, например, совпадения, аспекты, общее количество.
| public массив search ( $db = null, $options = [] ) | ||
|---|---|---|
| $db | yii\elasticsearch\Connection |
Подключение к базе данных, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент |
| $options | массив |
Опции, заданные для данного запроса. Возможные опции: |
| return | массив |
Результаты запроса. |
source() public method
Устанавливает фильтрацию источника, определяя, как должно возвращаться поле _source документа.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html.
| public $this source ( $source ) | ||
|---|---|---|
| $source | массив |
Шаблоны источника, которые необходимо выбрать. |
| return | $this |
Сам объект запроса |
stats() public method
Добавляет часть 'stats' в запрос.
См. также http://www.elastic.co/guide/en/elasticsearch/reference/current/search.html#stats-groups.
| public $this stats ( $groups ) | ||
|---|---|---|
| $groups | массив |
Массив групп, для которых необходимо сохранить статистическую агрегацию. |
| return | $this |
Сам объект запроса |
timeout() public method
Устанавливает таймаут поиска.
| public $this timeout ( $timeout ) | ||
|---|---|---|
| $timeout | целое число |
Таймаут поиска, ограничивающий выполнение запроса заданным значением времени и завершающийся с накопленными результатами совпадений при истечении срока действия. По умолчанию таймаут не установлен. |
| return | $this |
Сам объект запроса |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-elasticsearch-query.html