我想要使用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