위키 페이지 인 http://wiki.apache.org/solr/DataImportHandler은 DataImportHandler를 사용하여 데이터를 인덱싱하는 방법을 설명합니다. 그러나이 예제에서는 명령을 사용하여 가져 오기 작업을 시작합니다. cSolr에서 데이터 가져 오기 일정을 잡는 방법
답변
UNIX/Linux의 경우 cron jobs은 (는) 친구입니다! Windows의 경우 Task Scheduler입니다. 이 간단한 GET 요청이기 때문에
UPDATE는
, 자바 코드에서 작업을 수행하려면, 당신은 HTTP Client 라이브러리를 사용할 수 있습니다. GetMethod 사용에 대해서는 this tutorial을 참조하십시오.
프로그래밍 방식으로 Solr에 다른 요청을 보내야 할 경우 Solrj library을 사용해야합니다. 어떤 SOLR 핸들러에 액세스하도록 구성 할 수 있습니다 SOLR 개미에 대한 모든 기본적인 명령을 보낼 수 있습니다 :
CommonsHttpSolrServer server = new CommonsHttpSolrServer("http://localhost:8983/solr");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("command", "full-import");
QueryRequest request = new QueryRequest(params);
request.setPath("/dataimport");
server.request(request);
내가이 단계에 따라 작동하게 할 수 있었다 : 만약 ApplicationListener를
클래스를 작성, HTTPPostScheduler 및 SolrDataImportProperties (소스 코드는 http://wiki.apache.org/solr/DataImportHandler#Scheduling에 나와 있습니다). 나는이 클래스들이 아직 커밋되지 않았다고 믿는다.
는 SOLR의 web.xml 파일에 다음 리스너를 추가
<listener> <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class> </listener>
구성 dataimport.properties를 위키 페이지의 지침에 따라.
유닉스/리눅스에서 모든 것이 작동하게 에스테 페르난데스에 의해 새로운 패치있다 : https://issues.apache.org/jira/browse/SOLR-2305
@Eldo 당신은 단지 질문을 드롭 자신의 JAR 구축에 도움이 더 필요려고하는 경우 여기 ...
단순 crontab -e
명령으로 crontab을이 행을 추가
0,30 * * * * /usr/bin/wget http://<solr_host>:8983/solr/<core_name>/dataimport?command=full-import
이 의지 전체 가져 오기 매 30 분. <solr_host>
및 <core_name>
을 구성으로 바꾸십시오.
이것은 약간 오래되었지만 CRON 작업과 작업 스케줄러를 사용하는 경우 Windows WPF 응용 프로그램과 서비스를 작성하여 처리하기가 어려울 수 있습니다. 코어/환경.
https://github.com/systemidx/SolrScheduler
당신은 기본적으로 그냥 지정된 폴더에 JSON 파일에 드롭하고 SOLR에 명령을 실행하기 위해 REST 클라이언트를 사용합니다.
우리는 Quartz를 사용하여이를 수행 할 수 있습니다. 이는 Linux의 crontab과 같습니다. 하지만 기본적으로 jdk에 포함 된 TimerTask로 충분합니다.
- 1. Solr에서 데이터 가져 오기 처리기
- 2. Python twisted : 일정을 잡는 방법? 트위스트에서
- 3. C# 서비스에서 여러 발행 일정을 잡는 방법?
- 4. MFC에서 일정을 잡는 가장 좋은 방법은 무엇입니까
- 5. 효율적인 데이터 가져 오기?
- 6. Facebook에서 모든 일정을 가져 오는 방법 페이지
- 7. memcache에서 데이터 가져 오기
- 8. NSDictionary에서 데이터 가져 오기
- 9. 데이터 가져 오기
- 10. 긁힘없이 데이터 가져 오기
- 11. 데이터베이스에서 데이터 가져 오기
- 12. DataList에서 데이터 가져 오기
- 13. 위키에서 데이터 가져 오기
- 14. 데이터 가져 오기 아이디어
- 15. NSTextView에서 데이터 가져 오기
- 16. imdb에서 데이터 가져 오기
- 17. 서버에서 데이터 가져 오기
- 18. nfq_get_payload에서 데이터 가져 오기
- 19. 데이터베이스에서 데이터 가져 오기
- 20. NSUSerDefaults 데이터 가져 오기
- 21. gridview에서 데이터 가져 오기
- 22. businessaccount에서 데이터 가져 오기
- 23. CSV에서 데이터 가져 오기
- 24. 개체에서 데이터 가져 오기
- 25. PeopleSoft에서 데이터 가져 오기
- 26. 가져 오기 데이터
- 27. 인터넷에서 데이터 가져 오기
- 28. JSON에서 데이터 가져 오기
- 29. XMLHttpRequest에서 데이터 가져 오기
- 30. 서버에서 데이터 가져 오기
감사합니다. 내 질문이 달랐다. 인덱싱 작업에 대해 http : // : /solr/dataimport? command = full-import 명령을 실행해야합니다. Java 클래스를 사용하여 어떻게 할 수 있습니까? (브라우저 창에서 명령을 입력하는 것과 반대?) –
Eldo
답변에서 내 업데이 트를 참조하십시오 –
또한, 당신이 cron에서 일하는 경우 wget http://127.0.0.1:8983/solr/dataimport?command=full-import works great! –