• 搜索引擎Solr6.2.1 索引富文本(word/pdf/txt/html)


    一:首先建立Core

    在core下面新建lib文件夹,存放相关的jar包,如图所示:

    lib文件夹打开所示,这些类库在solr6.2.1解压之后都能找到:

    修改solrconfig.xml,把刚刚建的lib文件夹下的jar包引入

    增加配置,如果有则不用添加:

    配置managed-schema文件:

    二:Java代码solrj操作(6.2.1版本) 

    import java.io.File;
    import java.io.IOException;
    
    import org.apache.solr.client.solrj.SolrClient;
    import org.apache.solr.client.solrj.SolrQuery;
    import org.apache.solr.client.solrj.SolrServerException;
    import org.apache.solr.client.solrj.impl.HttpSolrClient;
    import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION;
    import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
    import org.apache.solr.client.solrj.response.QueryResponse;
    
    public class Test {
    
        public static void main(String[] args)
        {
    
           String fileName = "F:/广东先导稀材股份有限公司.docx";   
           String solrId = "广东先导稀材股份有限公司.docx";   
           try  
             {  
               indexFilesSolrCell(fileName, solrId);  
             }  
             catch (IOException e)  
             {  
                 e.printStackTrace();  
              }  
             catch (SolrServerException e)  
             {  
                e.printStackTrace();  
            }  
            System.out.println("结束");
        }
        public static void indexFilesSolrCell(String fileName, String solrId)   
            throws IOException, SolrServerException  
        {  
             SolrClient client = new HttpSolrClient("http://localhost:8080/solr/filecore");
             //QueryResponse resp = client.query(new SolrQuery("*:*"));
             //System.out.println(resp);
             
             ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");  
             
             String contentType="application/word";  
             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);  
             up.setAction(ACTION.COMMIT, true, true);
             client.request(up);  
        }  
           
    }
  • 相关阅读:
    Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.
    Qt 下快速读写Excel指南(尘中远)
    QT 那些事
    安卓环境下,通过QT调用jar包
    android使用C/C++调用SO库
    雷军曾定下目标,2017年将聚焦5大核心战略,分别是:黑科技、新零售、国际化、人工智能和互联网金融五大部分
    Maven和Gradle
    链接生成接口
    孤儿进程和僵尸进程
    Case when 的使用方法
  • 原文地址:https://www.cnblogs.com/sunyj/p/6733435.html
Copyright © 2020-2023  润新知