2012-12-15 64 views
1

我有一个应用程序需要自动完成它的项目。我没有这些东西在我身边,但是我有一个网络服务来调用它。我是否应该以某种方式将这些物品存放在我的身边(大约有一千亿个物品),或者只是为每个字母客户在文本框中输入的那个网页服装进行校准?自动完成与远程来源

+0

那么你一开始写第一个字符就开始自动完成?你想给多少建议? – Amar

+0

如果你有这么大的字典库,那么你不应该建议任何东西,直到用户输入几个字符(比如3个字符)。现在你应该编写一些服务器端逻辑,它将只返回可能的匹配到这个输入的字符串,并使用JavaScript库自动完成。 – Amar

回答

0

这是很难有这方面的知识很好的答案,但理想:

  • 在Web服务实现它的API:getSuggestions
  • 调用Web服务的每一个keystoke
    • 如果这种方法在服务器上产生过多的负载,仅在文本字段更改后仅在其间没有其他更改时才将其称为X ms。 (例如,X = 300ms)
      • 这样你可以在键入的时候避免自动完成。
  • 无论它是否会是服务器/客户端基于你需要一些索引(使用一些复杂的data structure),以获得不俗的表现。你可以使用lucene来获得它几乎“免费”的。