2013-05-16 31 views
0

使用CouchDB(和GeoCouch),我有一個文檔類型的位置與一箇中心座標(經緯度&長),我可以查詢一個bbox查詢就好了餵養在西北經度/緯度和西南經度/緯度。我的位置文檔也有一個名爲Users的屬性,我擁有一個用戶列表。我希望能夠通過在Users數組中添加特定用戶的過濾來執行bbox。這可能嗎?對這個問題在couchdb中的多維空間查詢

添加細節: 之所以重要,是因爲我可能有一百萬個不同位置的文件,每個用戶的用戶數組列表(也許每個位置10-100用戶標籤)。我試圖找到一組用戶的位置列表。所以我有3個用戶進行特定的搜索,我想在給定的邊界內找到這些用戶的所有位置。我認爲處理這種情況的唯一方法是首先執行bbox空間查詢,然後遍歷結果集以確定用戶是否匹配3個用戶的列表。這意味着循環遍歷一個潛在的非常大的原始結果集(位置列表)。看起來效率很低。我很想在我的bbox查詢中添加額外的維度以便用戶進行過濾,但我無法弄清楚如何完成此操作或者是否可行。 謝謝!

回答

0

添加一個附加參數是不可能的(從我可以收集的內容中)。您可以執行bbox,然後執行結果執行以及額外的parm上的額外搜索,但這應該是應用程序和數據庫之間的大量額外網絡通信量。

我最終從iriscouch切換到cloudant。 lucene搜索索引功能給了我我需要的東西。你可以索引緯度/經度,然後添加一個額外的parm ...真棒!

Iriscouch可能具有此功能,但我無法找到它。 ?

地理Q =緯度:[90-0]和LON:[150 TO 0]和用戶:用戶名