Запрос Elasticsearch по определенному индексу
Я уже искал это с 2 дней. Я использую модуль chrome для проверки, чтобы проверить свои запросы, но не могу определить, на каком индексе он должен искать. Поэтому мои запросы ищут по всем индексам, и это непросто использовать.
Я пробовал следующие синтаксисы:
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 для get: localhost: 9201/myIndexName
Ответы
Ответ 1
Вы также можете добавить индекс/тип в запрос GET/PUT/DELETE...:
GET index/type/_search
{
"query": {
"bool": {
"must": [
{
"term": {
...
}
}
]
}
}
}
Ответ 2
Heres curl пример того, что работает, и позволяет вам искать несколько индексов:
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'
Ответ 3
GET index_name/_search
{
"query": {
"match_all" : { }
}
}
или указать тип индекса
GET index_name/index_type/_search
{
"query": {
"match_all" : { }
}
}