2012-11-12 50 views
5

我想在Google App Engine(GAE/GWT)中實現自動建議功能。如何在GAE中實現自動建議(自動完成)功能

GWT SuggestBox和RPC的實現客戶端工作正常。 我的主要問題是實現的服務器端。我嘗試了谷歌搜索API,但似乎有250MB的索引數據總量的限制,搜索可以完整的單詞而不是每個單詞的部分!

我該如何解決這個問題?我讀過lucene或solr在GAE中不支持。 我會很感激你的想法。

回答

3

我已經採取了這種做法,它爲我工作得很好:

  1. 分手了文成單獨的詞。擺脫重複,特殊字符和簡短的單詞(in,of和等)。

  2. 將此列表作爲列表屬性添加到實體。

  3. 通過text range query搜索:listProperty >= wordPart && listProperty < wordPart + "\ufffd"

+0

此解決方案在GAE上花費了很多嗎? –

+0

存儲索引的屬性列表需要花費。查詢的成本與任何其他查詢相同。 –

4

可以使用這裏描述的這些技術實現了基本的文本搜索:http://googlecode.blogspot.com.br/2010/05/google-app-engine-basic-text-search.html

簡而言之:

構建使用content >= yourQuery && content < yourQuery + "\ufffd",你的實體的content屬性可以是一個字符串或列表的查詢字符串。

+0

我想這和它的作品很好,謝謝您的答覆。 –

+0

@EfstathiosKalyvas因此,您應該將答案標記爲已接受;-) –