33662


GAEよりDataStoreを使用し、エンティティ中の文字列の部分一致したレコードを取り出したいのですが  
検索し、色んなサイト様を見ますと「部分一致は無理、前方一致なら可能」と記載されているサイトは割と見つかるのですが  
具体的な方法が書かれているサイトが見つかりません。

GCPコンソール上でも文字列の前方一致が行えるようなUIは見当たりませんし  
GAE/Go側にて

[code]

    datastore.NewQuery(kind).Filter("Hoge>=", hoge).GetAll(ctx, &fuga)
    
[/code]

のようにしてしまうと  
目的文字列の文字コードより後ろに出現する文字コードから始まるエンティティもマッチしてしまいます。  
例えば"<http://10>"で検索すると"<http://11>...."も引っかかってしまいます

「前方一致が可能」と言われているのは、上記のような余計なレコード込で前方一致可能、という意味なのでしょうか？


CC BY-SA 3.0
2017-03-30T09:49:54.637
33655
2017-03-31T03:11:44.127
19716
question
google-app-engine google-cloud
DataStoreでの文字列前方一致の方法


例えば'abc'から前方一致で検索したい場合は、  
`Hoge >= "abc"`  
と  
`Hoge < "abc" + "\ufffd"`  
の条件を組み合わせれば検索できます。

コード↓  
`datastore.NewQuery(kind).Filter("Hoge>=", hoge).Filter("Hoge<",
hoge+"\ufffd").GetAll(ctx, &fuga)`


CC BY-SA 3.0
2017-03-31T02:57:02.157
33662
2017-03-31T03:11:44.127
2017-03-31T03:11:44.127
7282
7282
33655
answer