English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Доступ SQL Elasticsearch

Это компонент, который позволяет выполнять аналогичные sql в реальном времени в Elasticsearch. запросов. Вы можете рассматривать Elasticsearch SQL как переводчик, который понимает как SQL, так и Elasticsearch, и Функции Elasticsearch, которые позволяют легко читать и обрабатывать данные в реальном времени.

Преимущества Elasticsearch SQL

  • Он имеет локальную интеграцию − эффективно выполняет каждый запрос для соответствующих узлов на основе нижнего уровня хранения.

  • Нет внешних компонентов − не требует дополнительных аппаратных средств, процессов, времени выполнения или библиотек для запросов в Elasticsearch.

  • Легковесность и эффективность − оно включает и публикует SQL для выполнения соответствующего полнотекстового поиска в реальном времени.

Пример

PUT /schoollist/_bulk?refresh
   {"index":{"_id":"CBSE"}}
   {"name": "GleanDale", "Address": "JR. Court Lane", "start_date": "2011-06-02",
   "student_count": 561}
   {"index":{"_id": "ICSE"}}
   {"name": "Top-Notch", "Address": "Gachibowli Main Road", "start_date": "1989-
   05-26", "student_count": 482}
   {"index":{"_id": "State Board"}}
   {"name": "Sunshine", "Address": "Main Street", "start_date": "1965-06-01",
   "student_count": 604}

После выполнения вышеуказанного кода, мы получаем следующий ответ:

{
   "took" : 277,
   "errors" : false,
   "items" : [
      {
         "index" : {
            "_index" : "schoollist",
            "_type" : "_doc",
            "_id" : "CBSE",
            "_version" : 1,
            "result" : "created",
            "forced_refresh" : true,
            "_shards" : {
               "total" : 2,
               "successful" : 1,
               "failed" : 0
            }
            "_seq_no" : 0,
            "_primary_term" : 1,
            "status" : 201
         }
      }
      {
         "index" : {
            "_index" : "schoollist",
            "_type" : "_doc",
            "_id" : "ICSE",
            "_version" : 1,
            "result" : "created",
            "forced_refresh" : true,
            "_shards" : {
               "total" : 2,
               "successful" : 1,
               "failed" : 0
            }
            "_seq_no" : 1,
            "_primary_term" : 1,
            "status" : 201
         }
      }
      {
         "index" : {
            "_index" : "schoollist",
            "_type" : "_doc",
            "_id" : "State Board",
            "_version" : 1,
            "result" : "created",
            "forced_refresh" : true,
            "_shards" : {
               "total" : 2,
               "successful" : 1,
               "failed" : 0
            }
            "_seq_no" : 2,
            "_primary_term" : 1,
            "status" : 201
         }
      }
   ]
}

SQL-запрос

Ниже приведен пример того, как строится SQL-запрос-

POST /_sql?format=txt
{
   "query": "SELECT * FROM schoollist WHERE дата_начала < '2000-01-01'"
}

После выполнения вышеуказанного кода, мы получаем следующий ответ:

Адрес             | имя          | дата_начала             | количество_студентов
--------------------+---------------+------------------------+---------------
Gachibowli Main Road | Top-Notch | 1989-05-26T00:00:00.000Z | 482
Main Street | Sunshine | 1965-06-01T00:00:00.000Z | 604

Заметка −Изменяя SQL запрос вверху, вы можете получить разные наборы результатов.