operator search

Mencari pola teks dalam beberapa tabel dan kolom.

Catatan

Jika Anda mengetahui tabel dan kolom tertentu yang ingin Anda cari, lebih berkinerja untuk menggunakan gabungan dan operatordi mana . Operator search bisa lambat saat mencari di sejumlah besar tabel dan kolom.

Sintaks

[T|] search [kind=CaseSensitivity ] [in(TableSources)] SearchPredicate

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
T string Sumber data tabular yang akan dicari, seperti nama tabel, operator gabungan, atau hasil kueri tabular. Tidak dapat muncul bersama dengan TableSources.
CaseSensitivity string Bendera yang mengontrol perilaku semua string operator skalar, seperti has, sehubungan dengan sensitivitas huruf besar/kecil. Nilai yang valid adalah default, case_insensitive, case_sensitive. Opsi default dan case_insensitive identik, karena perilaku default tidak peka huruf besar/kecil.
TableSources string Daftar nama tabel "kartubebas" yang dipisahkan koma untuk mengambil bagian dalam pencarian. Daftar ini memiliki sintaksis yang sama dengan daftar operator union. Tidak dapat muncul bersama dengan TabularSource.
SearchPredicate string ✔️ Ekspresi boolean yang akan dievaluasi untuk setiap rekaman dalam input. Jika mengembalikan true, rekaman akan dihasilkan. Lihat Sintaksis predikat pencarian.

Sintaksis predikat pencarian

SearchPredicate memungkinkan Anda mencari istilah tertentu di semua kolom tabel. Operator yang akan diterapkan ke istilah pencarian tergantung pada keberadaan dan penempatan tanda bintang kartubebas (*) dalam istilah , seperti yang ditunjukkan dalam tabel berikut.

Harfiah Operator
billg has
*billg hassuffix
billg* hasprefix
*billg* contains
bi*lg matches regex

Anda juga dapat membatasi pencarian ke kolom tertentu, mencari kecocokan yang tepat alih-alih kecocokan istilah, atau mencari berdasarkan ekspresi reguler. Sintaks untuk setiap kasus ini diperlihatkan dalam tabel berikut.

Sintaks Penjelasan
ColumnName:StringLiteral Sintaks ini dapat digunakan untuk membatasi pencarian ke kolom tertentu. Perilaku defaultnya adalah mencari semua kolom.
ColumnName==StringLiteral Sintaks ini dapat digunakan untuk mencari kecocokan yang tepat dari kolom terhadap nilai string. Perilaku defaultnya adalah mencari kecocokan istilah.
Kolommatches regexStringLiteral Sintaks ini menunjukkan pencocokan ekspresi reguler, di mana StringLiteral adalah pola regex.

Gunakan ekspresi boolean untuk menggabungkan kondisi dan membuat pencarian yang lebih kompleks. Misalnya, "error" and x==123 akan menghasilkan pencarian rekaman yang memiliki istilah error di kolom apa pun dan nilai 123 dalam x kolom.

Catatan

Jika TabularSource dan TableSources dihilangkan, pencarian dilakukan di semua tabel dan tampilan database yang tidak dibatasi dalam cakupan.

Contoh sintaks predikat pencarian

# Sintaks Artinya (setara where) Komentar
1 search "err" where * has "err"
2 search in (T1,T2,A*) "err" union T1,T2,A* | yang mana * memiliki "err"
3 search col:"err" where col has "err"
4 search col=="err" where col=="err"
5 search "err*" where * hasprefix "err"
6 search "*err" where * hassuffix "err"
7 search "*err*" where * contains "err"
8 search "Lab*PC" where * matches regex @"\bLab.*PC\b"
9 search * where 0==0
10 search col matches regex "..." where col matches regex "..."
11 search kind=case_sensitive Perbandingan string tidak peka huruf besar/kecil
12 search "abc" and ("def" or "hij") where * has "abc" and (* has "def" or * has hij")
13 search "err" or (A>a and A<b) where * has "err" or (A>a and A<b)

Keterangan

Tidak sepertioperator temukan, operator search tidak mendukung hal berikut:

  1. withsource=: Output akan selalu menyertakan kolom yang disebut $table jenis string yang nilainya adalah nama tabel tempat setiap rekaman diambil (atau beberapa nama yang dihasilkan sistem jika sumbernya bukan tabel tetapi ekspresi komposit).
  2. project=, project-smart: Skema output setara dengan skema output project-smart.

Contoh

Cari istilah di semua tabel dan tampilan database yang tidak dibatasi dalam cakupan.

search "Green"

Output berisi rekaman dari Customerstabel , Products, dan SalesTable . Catatan menunjukkan Customers semua pelanggan dengan nama belakang "Hijau", dan Products rekaman dan SalesTable menunjukkan produk dengan beberapa penyebutan "Hijau".

Cari rekaman yang cocok dengan kedua istilah di semua tabel dan tampilan database yang tidak dibatasi dalam cakupan.

search "Green" and ("Deluxe" or "Proseware")

Mencari tabel tertentu

Cari hanya dalam Customers tabel.

search in (Products) "Green"

Cari rekaman yang cocok dengan istilah peka huruf besar/kecil di semua tabel dan tampilan database yang tidak dibatasi dalam cakupan.

search kind=case_sensitive "blue"

Mencari kolom tertentu

Cari istilah di kolom "FirstName" dan "LastName" di semua tabel dan tampilan database yang tidak dibatasi dalam cakupan.

search FirstName:"Aaron" or LastName:"Hughes"

Batasi pencarian menurut tanda waktu

Cari istilah di semua tabel dan tampilan database yang tidak dibatasi dalam cakupan jika istilah muncul dalam rekaman dengan tanggal yang lebih besar dari tanggal tertentu.

search "Hughes" and DateKey > datetime('2009-01-01')

Tips Performa

# Tip Memilih Over
1 Lebih suka menggunakan satu operator search daripada beberapa operator search berturut-turut search "billg" and ("steveb" or "satyan") cari "billg" | cari "steveb" atau "satyan"
2 Lebih suka memfilter di dalam operator search search "billg" and "steveb" cari * | yang mana * memiliki "billg" dan * memiliki "steveb"