Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
system:elasticsearch:mapping [2018/01/29 10:33] – [Типы array/object/nested] mirocow | system:elasticsearch:mapping [2018/01/29 10:47] (текущий) – [Nested(вложенный) type] mirocow |
---|
| |
=== Nested(вложенный) type === | === Nested(вложенный) type === |
| |
| Подробнее о типе можно узнать из документации [[https://www.elastic.co/guide/en/elasticsearch/reference/5.6/nested.html|Nested datatype]] |
| |
Document \\ | Document \\ |
| |
Для поиска по nested типу следует использовать [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-nested-query.html|nested query]] или [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-nested-filter.html|nested filter]]. | Для поиска по nested типу следует использовать [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-nested-query.html|nested query]] или [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-nested-filter.html|nested filter]]. |
| |
| === Multi-fields === |
| |
| Этот параметр позволяет указать разные настройки маппинга для одного поля. Добавлен ко все базовым типам (кроме nested и object). |
| |
| <code json> |
| "title": { |
| "type": "string", |
| "fields": { |
| "raw": { "type": "string", "index": "not_analyzed" } |
| } |
| } |
| </code> |
| |
| Если отключить анализатор, поиск будет работать не на полную катушку, а если включить, то группировать мы будем не по сырым данным, а по обработанным. Например, Санкт-Петербург после анализатора будет «Санкт» и «Петербург». |
| Теперь мы можем обращаться к «title» за поиском и к «raw» за группировкой и любыми другими видами сортировки. |
| |
| === Остальные типы === |
| |
| * [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-ip-type.html|ip type]] — хранение ip в виде цифр |
| * [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-geo-point-type.html|geo point type]] — хранение координат (удобно при поиске ближайших объектов к определённой координате) |
| * [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-geo-shape-type.html|geo point type]] — довольно специфичный тип для хранение определённых полигонов |
| * [[http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-attachment-type.html|attachment type]] — Хранение файлов в базе закодированных в base64. Обычно используется с связке с собственным анализатором. (Хотя как по мне, удовольствие сомнительное) |
| |
| |