7

以下のようにsolrからデータを検索したい

ここに画像の説明を入力 これは私の2つのテーブルです:

ここに画像の説明を入力

ここに画像の説明を入力

では、solrを使用してこの日付検索を行うにはどうすればよいですか....

編集

これには SolrPhpClient を使用しています。

これは私のschema.xmlのフィールドです:

    <fields>
   <field name="id" type="string" indexed="true" stored="true" required="true"/>
   <field name="event_name" type="text_general" indexed="true" stored="true"/>
   <field name="event_category_id" type="string" indexed="true" stored="true"/>
   <field name="cat_name" type="text_general" indexed="true" stored="true"/>
   <field name="event_sub_category_id" type="string" indexed="true" stored="true"/>
   <field name="sub_cat_name" type="text_general" indexed="true" stored="true"/>
   <field name="event_location" type="text_general" indexed="true" stored="true"/>
   <field name="org_id" type="string" indexed="false" stored="true"/>
   <field name="org_name" type="text_general" indexed="true" stored="true"/>
   <field name="event_city" type="text_general" indexed="true" stored="true"/>

   <field name="multiple_tags" type="text_general" indexed="true" stored="true" multiValued="true" />

   <field name="multiple_start_dates" type="date" indexed="true" stored="true" multiValued="true" />

   <field name="event_twitter_url" type="text_general" indexed="false" stored="true"/>
   <field name="event_fb_url" type="text_general" indexed="false" stored="true"/>
   <field name="search_text" type="text_general" indexed="true" stored="false" multiValued="true" />
    <copyField source="event_name" dest="search_text" />
    <copyField source="cat_name" dest="search_text" />
    <copyField source="org_name" dest="search_text" />

    <copyField source="multiple_tags" dest="search_text" />

    <dynamicField name="*" type="string" multiValued="true" indexed="true" stored="true" />
   <field name="_version_" type="long" indexed="true" stored="true"/>
   <field name="content" type="text_general" indexed="false" stored="true" multiValued="true"/>
   <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
 </fields>

次の画像は、すべてのクエリを含む solr 管理者です。

ここに画像の説明を入力

そのため、検索multiple_start_dates:2013-10-24T00:00:00Zするqとエラーが返されinvalid date stringます......

4

1 に答える 1

4

スキーマから、テーブルの日付フィールドにインデックスを付けていないようです。作成された列や変更された列などの日付フィールドにインデックスを付けると、次のようなクエリを作成できます。

(created:[NOW-1MONTH TO NOW]) //for current month

(created:[NOW-3MONTH TO NOW-1MONTH]) //created within last three months but not in current month

など、他の時間単位と (+/-) 演算子を使って実験すると、目的のクエリが得られます。

于 2013-10-15T06:40:02.597 に答える