2010-07-21 128 views
7

我是一個Lucene的完全noobie,迄今爲止是一個巨大的巨大粉絲。在Lucene中搜索字段

我現在正在尋找一些關於如何通過c#和dotnet存儲數據和搜索的資源。任何LINQ樣品對我來說都是一大好處。

特別是如果我有一個文檔有兩個字段定義爲說標題和說明,我怎麼能在兩個搜索?

在下面的示例中,我想同時搜索標題和說明字段。

例如:

 doc = new Document(); 
     text = "Oven leek pie"; 
     doc.Add(new Field("title", text, Field.Store.YES, Field.Index.TOKENIZED)); 
     doc.Add(new Field("instructions", "Bake for 40 minutes", Field.Store.YES, Field.Index.TOKENIZED)); 
     iwriter.AddDocument(doc); 

,然後;

 // Parse a simple query that searches for "text": 
     Lucene.Net.QueryParsers.QueryParser parser = new QueryParser("title", analyzer); 

     Query query = parser.Parse("baked bacon and leek pizza"); 

回答

10
string[] fields = new string[2]; 
fields[0] = "title"; 
fields[1] = "instructions"; 

Lucene.Net.QueryParsers.MultiFieldQueryParser multiFieldParser = new MultiFieldQueryParser(fields, analyzer); 
Query multiFieldQuery = multiFieldParser.Parse("20"); 
Hits multiHits = isearcher.Search(multiFieldQuery); 
+0

非常好,謝謝。 – griegs 2010-07-21 01:12:13