2012-11-12 51 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因此,您应该将答案标记为已接受;-) –