Шаблоны в ElasticSearch - PullRequest
       4

Шаблоны в ElasticSearch

0 голосов
/ 12 октября 2018

У меня мало сомнений относительно шаблонов индекса и использования этих шаблонов при создании нового документа.1. PUT _template / template_1 Я упомянул только одно поле в файле отображения, которое анализируется пользователем.

 {
        "index_patterns": ["te*", "bar*"],
        "settings":{
             "analysis": {
                        "analyzer": {
                            "analyzer2": {
                                "filter": [
                                    "standard"
                                ],
                                "tokenizer": "whitespace"
                            },
                             "analyzer1": {
                                "filter": [
                                    "standard"
                                ],
                                "tokenizer": "tokenizer1"
                            }
                        },
                           "tokenizer": {
                            "tokenizer1": {
                                "min_gram": "3",
                                "tokenize_on_chars": [
                                    "letter",
                                    "digit"
                                ],
                                "type": "edge_ngram",
                                "max_gram": "3"
                            }
                        }
             }
        },
        "mappings": {
                "_doc": {
                    "properties": {
                        "search": {
                            "type": "text",

                            "fields": {
                               "analyzer1": {
                                    "type": "text",
                                    "analyzer":"analyzer1"
                                },
                               "analyzer2": {
                                    "type": "text",
                                    "analyzer":"analyzer2"
                                },

                                "keyword": {
                                    "type": "keyword",
                                    "ignore_above": 256
                                }
                            }
                        }
                    }
                }
     }
    }
 _template/template_1

2.POST / tea / _doc / 1 создается новый документ этого типа с новыми метаданными

{
    "search":"elastic",
    "metadata":"search"
}

3.GET / tea / _doc / _mapping При получении файла сопоставления вновь добавленное поле используется по умолчаниюанализируется, а не на заказ анализируется.Как применить эти пользовательские анализаторы по умолчанию при обнаружении новых метаданных в документе

{
    "tea": {
        "mappings": {
            "_doc": {
                "properties": {
                    "metadata": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "search": {
                        "type": "text",
                        "fields": {
                            "analyzer1": {
                                "type": "text",
                                "analyzer": "analyzer1"
                            },
                            "analyzer2": {
                                "type": "text",
                                "analyzer": "analyzer2"
                            },
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
            }
        }
    }
}

1 Ответ

0 голосов
/ 12 октября 2018

Согласно документации анализатора , если вы назовете свой анализатор "default", он будет использоваться в качестве анализатора по умолчанию.

Из документации:

Во время индекса Elasticsearch будет искать анализатор в следующем порядке:

  • analyzer, определенный в отображении поля.
  • Анализатор с именем default в настройках индекса.
  • Анализатор standard.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...