Ekspresi pengurutan presisi memberi skor pada kandidat dari pengurutan kasar dan mengembalikan hasil dengan peringkat tertinggi. Anda dapat menetapkan ekspresi pengurutan kustom per aplikasi serta menyertakannya dalam kueri pencarian untuk mengontrol cara hasil diurutkan. Ekspresi pengurutan mendukung operasi dasar (aritmetika, relasional, logika, bitwise, dan kondisional), fungsi matematika, serta fungsi fitur yang dijelaskan pada halaman ini.
Operasi dasar—aritmetika, relasional, logika, dan kondisional—memerlukan angka atau nilai bidang bertipe NUMERIC. Sebagian besar operasi berbasis fungsi tidak dapat diterapkan pada nilai bertipe STRING.
Relevansi teks
Gunakan fungsi relevansi teks untuk mengukur seberapa dekat konten dokumen sesuai dengan kueri pencarian.
| Function | What it returns |
|---|---|
text_relevance | Skor relevansi teks antara kueri pencarian dan nilai bidang |
field_match_ratio | Rasio jumlah kata kunci yang sesuai dalam suatu bidang terhadap total jumlah kata kunci dalam bidang tersebut |
query_match_ratio | Rasio jumlah kata kunci kueri yang mengenai bidang tertentu terhadap total jumlah kata kunci dalam kueri pencarian |
fieldterm_proximity | Kedekatan kata kunci yang sesuai di dalam suatu bidang |
field_length | Jumlah kata kunci dalam suatu bidang |
query_term_count | Jumlah kata kunci dalam kueri pencarian setelah analisis |
query_term_match_count | Jumlah kata kunci kueri yang mengenai bidang tertentu dalam suatu dokumen |
field_term_match_count | Jumlah kata kunci dalam suatu bidang yang sesuai dengan kueri pencarian |
query_min_slide_window | Rasio jumlah kata kunci kueri yang mengenai bidang tertentu terhadap jendela minimum yang memuat kata kunci tersebut dalam bidang |
Relevansi lokasi geografis
Gunakan fungsi geo untuk memberi skor dokumen berdasarkan kedekatannya dengan titik referensi. Ketiga fungsi decay (gauss_decay, linear_decay, exp_decay) memiliki konsep dasar yang sama—yaitu menghitung skor yang menurun seiring nilai semakin menjauh dari origin yang ditentukan—namun berbeda dalam bentuk kurva decay-nya (Gaussian berbentuk lonceng, linear, atau eksponensial). Pilih kurva yang paling sesuai dengan kecepatan penurunan skor yang diinginkan seiring bertambahnya jarak.
| Function | What it returns |
|---|---|
distance | Jarak bola antara dua titik geografis; umum digunakan dalam skenario layanan berbasis lokasi (LBS) |
gauss_decay | Skor decay menggunakan fungsi Gaussian (kurva lonceng) berdasarkan jarak dari origin yang ditentukan |
linear_decay | Skor decay menggunakan fungsi linear berdasarkan jarak dari origin yang ditentukan |
exp_decay | Skor decay menggunakan fungsi eksponensial berdasarkan jarak dari origin yang ditentukan |
Ketepatan waktu
Gunakan fungsi ketepatan waktu untuk memberi skor dokumen berdasarkan seberapa baru dokumen tersebut dibuat atau diperbarui. Pilih satuan waktu sesuai dengan tingkat presisi yang dibutuhkan oleh aplikasi Anda.
| Function | What it returns |
|---|---|
timeliness | Skor ketepatan waktu yang menunjukkan tingkat kesegaran dokumen, dalam satuan detik |
timeliness_ms | Skor ketepatan waktu yang menunjukkan tingkat kesegaran dokumen, dalam satuan milidetik |
Fungsionalitas
Gunakan fungsi-fungsi ini untuk tugas pengurutan spesifik: pemberian skor berbasis tag, meneruskan skor dari pengurutan kasar, ekstraksi parameter kueri, normalisasi skor, dan pemeriksaan keanggotaan himpunan.
| Function | What it returns |
|---|---|
tag_match | Skor berdasarkan kecocokan klausa kueri terhadap tag dokumen, dengan bobot sesuai bobot tag yang cocok |
first_phase_score | Skor yang dihitung oleh ekspresi pengurutan kasar |
kvpairs_value | Nilai bidang tertentu dari klausa kvpairs dalam kueri |
normalize | Skor yang dinormalisasi dari rentang nilai aslinya ke [0,1] |
in atau notin | Apakah nilai bidang termasuk (atau tidak termasuk) dalam daftar yang ditentukan |
Langkah berikutnya
Urutkan hasil pencarian berdasarkan relevansi — mulai gunakan pengurutan berbasis relevansi untuk aplikasi forum, berita, dan sejenisnya.