Saya mencoba beberapa kueri dan menemukan bahwa beberapa kueri SQL berfungsi sementara beberapa tidak.

Saya mengunggah data pengujian menggunakan alat dev. Saya telah mengunggah beberapa ratus dokumen (crwaler) juga.

PUT /library/book/_bulk?refresh&pretty
{"index":{"_id": "Leviathan Wakes"}}
{"name": "Leviathan Wakes", "author": "James S.A. Corey", "release_date": "2011-06-02", "page_count": 561}
{"index":{"_id": "Hyperion"}}
{"name": "Hyperion", "author": "Dan Simmons", "release_date": "1989-05-26", "page_count": 482}
{"index":{"_id": "Dune"}}
{"name": "Dune", "author": "Frank Herbert", "release_date": "1965-06-01", "page_count": 604}
  1. Ini bekerja dengan benar dan menunjukkan indeks.
SHOW tables LIKE %;

.kibana_1
cwl-2021.01.05
library
  1. Ini juga berfungsi. Menampilkan 42 catatan.
select * from .kibana_1;

Ini berfungsi seperti yang diharapkan:

select * from library where page_count > 500 and name = 'Dune'
  1. Ini tidak bekerja:
select * from cwl-2021.01.05

Mendapatkan kesalahan "tidak ada respons"

  1. Ini berfungsi tetapi hanya menunjukkan 200 catatan dari 400:
select * from cwl*
  1. Ini hanya berfungsi jika ID berada dalam 200 catatan pertama:
select * from cwl* where requestID = '3FB4131539FD4403'

Bahasa kueri pipa berfungsi seperti yang diharapkan hanya dengan indeks perpustakaan.

search source=library page_count > 500 and name = 'Dune'

Ini tidak bekerja dengan indeks lain seperti .kibana_1 atau cwl-2021.01.05

Saya tidak yakin bagaimana SQL dan PPL didukung dalam contoh elasticsearch AWS.

0
shantanuo 5 Januari 2021, 07:25

3 jawaban

Jawaban Terbaik

Anda selalu dapat menggunakan backtick untuk kasus pengguna ini. misalnya

POST /_opendistro/_ppl
{
  "query": """
    source=`filebeat-7.10.0-2020.11.28`
  """
}
1
penghuo 7 Januari 2021, 17:15

Silakan merujuk ke referensi ini untuk membatasi pengidentifikasi untuk menggunakan karakter khusus.

https://github.com/opendistro-for-elasticsearch/sql/blob/develop/docs/experiment/ppl/general/identifiers.rst#delimited-identifiers

Lebih lanjut tentang dokumentasi:

Sql : https://github.com/ opendistro-for-elasticsearch/sql/blob/develop/docs/user/index.rst

Ppl : https://github. com/opendistro-for-elasticsearch/sql/blob/develop/docs/experiment/ppl/index.rst

Kontribusi: https://github.com/opendistro- for-elasticsearch/sql/blob/develop/docs/developing.rst

Forum: https://discuss.opendistrocommunity.dev/c/sql/8

Sql/ppl : keduanya dikembangkan di sumber terbuka dan digunakan apa adanya di layanan aws.

1
Anirudha Jadhav 7 Januari 2021, 16:08

Ini karena SQL dan PPL tidak menyukai karakter khusus seperti titik atau tanda hubung dalam nama tabel.

PUT /cwl-2021.01.06/_alias/cwl20210106

PUT /cwl-2021.01.07/_alias/cwl20210107

Saya membuat alias dan sekarang semuanya tampak berfungsi seperti yang diharapkan.

pilih * dari cwl20210107 di mana eventID = 'xxx' batas 100

Semua ketukan, perayap (secara default) memiliki karakter khusus dalam nama indeksnya. Tidak mudah untuk mengubah nama indeks. :)

0
shantanuo 7 Januari 2021, 04:40