아래처럼 solr에서 데이터를 검색하고 싶습니다.
이것은 내 두 테이블입니다.
그래서 어떻게 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
오류를 ......
스키마에서 테이블의 날짜 필드를 인덱싱하지 않은 것으로 보입니다. 생성 및 수정 된 열과 같은 날짜 필드를 인덱싱하면 다음과 같은 쿼리를 만들 수 있습니다.
(created:[NOW-1MONTH TO NOW]) //for current month
(created:[NOW-3MONTH TO NOW-1MONTH]) //created within last three months but not in current month
다른 시간 단위와 (+/-) 연산자를 사용하여 몇 가지 실험을 수행하면 원하는 쿼리를 얻을 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다