問題タブ [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.

0 投票する
2 に答える
174 参照

google-app-engine - 空間検索 Objectify、appengine

空間検索にオブジェクト化して使用したい。経度と緯度が関連付けられているエンティティがあります。緯度と経度の情報は動的です。たとえば、都市のサービス プロバイダー (電気技師、大工など) です。半径 1 Km で特定のサービスを提供するサービス プロバイダーを提供するクエリを実装したいと考えています。Googleで検索すると、次のオプションが明らかになります

  1. Geohash で Objectify を使用する - このソリューションの精度とスケーラビリティについては不明
  2. Google 検索を使用する - エンティティ (またはその一部) をドキュメントの形で複製する必要があり、動的に更新される場所をサポートできるかどうか。
  3. mongodb などの他のデータベースを使用する

数百万のエンティティと緯度/経度が動的に更新されると仮定して、適切なオプションを提案してください。

ありがとう

0 投票する
0 に答える
85 参照

google-app-engine - ndb値によるGoogle appengine検索APIソート

私は製品のリストを持っています。各製品が各ドキュメントであるGoogle appengine 検索 APIインデックスに追加しました。ユーザーは商品を検索できます。これまでのところ、すべてが良好です。

ここで、ユーザーが製品の価格の昇順または降順で並べ替えられるようにしたいと考えています。各製品の価格が固定されている場合は、個別のインデックスを作成して、その中にドキュメントを配置するだけで済みます。しかし、残念なことに、価格は動的です。商品の価格は 1 日に 3 ~ 4 回変更される場合があります。私は200,000以上の製品を持っています。

価格が変わるたびにドキュメントを書き直すのはまずいので、エンティティ属性として documentID と price を持つ ndb データストア モデルがあります。

ndb モデルの価格に基づいて、検索 API の結果を並べ替える方法はありますか。別の設計ソリューションも歓迎します。

0 投票する
1 に答える
564 参照

python - GAE の検索 API でカスタム スペル チェックを実装する方法

私のpython GAEアプリケーションでは、ユーザーが検索APIを使用してアイテムを照会できるようにしています。最初に正確なタグでドキュメントを入力しましたが、存在する必要があるスペル修正を考えると、ヒットはあまりありません。私が見つけた方法は、データストアを介して文字 ngram を実装することでした。これにより、ユーザーが単語の少なくとも一部を正しく入力できるようになります。データストアでは、これには多くの時間がかかります。例えば、

"hello"(に分割されます)["hello", "ello", "hell", "hel", "elo", "llo", "he", "el", "ll", "lo"]

そして、私が検索するとき"helo" tags -["hel", "elo", "he", "el", "lo"](肯定的な一致を与える)

単語から一致したタグの長さに従ってランク付けします。

Datastore では、これらの改行文字 ngram を、一致するエンティティとともに個別にインデックス化する必要があります。そして、単語ごとに、すべてのタグで同様の方法で検索を実行します。これには多くの時間がかかります。

検索 API を使用して同様の操作を実現する方法はありますか。MatchScore は「OR」の複数のフィールドを調べますか? 検索ドキュメントを設計し、最小限の操作で複数のスペル修正クエリを実行する方法を探しています。

たとえば、各ドキュメントに言語用の複数のフィールドがある場合-

([tags - "hello world"] [rank - 2300] [partial tags - "hel", "ell", "llo", "wor", "orl", "rld", "hell", "ello", "worl", "orld"] [english - 1] [Spanish - 0] [French - 0] [German - 0]

言語フィールドで並べ替えと一緒に MatchScore 操作を実行できますか? (各ドキュメントは 1 つの言語のみに関連付けられています)

0 投票する
1 に答える
45 参照

google-search-api - 一部のフィールドの更新と Google Search API ドキュメントの再インデックス

Android アプリで Google Search API を使用しようとしていますが、ドキュメントをインデックスに追加しました。

現在、ID でドキュメントを取得しており、すべてではなく一部のフィールドのみを更新したいと考えています。

私がやろうとしたが成功しなかったこと:

上記のコードでは、ドキュメントの 3 つのフィールドだけを更新しようとしています。

ドキュメントで見つけた唯一の情報は、ドキュメントを再インデックス化する場合、同じ ID で新しいドキュメントを保存する必要があり、再インデックス化されるということです。

すべてのフィールドに入力する必要がありますか? または、一部のフィールドだけを更新する方法はありますか?

私はどんな答えにも感謝します

0 投票する
1 に答える
139 参照

google-app-engine - Geosearch Search API GAE フィルタリング distance(geopoint(MY_GEOPOINT), store_location) < DISTANCE クエリ

Search API がクエリを作成する方法、特にインデックス内のドキュメントをスキャンする方法について疑問があります。私の疑問は次のとおりです。

GeoPoints を含む多数のドキュメントを含むインデックスがあります。特定の半径内にあるポイントを一覧表示したい。たとえば、インデックスに 2000 万のドキュメントがあり、次のような検索を行うとします。

半径10km圏内にある店舗を一覧表示します。

私の質問は次のとおりです。検索 API はどのようにそれを行うのですか? 2,000 万のドキュメントをスキャンしますか (そして長い時間がかかります)、それとも何らかの方法で最適化しますか?

私はパフォーマンスのために疑問に思っています.GeoSearchを使用するアプリを開発していますが、データベースが大きくなるにつれて遅くなるのではないかと心配しています.

助けてくれてありがとう。敬具 JLuiZ20

0 投票する
0 に答える
420 参照

node.js - Google データストア (GAE) と Nodejs を使用して Geosearch API を実行することは可能ですか?

データストア db に保存されている緯度/経度のセットがあり、Nodejs と Google データストアを使用して、距離に基づいて、私の周囲のショップの結果を降順で返したいと考えています。

つまり、位置情報があり、DB に保存されている 10 km 以内のすべてのショップを取得したいと考えています。