問題タブ [gae-search]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - query_string が空でない場合にのみ sort_options が適用されますか?
これがバグなのか仕様によるものなのかを突き止めようとしています。クエリに query_string が指定されていない場合、SearchResults オブジェクトは要求された列でソートされません。たとえば、問題を示すログは次のとおりです。
結果はソートされずに返されます return index.search(query)
:
query_string = ''
sort_options string: search.SortOptions(expressions=[search.SortExpression(expression=u'firstname', direction='ASCENDING', default_value=u'')], limit=36)
結果は でソートされて返されます return index.search(query)
:
query_string = 'test'
sort_options string: search.SortOptions(expressions=[search.SortExpression(expression=u'firstname', direction='ASCENDING', default_value=u'')], limit=36)
options
これは、両方のケース ( has limit
、offset
およびsort_options
parameters )に対してクエリを作成する方法です。
query = search.Query(query_string=query_string, options=options)
google-app-engine - GAE (Google App Engine) Search API サービスが試験的に終了したときの割り当てと料金はどうなりますか?
GAE への移行を検討している人が、検索 API の予想クォータや価格に関する情報がなければ (もちろん課金アプリの場合)、このオプションを推奨したり、調査したりすることはほとんど不可能です。これら 2 つの変数は、Search API を見るときに最初に考慮すべき変数です。不足している機能があることはわかっていますが、基本はそこにあります。
これについていくつかの洞察を提供することで、より多くの人々が調査してGAEを試すようになるでしょう.
google-app-engine - どのくらいの頻度で App Engine 検索インデックス (全文検索) を再構築する必要がありますか?
少なくとも今のところは、手動で検索インデックスをデータストアと同期させる必要があるようです。データストアで何かが変更されるたびにインデックスを再構築すると、クォータの問題が発生することが予想されるため、定期的にインデックスを再構築する cron ジョブを作成する方がよいと考えました。クォータの問題を回避するには、どのくらいの頻度でインデックスを再構築する必要がありますか?
google-app-engine - Google App Engine Search APIを使用して最も近いドキュメントを見つけるにはどうすればよいですか?
GAE検索インデックスに約400,000のドキュメントがあります。すべてのドキュメントにはlocation
GeoPoint
プロパティがあり、世界中に広がっています。一部のドキュメントは他のドキュメントから4000km以上離れている場合があり、その他のドキュメントは互いに数メートル以内に集まっている場合があります。
特定の座標セットに最も近いドキュメントを見つけたいのですが、次のコードで間違った結果が得られます。
このコードを使用すると、一貫性はあるが正しくない結果が得られます。たとえば、ロンドンに最も近いドキュメントを検索すると、最も近いドキュメントはスコットランドにあることがわかりました。私は何千ものより近い文書があることを確認しました。
radius
パラメータが大きすぎることに問題を絞り込みました。半径が約12km()まで下がると正しい結果が得られますradius=12000
。通常、半径12kmには1000を超えるドキュメントはありません。(おそらくに関連付けられていsearch.SortOptions(limit=1000)
ます。)
問題は、私が地球のまばらな地域にいて、何千マイルもドキュメントがない場合、検索機能がradius=12000
(12km)で何も返さないことです。どこにいても、最も近いドキュメントを返してほしい。Search APIを1回呼び出すだけで、これを一貫して達成するにはどうすればよいですか?
google-app-engine - 日付と時刻によるAppengineSearchAPI検索
エポック日時フィールド(例:1362960734565)から1ミリ秒で簡単に検索できるようにする方法(例:1234560123456以降に作成されたすべてのドキュメント)を知りたいのですが、日付を分割したり別の場所に配置したりするためのメソッドを実装する必要がありますか? NUMBERまたはDATEとしては機能しないため、フォーマット。
検索APIに関するGoogleのドキュメント(https://developers.google.com/appengine/docs/java/search/overview#Describing_Data_with_Documents)によると:
ドキュメントフィールド
各ドキュメントには、特定のタイプのコンテンツを含むフィールドが含まれています。コンテンツタイプは、フィールドビルダーによって識別され、フィールドのコンテンツタイプを次のように設定します。
- テキスト:プレーンテキスト
- HTML:HTML形式のテキスト
- ATOM:単一のトークンとして扱われる文字列
- NUMBER:2,147,483,647から-2,147,483,647までの数値(floatまたは整数)
- DATE:時間コンポーネントのない日付
- GEO_POINT:緯度と経度に基づくロケール
google-app-engine - GAE の検索 API で GROUP BY と COUNT を実行する方法はありますか?
GAE の検索 API を使い始めたばかりで、SQL の group by count ステートメントに相当するものを探しています。このようなものは現在存在しますか?
google-app-engine - Google App Engine - 指定された距離内の場所を検索してゼロの結果を返す
GAE Search API (1.7.6) を使用して距離でジオロケーションを検索すると、常にゼロの結果が返されます...
次のクエリを作成します。distance(geoLocation, geopoint(27.241131, -82.464445)) < 16093 /* 10 Miles in meters */
距離内にジオポイントがありますが、結果は常にゼロです。たとえば、私の検索元はこの場合lat: 27.241131, lgn: -82.464445
で、範囲内のジオポイントの 1 つはlat:27.233247, lng-82.48819800000001.
次のようにGoogleマップAPI v3を使用して距離を計算すると:
これは、ジオポイントを他のフィールドと一緒に保存する方法です
後で私はします
ここで何が問題なのですか?ジオポイント以外のフィールドで検索すると結果が返されるため、検索が機能することはわかっています。
検索 ID は次のように行われます。
どこquery_str = distance(geoLocation, geopoint(27.241131, -82.464445)) < 16093
アップデート
インデックスによって保存されたジオポイントを使用してテストし、search.SearchResults(number_found=0L) を取得しています。質問: これは開発環境で動作すると思われますか?
助けていただければ幸いです!!!!!
google-app-engine - IOException: インデックスの指定が変更されました
Eclipse 用の Eclipse Juno/Google プラグインを使用して GWT 2.5.1 および GAE/J 1.7.6 Web アプリを開発しており、Search API を試しています。1.7.6 GAE SDK へのアップグレード後、次のことが起こり始めました。
- アプリが GAE 開発モードで実行されていて、インデックスが作成されると、その後プログラムでアクセスできるようになります。
開発者モードを終了して再度開始すると、次のようにプログラムによるアクセスの試行は失敗します (結果は返されません)。
/li>
Search API は開発中であるため、最新のバグ修正と改善が施された SDK を使用したいと考えています。例外の原因に関する提案はありますか?
アップデート
App Engine ダウンロード ページから入手できる App Engine SDK for Java リリース 1.7.7.1 で修正されました。