NHibernate.Search 中的 NumericRangeQuery

发布于 2024-12-02 03:14:50 字数 706 浏览 0 评论 0原文

我正在创建一个搜索,用户可以同时选择一个时间间隔并搜索一个术语。

然而,这给我带来了麻烦,因为我到目前为止只使用了通常的文本查询。

我想知道如何同时使用 NumericRangeQuery 和常规术语查询。通常我会使用下面的查询:

var parser = new MultiFieldQueryParser(
         new[] { "FromPrice", "ToPrice", "Description"}, new SimpleAnalyzer());
        Query query = parser.Parse(searchQuery.ToString());
        IFullTextSession session = Search.CreateFullTextSession(this.Session);
        IQuery fullTextQuery = session.CreateFullTextQuery(query, new[] { typeof(MyObject) });
        IList<MyObject> results = fullTextQuery.List<MyObject>();

但是如果我要搜索范围 FromPrice <-> ToPrice 以及描述,我应该如何执行此操作,因为 session.CreateFullTextQuery 仅采用一个 Query 对象?

I am creating a search, where the user can both choose an interval and search on a term in the same go.

This is however giving me trouble, since I have up until have only used the usual text query.

I am wondering how I am to go about using both a NumericRangeQuery and a regular term query. Usually I would use a query below:

var parser = new MultiFieldQueryParser(
         new[] { "FromPrice", "ToPrice", "Description"}, new SimpleAnalyzer());
        Query query = parser.Parse(searchQuery.ToString());
        IFullTextSession session = Search.CreateFullTextSession(this.Session);
        IQuery fullTextQuery = session.CreateFullTextQuery(query, new[] { typeof(MyObject) });
        IList<MyObject> results = fullTextQuery.List<MyObject>();

But if I was to e.g. search the range FromPrice <-> ToPrice and also the description, how should I do this, since session.CreateFullTextQuery only takes one Query object?

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

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

发布评论

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

评论(1

极致的悲 2024-12-09 03:14:50

您可以创建单个查询,该查询是结合了您想要满足的所有条件的 BooleanQuery。

对于范围,这里是使用 QueryParser 的 Syntax 的链接:
http://lucene.apache.org/core/old_versioned_docs /versions/2_9_2/queryparsersyntax.html#范围搜索

you can create a single query that is a BooleanQuery combining all the conditions you want to be met.

For the ranges, heres a link to the synthax using the QueryParser:
http://lucene.apache.org/core/old_versioned_docs/versions/2_9_2/queryparsersyntax.html#Range Searches

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