我一直在使用Google App Engine。我發現搜索子字符串和其他一些操作的問題。 javax.jdo.Query提供了根據需要設置過濾器的選項。有幾個過濾器可用,如包含,不等式運算符,但我找不到符合我需要的任何過濾器。Google App Engine數據存儲實體中的文本子字符串搜索
我無法找到方法如下: 如何查詢過濾器設置爲
- 尋找一個子
- 搜索正則表達式
- 搜索被忽略的情況下
使用JDO可以進行上述3種操作嗎?
我一直在使用Google App Engine。我發現搜索子字符串和其他一些操作的問題。 javax.jdo.Query提供了根據需要設置過濾器的選項。有幾個過濾器可用,如包含,不等式運算符,但我找不到符合我需要的任何過濾器。Google App Engine數據存儲實體中的文本子字符串搜索
我無法找到方法如下: 如何查詢過濾器設置爲
使用JDO可以進行上述3種操作嗎?
您是否從App Engine搜索了新的FTA? https://developers.google.com/appengine/docs/java/search/
您必須從數據存儲創建數據索引,然後才能使用一些通配符在索引文檔上執行搜索。
但是,看看這個項目是爲實驗的時刻。
編輯:
的其他解決方案是使用與Whoosh在App Engine上Backends Service。然後你創建一個webservice。並用urlfetch從你的前端調用你的後端。
不,這些在App Engine數據存儲中不可行,因爲它們不能滿足索引。 App Engine數據存儲不執行需要掃描所有實體的查詢。
對於第一個選項,全文搜索可能是你想要的。第二,沒有好的解決方案。最後,您只需在數據存儲區中存儲字符串的較低或較高版本來進行搜索。
請注意,搜索API完全不區分大小寫,因此它將解決1和3. –
如何使用全文搜索搜索子字符串?假設我有一個名爲'name'的'Document',其值爲「banana」。如果我只搜索「ana」,如何查詢該文檔? – Korneel
@Korneel除非您正在搜索的字符串是文檔中單詞的詞幹版本,否則不能這樣做。你爲什麼想做這個? –
感謝您的鏈接。將與它保持聯繫。但是由於它是實驗性的,我現在不會使用它。 – abhijitsinghh
另一種解決方案是將Whoosh與後端一起使用。 – sahid