1

我正在尝试自学 Lucene.Net 在我的网站上实施。除了一个问题,我知道如何做几乎所有我需要的事情。我试图弄清楚如何允许对搜索字符串中的所有搜索词进行模糊搜索。

因此,例如,如果我有一个带有 string 的文档The big red fox,我会尝试bag fix匹配它。

问题是,似乎为了执行模糊搜索,我必须~在用户输入的每个搜索词中添加。我不确定解决此问题的最佳方法。现在我正在尝试这个

string queryString = "bag rad";
queryString = queryString.Replace("~", string.Empty).Replace(" ", "~ ") + "~";

第一次替换是由于 Lucene.Net 如果搜索字符串已经抛出异常~,显然它无法~~在短语中处理。这种方法有效,但如果我开始添加模糊权重值,它似乎会变得混乱。

有没有更好的方法来默认所有单词以允许模糊?

4

1 回答 1

1

您可能希望将文档索引为二元组或三元组。看看CJKAnalyzer看看他们是如何做到的。您将需要下载源代码并查看源代码。

于 2011-05-07T07:22:53.137 回答