簡體   English   中英

Geosearch Search API GAE過濾距離(geopoint(MY_GEOPOINT),store_location)<DISTANCE查詢

[英]Geosearch Search API GAE filtering distance(geopoint(MY_GEOPOINT), store_location) < DISTANCE queries

我懷疑Search API如何進行查詢,尤其是它如何掃描索引中的文檔。 我的疑問如下:

我有一個索引,上面有很多帶有GeoPoints的文檔。 我想列出特定半徑內的點。 例如,如果我在索引中有2000萬個文檔,並進行如下搜索:

String query = distance(geopoint(MY_GEOPOINT), store_location) < 10000

它將列出半徑10公里以內的商店。

我的問題如下:Search API將如何做到? 它會掃描2000萬個文檔(並花費很長時間)還是會以某種方式進行優化?

我由於性能而提出質疑,我正在開發一個將使用GeoSearch的應用程序,但隨着數據庫的增長,它會變得越來越慢。

謝謝你的幫助。 親切的問候JLuiZ20

它當然不會掃描所有記錄。 您可以從https://cloud.google.com/appengine/training/fts_adv/中的文檔中推斷出這一點

因為geopoint是受支持的數據類型,並且具有內置的距離功能並支持地理空間查詢,所以它可以以一種查詢點的半徑的方式有效地索引geopoint。 appengine文檔沒有提及所使用的算法,它可能會使用許多這樣的算法,但是您敢打賭它會有效,否則它將不是受支持的類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM