我最近開始在lucene.net中玩一個在工作的內部項目。我正在尋找使用lucene.net創建一種自動完成類型。我的索引存儲的顯示名稱,當我做通配符搜索,即詹姆斯*它工作正常。字段中的多字搜索
這個問題似乎是當這個詞之間的空間,即詹姆斯邦尼*它似乎忘記了第一個字,並開始嘗試和匹配Bon。
不知道我是否做錯了什麼,但嘗試使用一些不同的分析儀,但沒有運氣。
任何人有任何想法,可以讓我在正確的軌道上?
28/11/2012
在我的項目重新尋找後,我意識到,我使用的是MultiFieldQueryParser嘗試和搜索多個領域。試圖改變DefaultOperator的建議,但沒有運氣。
var analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30);
var mparser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_30, new string[] { "displayname", "company", "email" }, analyzer);
您是否嘗試過'queryParser.SetDefaultOperator(QueryParser.Operator.AND);'? –
「Lucene支持單個和多個字符通配符搜索(不在短語查詢中)。」 [來源](http://lucene.apache.org/core/old_versioned_docs/versions/2_9_1/queryparsersyntax.html) –
感謝您的建議。將嘗試一下,讓你知道。 –