이 문제로 인해 문제가 발생합니다. 사용자 정의 UpdateRequestProcessorFactory를 작성했습니다. 코드는 다음과 같습니다 나는 CLASS-PATH: ../../dist/solr-solrj-4.10.1 ../../dist/solr-core-4.10.1.jar
으로 클래스 경로를 설정하고 컴파일하여 컴파일Solr 사용자 지정 UpdateRequestProcessorFactory
package mira;
import java.io.IOException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.AddUpdateCommand;
import org.apache.solr.update.processor.UpdateRequestProcessor;
import org.apache.solr.update.processor.UpdateRequestProcessorFactory;
public class MaProcessorFactory extends UpdateRequestProcessorFactory
{
@Override
public UpdateRequestProcessor getInstance(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next)
{
return new MaProcessor(next);
}
}
class MaProcessor extends UpdateRequestProcessor
{
public MaProcessor(UpdateRequestProcessor next) {
super(next);
}
@Override
public void processAdd(AddUpdateCommand cmd) throws IOException {
SolrInputDocument doc = cmd.getSolrInputDocument();
Object vid = doc.getFieldValue("id");
Object vcontent = doc.getFieldValue("content");
doc.setField("fileurl", vid);
// pass it up the chain
super.processAdd(cmd);
}
}
jar cfmv mira.jar Manifest.txt MaProcessor.class MaProcessorFactory.class
manifest.txt가 그대로
CLASS-PATH: ../../solr-solrj-4.10.1 ../../solr-core-4.10.1.jar
내 Solrconfig.xml 은
<lib dir="../../" regex="mira.jar" />
마지막 지시어
및
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<lst name="defaults">
<str name="update.chain">concatfld</str>
</lst>
</requestHandler>
<updateRequestProcessorChain name="concatfld">
<processor class="mira.MaProcessorFactory" />
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>`
은 내가 어떤 도움이 크게 감사합니다
Error creating core [divine-c]: Error loading class 'mira.MaProcessorFactory'
org.apache.solr.common.SolrException: Error loading class 'mira.MaProcessorFactory'
오류가
java -jar start.jar
을 실행할 때.
solr-solrj-4.10.1은 오타였다. Manifest.txt 파일에 solr-solrj-4.10.1.jar가 있습니다. – Mike