我对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.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");
解决方法
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);