solrj 文件索引问题

来源:互联网 发布:淘宝买家问质量怎么样 编辑:程序博客网 时间:2024/05/22 06:52

先上代码

public class SolrTest {    public static final String SOLR_URL="http://localhost:8080/solr/core";    private SolrServer solr=null;    @Test    public void getSolrTest() throws Exception{        String fileName = "D:\\projects\\solr\\home\\docs\\solr-word.pdf";        String solrId = "solr-word.pdf";        solr = new HttpSolrServer(SOLR_URL);        ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");        String contentType="application/pdf";        up.addFile(new File(fileName), contentType);        up.setParam("literal.id", solrId);        up.setParam("uprefix", "attr_");        up.setParam("fmap.content", "attr_content");        up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);        solr.request(up);        QueryResponse rsp = solr.query(new SolrQuery("*:*"));        System.out.println(rsp);    }}

测试运行,随之问题来了。

BUG_1:

org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: java.lang.NoClassDefFoundError: org/apache/xml/serialize/BaseMarkupSerializer    at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:552)    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206)

问题:缺少解析xml格式文件的jar包
解决方案:下载解析jar包放入solr项目下的lib文件夹,下载地址http://xerces.apache.org/mirrors.cgi,将下载文件中的 xercesImpl.jar与xml-apis.jar放入lib文件夹。

BUG_2:

[doc=solr-word.pdf] missing required field: filePath

问题:schema.xml文件中多出无法解析的字段filePath
解决方法:删掉filePath的field字段即可

把两个错误搞定后,pdf与doc文件都可以被成功解析索引。
schema.xml和solrconfig.xml就不贴出来了,很容易找到可以参考的。

0 0
原创粉丝点击