BLAST(基本局部比对搜索工具)是面向生物信息学家的工具,通常用于搜索大量生物序列,例如DNA(4个字母的字母表)和蛋白质(20个字母的字母表)。过去,我已将其用于预期目的并取得了巨大的成功。它使用后缀树作为算法的基础,但也可以找到近似匹配项。
我想知道,有人用人类语言编写的文本尝试过BLAST吗?它可以在这种模式下使用,效果如何?
一些说明:
我知道这是一种不寻常的方法,但是我很了解的“通用”搜索引擎(例如Lucene)必须建立在相当繁重的框架之上。我宁愿不要将它们放在嵌入式应用程序的任何地方。另外,我也认为一些基于C的解决方案似乎维护得不好。 Sphinx看起来不错,但并非所有法律部门都非常喜欢GPLv2。当然,在搜索索引字段的前缀时,数据库搜索(例如Postgresql like
)应该是有效的,但是更专用的引擎在沿着条目的整个长度进行近似匹配时可能会做得更好。