亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Google App Engine:是否可以執行Gql LIKE查詢?

Google App Engine:是否可以執行Gql LIKE查詢?

蠱毒傳說 2019-10-06 13:47:25
真的很簡單。在SQL中,如果我想在文本字段中搜索幾個字符,則可以執行以下操作:SELECT blah FROM blah WHERE blah LIKE '%text%'App Engine的文檔沒有提及如何實現這一目標,但是可以肯定這是一個足夠普遍的問題?
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

BigTable是App Engine的數據庫后端,它將擴展到數百萬條記錄。因此,App Engine不允許您執行任何會導致表格掃描的查詢,因為對于填充良好的表格而言,性能可能會令人恐懼。


換句話說,每個查詢都必須使用索引。這就是為什么你只能做=,>和<查詢。(實際上,您也可以執行!=此操作,但是API會使用>和<查詢的組合來執行此操作。)這也是開發環境監視您執行的所有查詢并自動將丟失的索引添加到index.yaml文件中的原因。


無法為LIKE查詢建立索引,因此根本無法使用。


觀看此Google IO會話,以獲取更好,更詳細的解釋。


查看完整回答
反對 回復 2019-10-06
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

您需要使用搜索服務來執行類似于SQL的全文搜索查詢LIKE。


Gaelyk提供了特定于域的語言來執行更加用戶友好的搜索查詢。例如,下面的代碼片段將查找前十本書,這些書是從最新的書中排序的,書名包含fern 且類型完全匹配thriller:


def documents = search.search {

    select all from books

    sort desc by published, SearchApiLimits.MINIMUM_DATE_VALUE

    where title =~ 'fern'

    and genre =  'thriller'

    limit 10

}

Like編寫為Groovy的match運算符=~。它還支持諸如此類的功能distance(geopoint(lat, lon), location)。


查看完整回答
反對 回復 2019-10-06
  • 3 回答
  • 0 關注
  • 612 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號