我想要使用Lucene.Net制作Proximity Search。我看到this question看起来像是他的答案,但没有代码被提供。 Java文档说要使用〜字符和中间的字数,但我没有看到这个字符在代码中的位置。任何人都可以给我一个使用Lucene.Net进行接近搜索的例子吗?Proximity搜索示例Lucene.Net
编辑:
我到目前为止有:
IndexSearcher searcher = new IndexSearcher(this.Directory, true);
string[] fieldList = new string[] { "Name", "Description" };
List<BooleanClause.Occur> occurs = new List<BooleanClause.Occur>();
foreach (string field in fieldList)
{
occurs.Add(BooleanClause.Occur.SHOULD);
}
Query searchQuery = MultiFieldQueryParser.Parse(this.LuceneVersion, query, fieldList, occurs.ToArray(), this.Analyzer);
如果我尝试添加“〜”与任意数量的MultiFieldQueryParser它的错误了说了FuzzySearch值应该在0.0到1.0之间,但是我想要一个接近搜索3个分开的单词Ex。 “我的搜索”〜3
除非我失去了一些东西,〜字符直接进入查询的文本(如在您链接到的文档)。 – Odrade 2011-04-13 00:42:28
@Orade请看我对这个问题所做的修改。我尝试过,但解析器认为我试图做一个FuzzySearch。 – FelixMM 2011-04-13 00:47:48
对不起,我没有对Lucene的.NET任何实际的专业知识。我只是觉得你可能会错过文档中的一些明显的东西。不过,它看起来并不那样。 – Odrade 2011-04-13 16:41:30