全部产品
Search
文档中心

:jarak

更新时间:Jun 26, 2025

Fungsi yang dapat digunakan sebagai fungsi fitur dan fungsi fungsionalitas

Bidang yang direferensikan dalam parameter fungsi harus dikonfigurasi sebagai bidang indeks atau atribut, sesuai dengan deskripsi setiap fungsi.

Bidang yang direferensikan dalam parameter fungsi ini harus dikonfigurasi sebagai bidang indeks atau atribut sesuai dengan deskripsi setiap fungsi.

jarak: mengembalikan jarak bola antara dua titik, sering digunakan dalam layanan berbasis lokasi

    1. Sintaksis

    jarak(longitude_a, latitude_a, longitude_b, latitude_b, nama_keluaran)

    2. Parameter

    • longitude_a: Nilai longitude dari Titik a. Nilai parameter ini dapat berupa nama bidang bertipe FLOAT.

    • latitude_a: Nilai latitude dari Titik a. Nilai parameter ini dapat berupa nama bidang bertipe FLOAT.

    • longitude_b: Nilai longitude dari Titik b. Nilai parameter ini dapat berupa nama bidang bertipe FLOAT atau bidang yang ditentukan dalam klausa kvpairs di string kueri.

    • latitude_b: Nilai latitude dari Titik b. Nilai parameter ini dapat berupa nama bidang bertipe FLOAT atau bidang yang ditentukan dalam klausa kvpairs di string kueri.

    • nama_keluaran: Nilai pengembalian. Parameter ini opsional. Anda dapat menentukan parameter ini untuk mendapatkan jarak yang dihitung dalam hasil pencarian.

    3. Nilai Pengembalian

    Jarak antara Titik a dan Titik b. Satuan: kilometer. Nilai pengembalian bertipe FLOAT.

    4. Skenario

    Skenario 1: Cari KFC dalam radius 10 kilometer dari koordinat pengguna. Dalam contoh ini, longitude dan latitude adalah 120.34256 dan 30.56982. Bidang lon dan lat yang menentukan longitude dan latitude KFC harus dikonfigurasi sebagai bidang atribut. Hasil pencarian diurutkan berdasarkan urutan dekat-ke-jauh.

    # Gunakan fungsi jarak dalam klausa sortir.
    query=default:'KFC'&&
    filter=distance(lon,lat,"120.34256","30.56982")<10&&
    sort=+distance(lon,lat,"120.34256","30.56982")
    
    # Gunakan fungsi jarak dalam ekspresi penyortiran halus.
    Sebagai alternatif, Anda dapat menggunakan klausa kvpairs untuk memasukkan koordinat pengguna dan gunakan ekspresi penyortiran halus berikut untuk mengurutkan hasil pencarian berdasarkan jarak:
    kvpairs=longitude_in_query:120.34256, latitude_in_query:30.56982
    distance(longitude_in_doc, latitude_in_doc, longitude_in_query, latitude_in_query, distance_value)

5. Catatan Penggunaan

  • Bidang yang direferensikan dalam parameter fungsi ini harus dikonfigurasi sebagai bidang atribut.

  • Parameter nama_keluaran hanya dapat digunakan dalam ekspresi penyortiran halus. Parameter ini tidak dapat digunakan dalam klausa filter atau sortir. Jika Anda menentukan parameter nama_keluaran, nilai jarak sebenarnya dikembalikan dalam node variableValue. Node variableValue hanya dikembalikan ketika format respons diatur ke XML atau JSON penuh. Anda dapat menentukan format dalam klausa config dengan menyetel parameter format.