asticsearch.exceptions.RequestError: RequestError (400, 'mapper_parsing_exception', 'Нет обработчика для типа [строка], объявленного в поле [тексты]') - PullRequest
0 голосов
/ 10 января 2019

Я использую Python Apiasticsearch для создания отображений, но все пошло не так:

es = Elasticsearch("localhost:9200")
request_body = {
    "settings": {
        "number_of_shards": 5,
        "number_of_replicas": 1
    },
    'mappings': {
        'examplecase': {
            'properties': {
                'tbl_id': {'index': 'not_analyzed', 'type': 'string'},
                'texts': {'index': 'analyzed', 'type': 'string'},
            }
        }
    }
}
es.indices.create(index='example_index', body=request_body)

он показывает elasticsearch.exceptions.RequestError: RequestError(400, 'mapper_parsing_exception', 'No handler for type [string] declared on field [texts]'), и я нахожу какое-то решение, которое они говорят: используйте text вместо string в типе поля, но оно также пошло не так: elasticsearch.exceptions.RequestError: RequestError(400, 'mapper_parsing_exception', 'Failed to parse mapping [examplecase]: Could not convert [texts.index] to boolean'). The elasticsearch version isasticsearch-6.5.4 . How can I deal with it?

Ответы [ 2 ]

0 голосов
/ 10 января 2019

это

'index': 'проанализирован' ИЛИ ​​'index': 'not_analyzed'

является более старой версией эластичного поиска и не требуется.

Все, что вам нужно сделать, это использовать ' text ' для анализируемых строковых полей и ' ключевое слово ' для текстовых полей not_analyzed, например:

es = Elasticsearch("localhost:9200")
request_body = {
    "settings": {
        "number_of_shards": 5,
        "number_of_replicas": 1
    },
    'mappings': {
        'examplecase': {
            'properties': {
                'tbl_id': {'type': 'keyword'},
                'texts': {'type': 'text'},
            }
        }
    }
}
es.indices.create(index='example_index', body=request_body)

см. Ссылку в Elastic docs здесь: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html

0 голосов
/ 10 января 2019

См. это . Параметр index в вашем отображении настроен неправильно. Это параметр отображения, и его можно установить только в true или false. Вы не можете установить это в параметре свойств.

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