Lucene.Net IndexSearcher 无法与 BooleanQuery 一起使用

发布于 2024-09-17 19:42:25 字数 904 浏览 7 评论 0原文

我有以下代码片段:

        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 进行直接搜索,则效果很好。 我非常确定数据是正确的。

谢谢, 列奥纳多

I have the following code snippet:

        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);

This piece of code is always returning 0 hits no matter what.
If I do a direct search using the queryOrig without the boolean, it works fine.
I'm quite sure the data is correct.

Thanks,
Leonardo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

呆橘 2024-09-24 19:42:25

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

谢谢,
利奥!

Well.. It was a data problem! :D
The lucene works just fine.

Thanks,
Leo!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文