0

我有一个问题,其中有大量的字符串或短语,它可能从 100,000 扩展到 100Million。当我搜索一个短语时,如果找到它会给我 ID 或数据库索引以供进一步操作。我知道哈希表可以用于此,但我正在寻找其他算法,它可以为我提供基于字符串生成索引的服务,也可以在自动完成等其他一些功能中有用。

我根据一些 SO 线程读取后缀树/数组,它们服务于目的,但消耗的内存超出了我的承受能力。有什么替代方法吗?

因为我的搜索只在数百万个字符串的巨大列表中。没有文档,没有对 lucene 等搜索引擎不感兴趣的网页。

还阅读倒排索引听起来很有帮助,但我需要学习哪种算法?

4

1 回答 1

1

如果此数据库索引在 MS SQL Server 中,您可以使用 SQL 全文索引获得良好的结果。其他 SQL 提供程序可能具有类似的功能,但我无法提供帮助。

查看:http ://www.simple-talk.com/sql/learn-sql-server/understanding-full-text-indexing-in-sql-server/

http://msdn.microsoft.com/en-us/library/ms142571.aspx

于 2012-09-13T01:34:31.090 回答