質問: GAEよりDataStoreを使用し、エンティティ中の文字列の部分一致したレコードを取り出したいのですが 検索し、色んなサイト様を見ますと「部分一致は無理、前方一致なら可能」と記載されているサイトは割と見つかるのですが 具体的な方法が書かれているサイトが見つかりません。 GCPコンソール上でも文字列の前方一致が行えるようなUIは見当たりませんし GAE/Go側にて ``` datastore.NewQuery(kind).Filter("Hoge>=", hoge).GetAll(ctx, &fuga) ``` のようにしてしまうと 目的文字列の文字コードより後ろに出現する文字コードから始まるエンティティもマッチしてしまいます。 例えば""で検索すると"...."も引っかかってしまいます 「前方一致が可能」と言われているのは、上記のような余計なレコード込で前方一致可能、という意味なのでしょうか?
回答: 例えば'abc'から前方一致で検索したい場合は、 `Hoge >= "abc"` と `Hoge < "abc" + "\ufffd"` の条件を組み合わせれば検索できます。 コード↓ `datastore.NewQuery(kind).Filter("Hoge>=", hoge).Filter("Hoge<", hoge+"\ufffd").GetAll(ctx, &fuga)`