solr-indexer 어플리케이션에 대한 테스트를 코딩하고 있습니다. 테스트 모범 사례에 따라 코드를 자립적으로 작성하고 schema.xml
및 solrconfig.xml
을로드하고 인덱싱 검색 테스트를위한 임시 데이터 트리를 만듭니다. 응용 프로그램이 대부분 Java로 작성되었으므로 SolrJ 라이브러리를 다루고 있지만 문제가 발생합니다 (코어 컨테이너 - 코어 디스크립터 - coreconfig-solrcore ...)의 잃어버린 부분입니다. 누구나 사용할 수 있습니다. 여기에 config를로드하고 매개 변수가있는 데이터 디렉토리에 기록하는 Embedded Server를 만드는 몇 가지 코드가 있습니까?Embedded Server를 통해 Solr 테스트하기
답변
SolrExampleTests으로 시작하여 SolrExampleTestBase까지 확장되는 AbstractSolrTestCase으로 시작할 수 있습니다.
이 또한 SampleTest입니다.
SolrExampleTests : http://svn.apache.org/repos/asf/lucene/solr/tags/release- 1.4.0/src/test/org/apache/solr/client/solrj/SolrExampleTests.java – High6
이것은 sol 버전 1.4를 말합니다. 이러한 클래스의 3.5 버전이 필요하다면 중앙에 solr-test-framework 아티팩트가 있습니다. http://mvnrepository.com/artifact/org.apache.solr/solr-test-framework – unscene
이것은 간단한 테스트 케이스의 예입니다.
import java.io.IOException; import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; import org.apache.solr.util.AbstractSolrTestCase; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.params.SolrParams; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; public class SolrSearchConfigTest extends AbstractSolrTestCase { private SolrServer server; @Override public String getSchemaFile() { return "solr/conf/schema.xml"; } @Override public String getSolrConfigFile() { return "solr/conf/solrconfig.xml"; } @Before @Override public void setUp() throws Exception { super.setUp(); server = new EmbeddedSolrServer(h.getCoreContainer(), h.getCore().getName()); } @Test public void testThatNoResultsAreReturned() throws SolrServerException { SolrParams params = new SolrQuery("text that is not found"); QueryResponse response = server.query(params); assertEquals(0L, response.getResults().getNumFound()); } @Test public void testThatDocumentIsFound() throws SolrServerException, IOException { SolrInputDocument document = new SolrInputDocument(); document.addField("id", "1"); document.addField("name", "my name"); server.add(document); server.commit(); SolrParams params = new SolrQuery("name"); QueryResponse response = server.query(params); assertEquals(1L, response.getResults().getNumFound()); assertEquals("1", response.getResults().get(0).get("id")); } }더 많은 정보를 원하시면,이 블로그 게시물을 참조하십시오 : Solr Integration Tests
junit 4.7을 사용하는 경우이 방법론을 사용할 수 있습니다. 더 높은 JUnit을 사용한다면 지금은 할 수 없습니다. – jayunit100
먼저 당신이 solrconfig를 포함 solr.xml과의 conf 폴더가 포함 된 SOLR 홈 디렉토리를 설정해야합니다 SOLR은 SOLR 구성 파일이 들어있는 디렉토리입니다. xml, schema.xml 등.
그런 다음이 간단한 코드를 Solrj에 사용할 수 있습니다.
File solrHome = new File("Your/Solr/Home/Dir/");
File configFile = new File(solrHome, "solr.xml");
CoreContainer coreContainer = new CoreContainer(solrHome.toString(), configFile);
SolrServer solrServer = new EmbeddedSolrServer(coreContainer, "Your-Core-Name-in-solr.xml");
SolrQuery query = new SolrQuery("Your Solr Query");
QueryResponse rsp = solrServer.query(query);
SolrDocumentList docs = rsp.getResults();
Iterator<SolrDocument> i = docs.iterator();
while (i.hasNext()) {
System.out.println(i.next().toString());
}
이 정보가 도움이되기를 바랍니다.
- 1. 승객을 통해 Yardoc Server를 어떻게 실행합니까?
- 2. 테스트하기
- 3. HTTP를 통해 임베디드 Solr 인스턴스에 액세스하기
- 4. Lisp에서 테스트하기
- 5. SOLR
- 6. SOLR
- 7. 스크립트 인수와 Embedded IronPython
- 8. HTTP와 Solr 통신
- 9. 오이로 SWFUpload 테스트하기
- 10. SQL Server를 통해 master 데이터베이스에 연결하는 연결 문자열은 무엇입니까
- 11. XML을 얻기 위해 REST를 통해 SQL Server를 쿼리하는 방법
- 12. django에서 microsoft exchange server를 통해 이메일을 보낼 수 있습니까?
- 13. Windows 서버에서 SQL Server를 네트워크에 연결하지 않고 ActiveSync를 통해 연결
- 14. Silverlight 웹 프로젝트를 통해 SQL Server를 쿼리하는 방법은 무엇입니까?
- 15. Maven Tomcat Embedded
- 16. OpenCV on Embedded Platform
- 17. 임베디드 모드에서 JSP 테스트하기
- 18. Solr : solr 인덱스에서 필드 이름을 검색 하시겠습니까?
- 19. solr DIH - solr delta-imports에 관한 문제
- 20. SOLR 관리자는
- 21. Solr 1.4
- 22. SOLR 질문
- 23. SOLR : spellcheck.q
- 24. 카드 덱 셔플러 테스트하기
- 25. 파이썬에서 소켓 연결 테스트하기
- 26. Morphia로 MongoDB 클러스터링 테스트하기
- 27. 값 객체를 단위 테스트하기
- 28. Rails + Backbone.js 애플리케이션 테스트하기
- 29. 노키아가없는 WML 문서 테스트하기
- 30. CppUnit으로 "미만"테스트하기
주의! JUnit 4.7만이 아래에 설명 된 접근 방식을 지원한다고 믿습니다. JUnit의 최신 버전에서 Solr Base 테스트로 발생하는 일종의 setup() 동적 호출 오류가 있습니다. – jayunit100
나는 비슷한 질문에 답을 찾아왔다. http://stackoverflow.com/a/23102896/1410035 –