Maison > développement back-end > Golang > Comment rechercher des chaînes avec des préfixes dans App Engine Datastore ?

Comment rechercher des chaînes avec des préfixes dans App Engine Datastore ?

Barbara Streisand
Libérer: 2024-10-24 06:46:02
original
1069 Les gens l'ont consulté

How to Find Strings with Prefixes in App Engine Datastore?

Recherche dans App Engine Datastore : recherche de chaînes avec préfixes

Introduction :

Recherche d'entités là où commence le champ de nom avec une chaîne particulière est une exigence courante dans les requêtes de données. Google App Engine Datastore fournit un moyen d'y parvenir, mais cela n'est peut-être pas immédiatement évident. Cet article montre comment créer de telles requêtes et explore des solutions alternatives dans d'autres services App Engine.

Énoncé du problème :

"J'ai essayé de récupérer des lieux dont le nom commence par avec une chaîne spécifique à l'aide d'une requête de filtre, mais cela ne fonctionne pas. Cette fonctionnalité est-elle prise en charge dans Datastore, et si ce n'est pas le cas, quelles sont les solutions possibles ?"

Construction de requête :

L'intuition derrière une requête de préfixe est de filtrer les entités dont le nom est supérieur à la chaîne de préfixe. Cependant, l'utilisation d'un seul filtre d'inégalité (par exemple, Nom > "a") échouera car elle exclura toutes les entités dont le nom commence par le préfixe.

La solution réside dans la combinaison de deux filtres d'inégalité. Nous devons préciser que le nom est à la fois supérieur ou égal à la chaîne de préfixe et inférieur à la chaîne lexicographique suivante.

Exemple de requête :

Récupérons les lieux qui commencez par "li":

q = datastore.NewQuery("Places").Filter("Name >=", "li").Filter("Name <", "lj")
Copier après la connexion

Explication :

  • Le premier filtre garantit que le nom est supérieur ou égal à "li".
  • Le deuxième filtre exclut "li" lui-même en spécifiant que le nom est inférieur à "lj", qui est la chaîne lexicographique suivante après "li".

Solutions alternatives :

Si cette approche ne répond pas à des exigences spécifiques, App Engine propose d'autres services pour les requêtes avancées :

  • BigQuery : exploite la syntaxe SQL et prend en charge des interrogations sur des ensembles de données massifs.
  • BigTable : Une base de données évolutive et hautes performances adaptée aux données de séries chronologiques et aux analyses en temps réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal