0

私のアプリケーションには、次のように 2 つのタイプ (またはそれ以上) のデータがあります。

  1. 名前: nytimes ニュース レポート, start_dt: 2013-09-13T
  2. 名称:ナイタイムスチャンネル
  3. 名前: nytimes ニュース レポート, start_dt: 2013-09-10T

フィールド 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

私が欲しいだけです。

4

1 に答える 1

0
  1. sortMissingLastフィールドでオプションを有効にして start_date で並べ替えます。これにより、start_date が空白のすべての結果が最後にプッシュされます。ただし、スコアを失うことになります。

  2. フィールドの存在に基づいてstart_date:[* TO *]^10(edismax use を使用してbq) ブーストし、フィールドに値がある場合に結果が押し上げられるようにします。

于 2013-09-12T07:45:14.363 に答える