如何有效地解析数据

时间:2012-02-10 00:47:39

标签: c# algorithm

我想知道是否有人可以帮我解析关键词的数据。

说我正在寻找这个关键字:My Example Yo(这是许多关键字之一)

我有这样的数据

MY EXAMPLE YO #108
my-example-yo #108 
my-example #108 
MY Example #108 

这只是一些组合。在这些句子的前面可能有单词或数字,在任何情况下都可能没有任何结果,也许就像上面的例子之后出现的东西一样。

想到了一些想法。

  1. 存储我可以在数据库中想到的所有组合,然后使用contains
  2. 这样做的缺点是我会找到一个巨大的数据库表,其中包含我需要找到的所有内容的组合。然后我将不得不将数据加载到内存中(通过nhibernate并检查每个组合)。我正在尝试根据关键字确定要使用的类别,他们可以上传数千行来检查。

    即使我加载子集并查看它们,我仍然认为这将很慢。

    1. 删除所有特殊字符并制作单个空格并忽略大小写,并尝试使用正则表达式查看关键字的匹配程度。
    2. 如果关键字包含破折号等特殊字符,则不确定该怎么做。

      我知道我不会得到所有的组合,但我想尽可能多地尝试。

1 个答案:

答案 0 :(得分:1)

您考虑过Lucene.Net了吗?我自己没有用过它,但我听说它是​​全文搜索的好工具。它也可能适用于关键字搜索。我相信stackoverflow uses Lucene