如果日期在两个日期之间,则按一个字段对SOLR查询排序,否则按不同的字段排序

时间:2014-11-24 17:57:06

标签: sorting solr

我的SOLR文档中有4个字段:

  • 价格:浮动,索引,存储
  • special_price:float,indexed,stored
  • special_price_from:date,indexed,stored
  • special_price_to:date,indexed,stored

如果当前日期介于special_pricespecial_price_from之间,我想按special_price_to排序。如果没有,我希望它按price排序。

据我所知,FunctionQueries是按文档评估的。

我尝试过不同的排序表达式,但都没有奏效。如果没有时间表,我甚至无法工作:

sort=if(special_price,special_price,price) asc

sort=def(special_price,price) asc

或(有和没有字符串文字)

sort=query($qq)+asc&qq=if(special_price,"special_price","price")

也许我在MySQL方面思考太多,但我无法弄清楚。

我使用的是SOLR 3.6.2。

0 个答案:

没有答案