加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在Lucene的各个字段中搜索

发布时间:2020-12-15 08:04:54 所属栏目:百科 来源:网络整理
导读:我对Lucene来说是一个完全无聊的人,到目前为止,他是一个巨大的粉丝. 我现在正在寻找一些有关如何存储数据和通过c#和dotnet搜索的资源.任何LINQ样本对我来说都是一个很大的好处. 特别是如果我有一个文档有两个字段定义为标题和描述,我如何在两个字段中搜索?
我对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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读