solr,如何搜索两种类型的数据?

时间:2013-09-12 07:24:21

标签: solr

我的应用程序有两种类型(或更多)数据,如下所示:

  1. name:nytimes news report,start_dt:2013-09-13T
  2. name:nytimes channel
  3. name:nytimes news report,start_dt:2013-09-10T
  4. 如果有字段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
    

    我想要的。

1 个答案:

答案 0 :(得分:0)

  1. 按start_date排序,并在字段上启用sortMissingLast选项。 这将导致所有结果空白的start_date被推送到最后。 但是你会失去得分。

  2. 基于字段start_date:[* TO *]^10的存在而提升(使用edismax使用bq),以便在字段具有任何值时将结果推高。