2013-06-05 30 views
2

數組我想知道,如果我們能在Lucene的搜索值的數組,一個字段?如何搜索搜索字符串與Lucene.Net

例如:

String s[] = {"John","Daniel", "Doe"---------------------------until 50 or 1000}; 

所有字符串值對於名字字段。是否可以在一個字段中搜索多個值而不會使操作昂貴?

謝謝。

回答

2

你可以做,

fieldName: John Daniel Doe ... 

所有條款將OR版,所以結果集將包含匹配任何值的所有文檔。

產生這樣的查詢可以是代碼,

var nameValues = new[] { "John", "Daniel", "Doe", ... }; 
var query = new QueryParser(currentVersion, fieldName, analyzer) 
       .Parse(string.Join(" ", nameValues)) 
+0

Thanks.However,我的查詢花費約5秒至顯示結果。實際上,我的情況有點複雜。 String []數組值是我搜索的結果。我真的不想來存儲它們,然後retrieve.I要採取從搜索結果,然後研究,我猜。讓我解釋一下我的情況。可以說我搜索一個叫John的人。我想將John的結果限制在特定區域「722204」,那麼如果我在區域722204中遇到John,那麼我想要拿到它的ID,然後再次搜索找到所有具有相同ID的Johns,而不考慮它們的區域。 – Huzaifa

+0

此查詢工作得很好,雖然。總之,在搜索返回並重新搜索時有一種方法嗎? – Huzaifa

+0

我想你可以只檢索一個「約翰」,然後用它的'Id'做另一次搜索,可能針對不同的領域。你將不得不更加抽象解釋你的業務邏輯來獲取用戶案例的*大*的圖片。 – rae1