Недопустимый тип формата недопустимой версии для поиска и недопустимый аргумент - PullRequest
0 голосов
/ 12 апреля 2019

код питона

request_body = {
    "settings": {
        "index" : {"number_of_shards" : 1, "number_of_replicas" : 0 
      }},
    "mappings": {
        "document": {"dynamic": "strict","properties": {
                "doc_name": { "type": "text"},                   
                "doc_location" : { "type" : "text" },
                "doc_keywords": { "type": "nested","properties": {
                        "dynamic": "true","tag": {"type": "text"},
                        "score": {"type": "text"}
                    } } }} }}
 es_object.indices.create(index=index_name, ignore=400,body=request_body)


def store_document(es_object, index_name, doc_name, doc_location, result_dictionary):
    keyword_nested_obj = []
    for key, value in result_dictionary.items():
        keyword_nested_obj.append({"tag":key, "score":value})
    doc = {
        "doc_name" : doc_name,
        "doc_s3_location" : doc_s3_location,
        "doc_keywords" : keyword_nested_obj
    }
    es_object.index(index = index_name, doc_type = 'document', body=doc)

#sample data storage
doc_location = "link"
doc_name = "00000020"
result_dictionary = {}
result_dictionary['Duplex and color Doppler'] = 0.7
result_dictionary['Compressibility'] = 0.6
result_dictionary['augmentation'] = 0.7

# Call the function
store_document(es_object, "documentrepository", doc_name, doc_location,
 result_dictionary)

Ниже поиска выдает ошибку

json_q = json.dumps({"query": { "match_all": {}}})
res = es_object.search(index="documentrepository", doc_type="document", 
body=json_q)

Ошибка:

RequestError: RequestError(400, 'illegal_argument_exception', 'invalid 
version format: {}}}GET /DOCUMENTREPOSITORY/DOCUMENT/_SEARCH HTTP/1.1')

Сервер Elasticsearch версии 6.7.1 и драйвер python> 6. Также приведенный выше фрагмент кода отлично работает сastic-search 5.6.8 и драйвером python 5.5.3. Есть ли какие-либо выводы?

1 Ответ

0 голосов
/ 12 апреля 2019

Для сообщества, публикующего ответ, в самом начале я думал, что это может быть проблема несовпадения версий.В основном, в конфигурации AWS транспортный порт (по умолчанию 9300) закрыт на другом экземпляре ec2, который был пропущен при установке 6.7.1.

installasticsearch на aws

Эластичный справочник по поиску

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