1.将 pdf文件上传到solr,然后解析,索引,最后查询
一:首先建立Core
在core下面新建lib文件夹,存放相关的jar包,如图所示:
lib文件夹打开所示,这些类库在solr6.2.1解压之后都能找到:
修改solrconfig.xml,把刚刚建的lib文件夹下的jar包引入
增加配置,如果有则不用添加:
配置managed-schema文件:
二:Java代码solrj操作(6.2.1版本)
package com.journal.controller;
import java.io.File;
import java.io.IOException;
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.impl.HttpSolrServer;
import org.apache.solr.client.solrj.request.AbstractUpdateRequest;
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
/**
* 从PDF创建索引 <功能详细描述>
*
* @author Administrator
* @version [版本号, 2014年3月18日]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class test {
public static void main(String[] args) {
String fileName = "d:/606-011.pdf";
String solrId = "606-011.pdf";
try {
indexFilesSolrCell(fileName, solrId);
} catch (IOException e) {
e.printStackTrace();
} catch (SolrServerException e) {
e.printStackTrace();
}
}
/**
* 从文件创建索引 <功能详细描述>
*
* @param fileName
* @param solrId
* @see [类、类#方法、类#成员]
*/
public static void indexFilesSolrCell(String fileName, String solrId)
throws IOException, SolrServerException {
String urlString = "http://localhost:8983/solr/core";
SolrServer solr = new HttpSolrServer(urlString);
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);