0

Solr では、インデックス付きのデータがあり、そのデータ内に一連の日付値がある場合、インデックスに対してクエリを実行し、X と Y の日付の間のイベントをどのように要求できますか?

たとえば、イベント会場のリストがあり、それぞれに数十のイベント (1 日、終日、または複数日) がある場合、フィルターをどのように構築して、イベントが で指定された開始日と終了日の間にある会場を返すか探す?

現在、フォームを検索して Solr に送信すると、クエリ文字列は次のようになります。

&fq=dm_event_start_date\:value:["2013-01-04T05:00:00Z" TO *]
&fq=dm_event_end_date\:value:[* TO "2013-01-08T05:00:00Z"]
&fq=bm_tickets_left\:value:"TRUE"

私が本当にお願いしたいのは、1 月 4 日に発生または開始するイベントで、1 月 8 日以降は開催されず、まだチケットが残っているイベントです。

私が見返りとして得ているのは、2 つの日付の間に該当するイベント、または日付が必ずしも一致しないチケットがあるイベントであると感じています。

4

1 に答える 1

0

おそらく、日付フィールドの値は、範囲クエリの引用符から外れている必要があります。例:-

&fq=dm_event_start_date:value:[2013-01-04T05:00:00Z TO *]
&fq=dm_event_end_date:value:[* TO 2013-01-08T05:00:00Z]
&fq=bm_tickets_left:value:true

また、bm_tickets_left文字列値だけである必要があります。

于 2012-11-14T04:26:14.273 に答える