来自查询的关键字检测

时间:2011-12-20 13:43:14

标签: search nlp pattern-matching information-retrieval

我有一个充满关键字的数据库,其中每个关键字可以是一个短语(单词集合),当我发送查询时,我想匹配查询中所有可能的关键字。我想知道如何有效地完成这项工作。我面临的问题是

  • 查询可以包含一个或多个关键字。
  • 匹配不一定精确(可能是紧密匹配)。

我经历了这个question and solution,但是我不知道如何在查询中对单词进行分组以形成可以与数据库中的每个关键字进行比较的短语。可以存在n(n + 1)/ 2个短语,其可以用于具有n个单词的查询。因此,最简单的解决方案是将每个短语与数据库中的每个关键字进行比较并找到匹配项。 有更好的解决方案吗?是否有标准的算法/库来做到这一点?

1 个答案:

答案 0 :(得分:1)

  1. 使用您最喜欢的搜索引擎库构建数据库索引,例如: Lucene
  2. 运行查询
  3. 搜索引擎包通常有很多模糊匹配选项。 Lucene甚至有spell checker可以将单词映射到相似的单词。