2016-06-10 3 views
1

Я использовал ES некоторое время, но сегодня не работает. Я воссоздал свою докер-Compose (может быть СМТ там?), Эти данные я имею в ES:Эластичный поиск не дает результатов

редактировать: это мой вход (здесь я имею _source = False)

{'mappings': {'doc': {'_all': {'enabled': False}, 'dynamic': False, 'properties': {u'string': {'index': 'not_analyzed', 'type': 'string'}, '_time': {'index': 'not_analyzed', 'type': 'date'}, u'float': {'index': 'not_analyzed', 'type': 'float'}, u'datetime': {'index': 'not_analyzed', 'type': 'date'}, u'boolean': {'index': 'not_analyzed', 'type': 'boolean'}, u'integer': {'index': 'not_analyzed', 'type': 'long'}}, '_source': {'enabled': False}}}} 

схемы :

{ 
    "07533744-b0e6-4a2f-8e94-1f7501589fee": { 
    "aliases": {}, 
    "mappings": { 
     "doc": { 
     "dynamic": "false", 
     "properties": { 
      "_time": { 
      "type": "date", 
      "format": "strict_date_optional_time||epoch_millis" 
      }, 
      "boolean": { 
      "type": "boolean" 
      }, 
      "datetime": { 
      "type": "date", 
      "format": "strict_date_optional_time||epoch_millis" 
      }, 
      "float": { 
      "type": "float" 
      }, 
      "integer": { 
      "type": "long" 
      }, 
      "string": { 
      "type": "string", 
      "index": "not_analyzed" 
      } 
     } 
     } 
    }, 
    "settings": { 
     "index": { 
     "creation_date": "1465555846775", 
     "number_of_shards": "5", 
     "number_of_replicas": "1", 
     "uuid": "-nZGMXbFRryraL0gPnr80g", 
     "version": { 
      "created": "2030399" 
     } 
     } 
    }, 
    "warmers": {} 
    } 
} 

Документы (некоторые) с match_all запроса:

{ 
    "took": 15, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 10, 
    "max_score": 1, 
    "hits": [ 
     { 
     "_index": "07533744-b0e6-4a2f-8e94-1f7501589fee", 
     "_type": "doc", 
     "_id": "49279857-84a7-4570-ad8e-9051079ca0ac", 
     "_score": 1, 
     "_source": { 
      "doc": { 
      "string": "1", 
      "_time": "2016-06-10T12:50:59.509593", 
      "float": 1.1, 
      "datetime": "2016-06-10T12:50:59.497620", 
      "boolean": false, 
      "integer": 1 
      } 
     } 
     }, 

теперь запроса: {"query": {"bool": {"must": [{"match": {"integer": 1}}]}}}

возвращает

{ 
    "took": 4, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 0, 
    "max_score": null, 
    "hits": [] 
    } 
} 

любая идея, где проблема может быть?

Edit: не запрашивая с завитка curl -XGET -d '{"query": {"bool": {"must": [{"match": {"integer": 1}}]}}}' http://192.168.99.100:9200/07533744-b0e6-4a2f-8e94-1f7501589fee/doc/_search (не найдено)

curl -XGET -d '{"query": {"bool": {"must": [{"match": {"_id": "49279857-84a7-4570-ad8e-9051079ca0ac"}}]}}}' http://192.168.99.100:9200/07533744-b0e6-4a2f-8e94-1f7501589fee/doc/_search (получает результат)

ответ

1

Попробуйте term запрос вместо:

{ 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "term": { 
      "integer": 1 
      } 
     } 
     ] 
    } 
    } 
} 

UPDATE

Не e, чтобы ваш документ не соответствовал отображению, которое вы показываете нам.

"_source": { 
     "doc": { 
     "string": "1", 
     "_time": "2016-06-10T12:50:59.509593", 
     "float": 1.1, 
     "datetime": "2016-06-10T12:50:59.497620", 
     "boolean": false, 
     "integer": 1 
     } 
    } 

должно быть, как это, т.е. без doc поля.

"_source": { 
     "string": "1", 
     "_time": "2016-06-10T12:50:59.509593", 
     "float": 1.1, 
     "datetime": "2016-06-10T12:50:59.497620", 
     "boolean": false, 
     "integer": 1 

    } 
+0

же результата. он работал до матча. это может быть ошибка или проблема изображения elasticsearch. или мой компьютер. остальное верно? – EsseTi

+0

Странно, как вы выполняете свой запрос? – Val

+0

как через почтальон, так и через библиотеку python. такие же результаты. – EsseTi

1

Попробуйте тот же запрос, который вы хотите, но сделать небольшое изменение

GET 07533744-b0e6-4a2f-8e94-1f7501589fee/doc/_search 
{ 
    "query": { 
     "bool": { 
     "should": [ 
      { 
       "match": { 
        "doc.integer": 1 
       } 
      } 
     ] 
     } 
    } 
} 

Использование doc.integer вместо целое

+0

одинаковые результаты (не работает) – EsseTi

+0

@EsseTi Я вставил то же самое отображение и документ, приведенные выше, он отлично работает для меня .. Раньше, что вы пытались, даже работая для меня, но это –

+0

@EsseTi вы используете подсказку плагина или curl для запроса elasticsearch ..? –