邻近搜索示例Lucene.Net

fel*_*xmm 3 .net c# lucene.net

我想用Lucene.Net 进行Proximity Search.我看到这个问题,看起来这是他的答案,但没有提供任何代码.Java文档说使用〜字符和中间的单词数,但是我看不到这个字符在代码中的位置.有人可以给我一个使用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);
Run Code Online (Sandbox Code Playgroud)

如果我尝试在MultiFieldQueryParser上添加带有任何数字的"〜",则会错误地说对于FuzzySearch,值应该介于0.0和1.0之间,但我想要一个Proximity Search 3个分离单词Ex."我的搜索"~3

sis*_*sve 8

波浪号表示如果将其应用于单个术语,则表示模糊搜索;如果将其应用于短语,则表示邻近搜索.您收到的错误听起来就像您在单个术语(术语~10)上应用它而不是使用短语("术语术语"~10).

要进行邻近搜索,请使用短语末尾的波浪号"〜"符号.