我们正在与cassandra合作,并在其上使用solr(dse)。在table上 offers
对于一些买家识别的各种文件,我们每天提供一次报价。每一个报价代表不同的价格,每天都在变化,所以对于每个文件,我们可能有30-60个报价。
如何可能从买方的所有文件中找到每一份价格低于10美元的文件的一个报价,例如。。。或者甚至只是为每一份文件找到最接近当前时刻的报价
我的问题中提到的所有字段都编制了索引。offerdate、offerprice、buyerid、documentid等。
例如,我们为同一买家1提供了以下所有信息,我们希望找到最及时的报价:
document1
document2
document3
对于文档1,我们有:
offer1Document1.documentId=document1
offer1Document1.offerDate = today.plus(5)
offer2Document1.documentId=document1
offer2Document1.offerDate = today.plus(6)
offer3Document1.documentId=document1
offer3Document1.offerDate = today.plus(7)
对于文档2,我们有:
offer4Document2.documentId=document2
offer4Document2.offerDate = today.plus(1)
offer5Document2.documentId=document2
offer5Document2.offerDate = today.plus(2)
对于文档2,我们有:
offer5Document3.documentId=document3
offer6Document3.offerDate = today.plus(3)
offer7Document3.documentId=document3
offer7Document3.offerDate = today.plus(5)
当我们为买家1的文件搜索所有报价时,我们将列出以上所有结果-7个结果。如何才能筛选出结果,以便我们为每个文档提供一个时间最接近的报价,结果是(每个文档只有一个最接近日期的报价):
offer1Document1.offerDate = today.plus(5)
offer4Document2.offerDate = today.plus(1)
offer6Document3.offerDate = today.plus(3)
1条答案
按热度按时间oxiaedzo1#
你在solr中索引了哪些字段。我们可以根据字段构造搜索查询。