algorithm - 字符串匹配

标签 algorithm search matching

让我解释一下问题:

  1. 假设我有一个图书馆,图书馆里有很多书,每本书都有章节,每一章都有字符串(字符串以点“.”开头和结尾)。
  2. 还是这个顺序,library -> book -> chapter -> string。
  3. 我从书中提取了字符串,我们称它们为“书籍字符串”。
  4. 我有一个系统,用户可以在搜索表单中输入一个字符串,系统应该从“书籍字符串”中返回与输入字符串完全匹配的结果。如果输入的字符串与书籍字符串中的任何字符串都不匹配,则不会返回任何内容。

我想了想,找到了一个解决方案,我将对所有书籍字符串进行 MD5 并保存散列的书籍字符串。当用户输入要搜索的字符串时,我也会对其进行散列处理并在散列的书籍字符串中搜索匹配项。它比普通搜索更便宜(每个字符串 32 或 64 个字符),速度更快,并且只返回完全匹配项。

有什么意见、想法、更好的解决方案吗?

附言这种算法的名称是什么?搜索还是匹配?

最佳答案

这还不错,但您应该研究一下 Lucene。它是一个以多种语言实现的公共(public)共享软件文本索引和搜索工具,其中之一是.Net ..(您使用的是什么平台/语言?)我用它在公共(public)互联网上对网站内容进行自由文本搜索主要模型是在特定分割市场(大量杂志文章、书籍摘录等)中提供内容。Lucene 对我们来说效果很好。

Lucene

关于algorithm - 字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/441476/

相关文章:

search - Elasticsearch -列出/删除文档并赋予最新文档更多的权重

algorithm - 多事件匹配算法

r - 单列中的模糊匹配字符串并记录可能的匹配

c++ - 合并排序 k 列表 c++

python - MySQL查询匹配相似的单词/句子

algorithm - 解决迷宫收集硬币的有效算法

java - 链表的线性搜索

excel - 如何根据第一行和第一列中的值对一系列矩阵求和 - Excel VBA

algorithm - 如何判断2个三角网格是否相等?

algorithm - 平衡树的批量操作