Elasticsearch: поле, вставленное с сопоставлением ключевых слов, становится строковым типом - PullRequest
0 голосов
/ 30 августа 2018

Версия Elasticsearch: 5.6.5

Я использую Elasticsearch Python API для создания индексов и документов массовой вставки:

EVENT = {
    "mappings": {
        "my_mapping": {
            "properties": {
                "event_time": {
                    "type": "date"
                },
                "some_field": {
                    "type": "keyword"
                }
            }
        }
    }
}

es = Elasticsearch("localhost")
es.indices.create(index="some_index", ignore=400, body=EVENT)
actions = [
            {
                '_index': index,
                '_type': "my_mapping",
                '_source': doc
            } for doc in a_list_of_dictionaries]
helpers.bulk(es, actions, raise_on_error=True, request_timeout=15)

Однако приведенный выше код создал поле "some_field" в виде string вместо keyword, я также вижу строковое поле с именем "some_field.keyword", заполненное автоматически.

Как создать поле keyword, чтобы я мог искать только точное совпадение всего слова?

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