Ekspresi pengurutan halus digunakan untuk memberikan skor dan mengurutkan hasil yang sudah diurutkan secara kasar, mengembalikan hasil optimal. Anda dapat menyesuaikan ekspresi pengurutan sesuai kebutuhan aplikasi serta menentukannya dalam kueri pencarian untuk mengurutkan hasil. Ekspresi pengurutan mendukung operasi dasar, fungsi matematika, dan fungsi fitur. Operasi dasar mencakup aritmatika, relasional, logika, bitwise, serta operasi kondisional. OpenSearch menyediakan template ekspresi untuk membantu pencarian pada aplikasi tipikal seperti forum dan aplikasi berita. Anda dapat memilih template yang sesuai berdasarkan karakteristik data dan memodifikasinya untuk menghasilkan ekspresi kustom. Topik ini menjelaskan fungsi pengurutan halus yang didukung.
Catatan: Untuk melakukan operasi dasar seperti aritmatika, relasional, logika, dan operasi kondisional, Anda harus menggunakan angka atau nilai bidang tipe NUMERIC dalam ekspresi pengurutan. Sebagian besar operasi berbasis fungsi tidak dapat dilakukan pada nilai tipe STRING.
Relevansi teks
text_relevance: Menghitung relevansi teks antara kueri pencarian dan nilai bidang dalam dokumen.
field_match_ratio: Mengembalikan rasio jumlah istilah yang cocok dengan kueri pencarian terhadap jumlah total istilah dalam sebuah bidang.
query_match_ratio: Mengembalikan rasio jumlah istilah yang ditemukan dalam bidang tertentu terhadap jumlah total istilah dalam kueri pencarian.
fieldterm_proximity: Mengembalikan kedekatan istilah dalam sebuah bidang.
field_length: Mengembalikan jumlah istilah dalam sebuah bidang.
query_term_count: Mengembalikan jumlah istilah dalam kueri pencarian setelah analisis.
query_term_match_count: Mengembalikan jumlah istilah dalam kueri pencarian yang ditemukan dalam bidang tertentu dalam dokumen.
field_term_match_count: Mengembalikan jumlah istilah yang cocok dengan kueri pencarian dalam sebuah bidang.
query_min_slide_window: Mengembalikan rasio jumlah istilah dalam kueri pencarian yang ditemukan dalam bidang tertentu terhadap jendela minimum dari istilah-istilah tersebut dalam bidang tersebut.
Relevansi lokasi geografis
distance: Mengembalikan jarak bola antara dua titik. Fungsi ini umumnya digunakan dalam perhitungan jarak untuk layanan berbasis lokasi (LBS).
gauss_decay: Menggunakan fungsi Gaussian untuk menghitung tingkat peluruhan berdasarkan jarak antara nilai-nilai dan titik awal yang ditentukan.
linear_decay: Menggunakan fungsi linier untuk menghitung tingkat peluruhan berdasarkan jarak antara nilai-nilai dan titik awal yang ditentukan.
exp_decay: Menggunakan fungsi eksponensial untuk menghitung tingkat peluruhan berdasarkan jarak antara nilai-nilai dan titik awal yang ditentukan.
Ketepatan waktu
timeliness: Mengembalikan skor ketepatan waktu yang menunjukkan seberapa baru sebuah dokumen. Satuan: detik.
timeliness_ms: Mengembalikan skor ketepatan waktu yang menunjukkan seberapa baru sebuah dokumen. Satuan: milidetik.
Relevansi algoritma
category_score: Fungsi prediksi kategori yang mengembalikan skor kecocokan antara bidang kategori yang ditentukan dalam parameter dan kategori yang diperoleh melalui kueri prediksi kategori.
popularity: Mengembalikan skor popularitas suatu komoditas. Skor tersebut menunjukkan tingkat popularitas komoditas tersebut.
Fungsionalitas
tag_match: Mencocokkan klausa kueri dengan dokumen berdasarkan tag dan memberi skor dokumen dengan menghitung bobot tag yang cocok.
first_phase_score: Mengembalikan skor yang dihitung menggunakan ekspresi pengurutan kasar.
kvpairs_value: Mengembalikan nilai bidang yang ditentukan dalam klausa kvpairs dalam sebuah kueri.
normalize: Menormalisasi skor dalam rentang nilai yang berbeda menjadi nilai numerik dalam rentang [0,1].
in or notin: Memeriksa apakah nilai bidang berada dalam daftar tertentu.