2012-01-19 31 views
1

我有一个约有一百万行的表格,里面有500-600个文字,我正在这些文本中搜索单词。但是迭代行和在文本内搜索从时间方面来看效率不高。任何想法?文本搜索算法

+0

你用什么方法来存储表格数据?平面文件? MySQL的?这对于你的问题 – Seph

+0

mssql varchar(max)来说是一个相当重要的信息,但我可以改变存储方法。我正在使用的c#,mssql。 – Coenni

回答

2

有了这个稀缺的信息,我建议你看看inverted indexes。据我所知,易于构建和快速检索您的案例。在任何类型的数据库环境中也很容易实现,以防无法切换到已经支持它们的数据库。

如果您提供更多信息,也许另一种解决方案也可以工作。

+0

但我也使用levenshtein方法(edit_distance)来查看两个单词(用户输入的单词和数据库文本中的下一个单词)的相似程度。我们怎样才能以相同的方法使用倒排索引和levenshtein。我正在考虑。因为如果在文本中找不到'猫',我想给予回应,也许你正在搜索'帽子'有这样的文本,其中包括'帽子'或用户输入quute,'我认为你正在寻找'相当”'。 – Coenni

+0

如果你想使用倒排索引和levensthein,你可以在一个trie中实现倒排索引。尝试支持Levensthein查找,如果你做得对。每一片叶子将包含所有匹配文件的清单。请在下次问题中提供更详细的信息,以便其他人直接找到合适的答案。 – LiKao