代码之家  ›  专栏  ›  技术社区  ›  griegs

在Lucene的各个领域搜索

  •  7
  • griegs  · 技术社区  · 14 年前

    我完全不喜欢露西,到目前为止我是一个巨大的粉丝。

    我现在正在寻找一些关于如何存储数据和通过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");
    
    2 回复  |  直到 12 年前
        1
  •  10
  •   gotnull mzelina    12 年前
    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);
    
        2
  •  2
  •   Community dbr    7 年前

    在Lucene有很多种方法可以跨领域搜索。Sam Doshi在回答另一个StackOverflow问题时描述了几个问题: How to incorporate multiple fields in QueryParser?