我正在尝试为包含文本文章中的信息的网站撰写合理的搜索机制。我在umbraco lucene的检查中进行搜索。
所以,让我们说我正在搜索的字段是“bodyText”和“titleText”,
我为过滤器想出的是:
var filter = criteria
.GroupedOr(new string[] { "bodyText","titleText"}, SearchTerm)
.Compile();
更好的搜索的示例是什么,例如,包含SearchTerm的结果(“识字”将是“iter”搜索的结果),还是该搜索的任何其他改进?
答案 0 :(得分:4)
您是否尝试过Fuzzy()
?
来自http://umbraco.com/follow-us/blog-archive/2011/9/16/examining-examine.aspx
有时,用户会查询您的网站,查找可能拼写错误或非常接近的字词。模糊使您能够让Lucene查找看起来像您的术语的术语。例如,土堆实际上可能是健全的。
var query = searchCriteria.Fields("nodeName","hello".Fuzzy(0.8)).Compile();
在0和1之间传递给Fuzzy的可选值指定模糊度或匹配与原始值的接近程度。例如,当指定阈值0.8时,不会返回0.5的匹配。
我不太确定语法是否正确,但要玩弄它。它实际上可能不会进行部分单词搜索,但可能会为您正在寻找的内容提供更接近的结果。