solrj创建富文本索引
2014-01-02 15:17
218 查看
今天主要使用solrj为富文本内容创建索引,参考网上的例子,一直没有调试成功。solrj客户端报的是org.apache.solr.common.SolrException: Internal Server Error错误,没有提示任何信息,因此自己感觉一头雾水,不知从何下手。solr程序后台没有报任何错误。
后来把dist文件夹下的lib包都拷贝到solr程序中,solr后台终于显示了错误信息。根据错误信息的提示把contrib\extraction下的所有jar报都拷贝到solr程序中,程序终于运行起来了。
下面是利用solrj创建富文本内容索引的程序。
up.setParam("literal.id", solrId); //设置document的id域值为solrid
up.setParam("fmap.content", "msg_content");//设置存储文件内容的域为msg_content,我们必须在schema.xml中定义msg_content字段。
后来把dist文件夹下的lib包都拷贝到solr程序中,solr后台终于显示了错误信息。根据错误信息的提示把contrib\extraction下的所有jar报都拷贝到solr程序中,程序终于运行起来了。
下面是利用solrj创建富文本内容索引的程序。
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.CommonsHttpSolrServer; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest; import org.apache.solr.client.solrj.response.QueryResponse; public class SolrJDemo2 { public static void main(String[] args) { try { //Solr cell can also index MS file (2003 version and 2007 version) types. String fileName = "D://lucene3//SQL性能优化.docx"; //this will be unique Id used by Solr to index the file contents. String solrId = "SQL性能优化"; indexFilesSolrCell(fileName, solrId); } catch (Exception ex) { System.out.println(ex.toString()); } } /** * Method to index all types of files into Solr. * @param fileName * @param solrId * @throws IOException * @throws SolrServerException */ public static void indexFilesSolrCell(String fileName, String solrId) throws IOException, SolrServerException { String urlString = "http://127.0.0.1:8080/solr"; SolrServer solr = new CommonsHttpSolrServer(urlString); ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract"); up.addFile(new File(fileName)); up.setParam("literal.id", solrId); 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); } }
up.setParam("literal.id", solrId); //设置document的id域值为solrid
up.setParam("fmap.content", "msg_content");//设置存储文件内容的域为msg_content,我们必须在schema.xml中定义msg_content字段。
相关文章推荐
- Solr笔记四之Solrj创建索引和搜索的一般步骤
- solr安装部署、solr测试创建core、用solrj 访问solr(索引和搜索)
- solrJ的使用--覆盖创建索引,查询,删除索引【转自http://blog.sina.com.cn/s/blog_64ac3ab10100t3mq.html】
- solrj demo 索引创建与查询
- solr安装部署、solr测试创建core、用solrj 访问solr(索引和搜索)
- 使用SolrJ创建索引
- Solr4:利用SolrJ创建索引,建立查询简单示范
- Lucene4:运用中文分词器创建索引,给指定文本增加boost值
- 为文本数据创建索引
- Solrj创建doc/pdf/txt文件索引,高亮查询
- 为文本数据创建索引
- 为文本数据创建索引的更好方法
- Solr笔记四之Solrj创建索引和搜索的一般步骤
- MySQL查看一个表的创建文本以及删除表某列的索引
- solrj的使用,环境准备,工程搭建,索引创建,添加\修改索引,删除索引,查询
- Oracle 创建索引
- 创建文本注记TextElement
- 利用AS3.0为文本创建滚动条
- SqlServer在视图上创建索引的条件
- 搜索引擎系列 ---lucene简介 创建索引和搜索初步