我的应用程序有两种类型(或更多)数据,如下所示:
如果有字段start_dt,我想订购结果,所以我的查询是:
q=nytimes+AND+start_dt:[NOW+TO+NOW/DAY%2B2DAY]
但是我想获得上面1/2号的结果,我会做什么?
------ -------编辑
我使用sortMissingFirst进行更复杂的查询:
<field name="start_dt" type="date" indexed="true" stored="false" sortMissingFirst='true'/>
q=(nytimes)+OR+(nytimes+AND+start_dt:[NOW+TO+NOW/DAY%2B2DAY])&sort=start_dt+asc
我想要的。
答案 0 :(得分:0)
按start_date排序,并在字段上启用sortMissingLast
选项。
这将导致所有结果空白的start_date被推送到最后。
但是你会失去得分。
基于字段start_date:[* TO *]^10
的存在而提升(使用edismax使用bq
),以便在字段具有任何值时将结果推高。