【问题标题】:Lucene.Net IndexSearcher not working with BooleanQueryLucene.Net IndexSearcher 不使用 BooleanQuery
【发布时间】:2010-09-03 22:19:17
【问题描述】:

我有以下代码sn-p:

        QueryParser parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29, new string[] { Field1, Field2, Field3 }, _analyzer);
        parser.SetDefaultOperator(QueryParser.Operator.AND);
        Query queryOrig= parser.Parse(queryString);

        var query = new BooleanQuery();
        query.Add(queryOrig, BooleanClause.Occur.MUST);

        if (itemId.HasValue)
            query.Add(new TermQuery(new Term("Field3", NumericUtils.IntToPrefixCoded(itemId.Value))), BooleanClause.Occur.MUST);

        Hits hits;
        if (sortField != null)
        {
            var sort = new Sort(new SortField(sortField, isDescending));
            hits = Searcher.Search(query, null, sort);
        }
        else
            hits = Searcher.Search(query);

无论如何,这段代码总是返回 0 次命中。 如果我使用不带布尔值的 queryOrig 进行直接搜索,它可以正常工作。 我很确定数据是正确的。

谢谢, 莱昂纳多

【问题讨论】:

    标签: lucene.net boolean


    【解决方案1】:

    嗯..这是一个数据问题! :D lucene 工作得很好。

    谢谢, 狮子座!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多