我有一个ASP.NET网络应用程序和一个List<Product>服务器(在Application[]商店)。类产品具有Name属性。我需要赋予用户基于名称搜索产品的能力。例如,如果用户输入“本田计算机”,应用程序必须显示“2001本田护照引擎计算机(OEM)”。搜索必须非常快,今后我将添加自动完成功能(AJAX)。
到目前为止,我有几个想法来解决这个问题:
欢迎任何建议。
发布于 2010-11-24 03:43:15
根据您拥有的数据数量,使用后缀树实际上是一个非常好的主意。通常,当文本框启用自动提示功能时,用户将从短语的开头键入,并且由于您可以根据用户输入的字符搜索树,因此后缀树将自动过滤掉可能的建议,并通过导航树为您提供要显示的建议。
虽然它们的实现确实很复杂,但您可能已经能够找到一个为.NET编写的工具。然而,因为它们往往是非常有用的,你可以找到一些好的材料提供关于如何编写自己的。
发布于 2010-11-24 03:14:22
这些产品是否存储在数据库中?许多流行的数据库(包括)都支持自由文本搜索索引,这是一种跨大型数据集进行文本搜索的快速方法。
https://stackoverflow.com/questions/4263109
复制相似问题