web-dev-qa-db-fra.com

Requête Elasticsearch sur un index spécifique

Je recherche déjà cela depuis 2 jours maintenant. J'utilise le sens chrome pour pouvoir tester mes requêtes mais je ne trouve pas comment spécifier sur quel index il est censé chercher. Donc mes requêtes recherchent sur tous les index et n'est pas facile à utiliser.

J'ai essayé les syntaxes suivantes:

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

}

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

}

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

}

Cordialement,

Benjamin V.


Modifier J'ai enfin trouvé la réponse: il suffit d'ajouter le nom d'index dans l'URL pour le get: localhost: 9201/myIndexName

24
user2003035

Vous pouvez également ajouter l'index/type à la requête GET/PUT/DELETE ...:

GET index/type/_search
{
   "query": {
        "bool": {
            "must": [
                {
                    "term": {
                        ...
                    }
                }
            ]
        }
    }
}
19
Christian Müller

Heres curl exemple ce qui fonctionne et vous permet de rechercher plusieurs index:

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

Pour un index spécifique unique:

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

Pour rechercher des noms d'index:

curl 'localhost:9200/_cat/indices'

Et si vous souhaitez rechercher tous les index:

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

ou spécifiez le type d'index

GET index_name/index_type/_search
{
    "query": {
        "match_all" : { }
    }
}
12
Michael Wong