2013-08-26 4 views
0

저는 Apache Solr 4.3.1을 데이터 저장 및 색인을위한 저장소로 사용하고 있습니다. 자, 필드 중 하나는 데이터 게시 데이터와 관련이 있습니다. 30 일이 넘은 항목을 삭제하고 관련 데이터 만 시간적 기준으로 유지하여 저장소를 업데이트하려고합니다.주기적으로 Apache Solr에서 데이터를 제거하는 방법은 무엇입니까?

나는 검색 결과를 가져 오기 위해 Solr 서버와 상호 작용하는 Solrj를 기반으로하는 웹 응용 프로그램을 보유하고 있습니다. 30 일 후에 Solr 서버에서 데이터를 삭제하기위한 예약 된 스레드를 추가해야합니까? 아니면 Solr이 특정 기간 후에 데이터를 자동으로 제거하는 기능을 제공합니까?

답변

2

Solr이 자동으로 그렇게하지 않습니다.

레코드를 삽입 할 때 필드 시간 소인을 기본값 NOW로 추가 할 수 있습니다.

<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" /> 

그리고 정기적으로 실행되는 작업을 통해 데이터를 정리할 수 있습니다.
30 일을 쉽게 삭제 쿼리에 추가 할 수 있습니다 fq=timestamp:[* to NOW/DAY-30DAYS] (정확한 구문 확인)

+0

Jayendra에게 감사드립니다. – abhijeet

관련 문제