如何执行这些SOLR查询?

如何执行这些SOLR查询?,solr,solrj,edismax,dismax,Solr,Solrj,Edismax,Dismax,我有一个索引数据(使用rdbms中的solrj进行索引),其中包含与银行业务相关的字段,例如(示例):customerid、Custom_name、accountno、amount、positions、pos_value、EOD_value等 现在我想对数据和搜索查询进行一些搜索: 前10名股票/头寸(基于股票价值) 按银行金额递减顺序排列的前5名客户 哪只股票在一天内涨幅最大(以及股票详情) 股票在特定时间范围内的最低价值 如何在SOLR中查询上述内容 我读过函数查询和solr插件,但找不

我有一个索引数据(使用rdbms中的solrj进行索引),其中包含与银行业务相关的字段,例如(示例):customerid、Custom_name、accountno、amount、positions、pos_value、EOD_value等

现在我想对数据和搜索查询进行一些搜索:

  • 前10名股票/头寸(基于股票价值)
  • 按银行金额递减顺序排列的前5名客户
  • 哪只股票在一天内涨幅最大(以及股票详情)
  • 股票在特定时间范围内的最低价值
如何在SOLR中查询上述内容 我读过函数查询和solr插件,但找不到太多有用的信息

我们是否可以使用一些数学运算(如平均、求和等)在字段(金额、股票价值等)上执行刻面处理

我想使用velocity UI进行以下搜索,需要对其搜索框进行哪些自定义?
有什么想法吗?

Solr是一个基于Lucene的高性能文本搜索引擎,它是一个出色的令牌匹配和评分库。这就是说,您想要运行的查询类型在Solr中肯定会以某种方式工作,但您必须提供Solr,以提供您想要搜索的所有数据。Solr不会为您计算最小、最大平均值。它的工作是尽可能快地在以前计算的值中查找、排序和排序

您列出的字段可能不会提供您要查找的所有详细信息。您将需要索引更多

如果您在索引中有要查找的数据,以下查询可能会得到您要查找的答案,或者应该提示您如何陈述它们

前10名股票/头寸

q=*:* sort=stock_value DESC rows=10
这要求
stock\u value
是数字,并且具有指数中的最新股价

前五名客户

q=*:* sort=stock_value DESC rows=10
这很相似

q=*:* sort=account_value DESC rows=5
哪只股票一天涨幅最大

你需要对每天的收益进行索引

q=date:1995-12-31T23:59:59.999Z sort=stock_gain  DESC rows=1
特定时间范围内股票的最低价值

q=symbol:abc123 date:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]  sort=stock_value ASC rows=1

有关日期查询的详细信息,请参见。Solr是一个基于Lucene的高性能文本搜索引擎,它是一个出色的标记匹配和评分库。这就是说,您想要运行的查询类型在Solr中肯定会以某种方式工作,但您必须提供Solr,以提供您想要搜索的所有数据。Solr不会为您计算最小、最大平均值。它的工作是尽可能快地在以前计算的值中查找、排序和排序

您列出的字段可能不会提供您要查找的所有详细信息。您将需要索引更多

如果您在索引中有要查找的数据,以下查询可能会得到您要查找的答案,或者应该提示您如何陈述它们

前10名股票/头寸

q=*:* sort=stock_value DESC rows=10
这要求
stock\u value
是数字,并且具有指数中的最新股价

前五名客户

q=*:* sort=stock_value DESC rows=10
这很相似

q=*:* sort=account_value DESC rows=5
哪只股票一天涨幅最大

你需要对每天的收益进行索引

q=date:1995-12-31T23:59:59.999Z sort=stock_gain  DESC rows=1
特定时间范围内股票的最低价值

q=symbol:abc123 date:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]  sort=stock_value ASC rows=1

有关日期查询的详细信息,请参阅。我们在一个应用程序中实现了相同的功能

在navigators“div”下的Browse.vm中,我们创建了自定义方面,当我们单击该方面时,它会重新创建url以及“Phish”在其回答中提到的参数

示例: 我们在UI的facet部分创建了一个名为“前10支股票”的链接,当我们点击它时。我们创建了一个url,将参数添加为

q=:&sort=stock\u value DESC&rows=10


请在你这边试试,因为在我这边效果很好。很抱歉,我无法共享该代码,因为它是客户端机密。

我们在一个应用程序中实现了相同的功能

在navigators“div”下的Browse.vm中,我们创建了自定义方面,当我们单击该方面时,它会重新创建url以及“Phish”在其回答中提到的参数

示例: 我们在UI的facet部分创建了一个名为“前10支股票”的链接,当我们点击它时。我们创建了一个url,将参数添加为

q=:&sort=stock\u value DESC&rows=10


请在你这边试试,因为在我这边效果很好。很抱歉,我无法共享该代码,因为它是客户机密。

hi Phish,thanx作为答案。这真的很值得。对此我还有一些疑问。我有一个velocity UI,我将在其上显示索引数据。UI与示例发行版相同。我想使用Facts(有点)作为“前十大股票”之类的术语等等。我知道范围和字段的刻面,但如何在这种查询中使用刻面?Thanx..刻面是一种将搜索分解为具有计数的类别的方法,请参阅。如果每个交易都被索引,它可以显示每个股票的交易数量。请提供更多的细节和一个关于你想如何使用刻面的具体问题。你有机会尝试一下吗?关于你使用faceting search还有什么更具体的细节吗?hi Phish,thanx为你提供了答案。这真的很值得。对此我还有一些疑问。我有一个velocity UI,我将在上面显示索引数据。UI与示例发行版相同。我想使用facets(某种程度上)作为“前10支股票”之类的术语等等。我知道范围和字段的刻面,但如何在这种查询中使用刻面?Thanx..刻面是一种将搜索分解为具有计数的类别的方法,请参阅。如果每个交易都被索引,它可以显示每个股票的交易数量。请提供更多的细节和一个关于你想如何使用刻面的具体问题。你有机会尝试一下吗?关于您使用fac的更多详细信息