2013-12-13 3 views
13

Я уже искал это с 2 дней. Я использую модуль chrome для проверки, чтобы проверить свои запросы, но не могу определить, на каком индексе он должен искать. Поэтому мои запросы ищут по всем индексам, и это непросто использовать.Запрос Elasticsearch по определенному индексу

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

GET _search 
{ 
    "query": { 
     "term": { 
      "_index": { 
       "value": "dev_events2" 
      } 
     } 
    } 

} 

GET _search 
{ 
    "_index": "dev_events2", 
    "query": { 
     "match_all" : { } 
    } 

} 

GET _search 
{ 
    "index": "dev_events2", 
    "query": { 
     "match_all" : { } 
    } 

} 

С уважением,

Бенджамин В.


Редактировать Я, наконец, нашел ответ: просто добавьте имя индекса в URL для получения: localhost: 9201/myIndexName

+0

вы также можете фильтровать по _index: «», если ваше отображение для Документов «_index ": {" enabled ": true} – mconlin

+0

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html –

ответ

13

Вы также можете добавить индекс/тип в GET/PUT/DELETE ... запрос:

GET index/type/_search 
{ 
    "query": { 
     "bool": { 
      "must": [ 
       { 
        "term": { 
         ... 
        } 
       } 
      ] 
     } 
    } 
} 
4

Heres локон пример того, что работает, и позволяет искать несколько индексов:

curl 'http://localhost:9200/myindex1,myindex2/_search?q=*' 

Для одного конкретного показателя:

curl 'http://localhost:9200/myindex1/_search?q=*' 

Чтобы найти искомые индексы:

curl 'localhost:9200/_cat/indices' 

И если вы хотите найти все индексы:

curl 'localhost:9200/_search?pretty' 
1
GET index_name/_search 
{ 
    "query": { 
     "match_all" : { } 
    } 
} 

или указать тип индекса

GET index_name/index_type/_search 
{ 
    "query": { 
     "match_all" : { } 
    } 
} 
Смежные вопросы