我正在使用Apache Solr并使用具有文本字段PostBody
,整数Userid
字段和基于特里结构的日期时间字段MostRecentActivityDate
的架构查询索引。
我正在尝试将查询时间提升应用到我的select
查询中,以便通过某些因素提升最近的帖子以帮助评分。我的价值在于试图获得几天而不是几年的时间尺度,就像许多在线日期提升示例一样。
以下两个查询产生不同的结果,唯一不同的是其中实际放置了增强的“代码”(即在场条件本身之前或之后)。在我的测试中,我也注意到它们都会产生不同的结果,因为没有{}提升代码,所以它不会在一种情况下被忽略。
有人能够解释为什么会产生不同的结果吗?谢谢!
{!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)} (PostBody:"timmy is great and that is a fact") AND !Userid=2
Vs以上。
(PostBody:"timmy is great and that is a fact") AND !Userid=2 {!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)}
答案 0 :(得分:1)
由于这将非常针对您的数据,因此了解正在发生的事情的最佳方法是通过搜索的debugQuery=on
参数打开query Debugging。以下是两个有助于解释调试输出的链接。