有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何删除使用Solr从Word文件提取的文本中的大量“\n”?

当我索引a时。docx文档,带有apachesolr4.9(Solr单元);它提取包含大量“\n”的文本,是否有方法清除字段内容或删除“\n”

字段内容如下所示:

"content": [
      " \n \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n \n   Solr  es un motor de búsqueda de código abierto basado en la biblioteca Java del proyecto Lucene, con APIs en XML/HTTP y  JSON , resaltado de resultados, búsqueda por facetas, caché, y una interfaz para su administración \n    \n  "

下面是代码,我正在使用SolrJ、java、Tomcat8、ApacheSolr4.9,我还尝试修改模式。xml,在标记器上使用regex将“\n”替换为“”(空白),这也是另一种方法,但没有任何效果

代码如下:

  SolrServer solrServer = new HttpSolrServer(url, httpClient);
  ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");    
  up.addFile(new File("C:\\doc.docx"),"");
  up.setParam("literal.id", "indexDoc.docx");
  up.setParam("field", "anything");
  up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);

  NamedList<Object> result = solrServer.request(up);
  String y = "";

  rsp = solrServer.query( new SolrQuery( "id:indexDoc.docx") );
  System.out.println(rsp.toString()); `

共 (0) 个答案