Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mencari Rentetan dengan Awalan dalam App Engine Datastore?

Bagaimana untuk Mencari Rentetan dengan Awalan dalam App Engine Datastore?

Barbara Streisand
Barbara Streisandasal
2024-10-24 06:46:021051semak imbas

How to Find Strings with Prefixes in App Engine Datastore?

Cari dalam App Engine Datastore: Mencari Rentetan dengan Awalan

Pengenalan:

Mencari entiti di mana medan nama bermula dengan rentetan tertentu adalah keperluan biasa dalam pertanyaan data. Google App Engine Datastore menyediakan cara untuk mencapai ini, tetapi ia mungkin tidak dapat dilihat dengan serta-merta. Artikel ini menunjukkan cara membina pertanyaan sedemikian dan meneroka penyelesaian alternatif dalam perkhidmatan Enjin Apl lain.

Pernyataan Masalah:

"Saya telah cuba mendapatkan semula tempat yang namanya bermula dengan rentetan tertentu menggunakan pertanyaan penapis, tetapi ia tidak berfungsi adakah fungsi ini disokong dalam Datastore, dan jika tidak, apakah beberapa penyelesaian yang mungkin?"

Pembinaan Pertanyaan:

Gerak hati di sebalik pertanyaan awalan adalah untuk menapis entiti yang namanya lebih besar daripada rentetan awalan. Walau bagaimanapun, menggunakan hanya satu penapis ketaksamaan (cth., Nama > "a") akan gagal kerana ia mengecualikan semua entiti dengan nama bermula dengan awalan.

Penyelesaian terletak pada menggabungkan dua penapis ketaksamaan. Kita perlu menentukan bahawa nama itu lebih besar daripada atau sama dengan rentetan awalan dan kurang daripada rentetan leksikografik seterusnya.

Contoh Pertanyaan:

Mari kita dapatkan semula tempat yang mulakan dengan "li":

q = datastore.NewQuery("Places").Filter("Name >=", "li").Filter("Name <", "lj")

Penjelasan:

  • Penapis pertama memastikan Nama lebih besar daripada atau sama dengan "li."
  • Penapis kedua mengecualikan "li" itu sendiri dengan menyatakan Nama itu kurang daripada "lj", yang merupakan rentetan leksikografik seterusnya selepas "li."

Penyelesaian Alternatif:

Jika pendekatan ini tidak memenuhi keperluan khusus, App Engine menawarkan perkhidmatan lain untuk pertanyaan lanjutan:

  • BigQuery: Memanfaatkan sintaks SQL dan menyokong cekap menanyakan pada set data besar-besaran.
  • BigTable: Pangkalan data berskala berprestasi tinggi sesuai untuk data siri masa dan analitis masa nyata.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Rentetan dengan Awalan dalam App Engine Datastore?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn