我试图在 beforeALL 方法中启动 Solr 服务器,但它给出了未找到集合的错误。
这是代码片段
var server: EmbeddedSolrServer = _
override def beforeAll() {
val container = new CoreContainer("testConf")
container.load()
server = new EmbeddedSolrServer(container, "collection1")
}
test("") {
val param = new ModifiableSolrParams()
param.set("q", "search")
server.getCoreContainer.load()
println(server.query(param).getResults.get(0).getFirstValue("title").toString)
assert(true)
}
override def afterAll(): Unit = {
server.close()
}
我正在遵循https://wiki.searchtechnologies.com/index.php/Unit_Testing_with_Embedded_Solr
的步骤
这是错误堆栈
org.apache.solr.common.SolrException: no so core: collection1 at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:149( 在 org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:149( at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:942( at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:957(
任何帮助都将得到认可
在名为"collection1"的目录中,您必须插入一个core.properties
文件,在其中写入以下属性:name=collection1
。
如果没有这个文件,你会得到SolrException。