zoukankan      html  css  js  c++  java
  • Solr通过配DIH对数据库数据做索引

    1 加入相关jar包

    将2个相关jar包复制到/opt/solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib文件夹下

    jar包名称
    solr-dataimporthandler-extras-7.7.1.jar
    solr-dataimporthandler-7.7.1.jar

    jar包所在位置/opt/solr-7.7.1/dist

     并将连接oracle的jar包也复制到该目录下


    2 配置Core下的solrconfig.xml文件

    /opt/solr-7.7.1/server/solr/article_core/conf/solrconfig.xml

    加入到<config></config>标签内

    <!-- import date-->
    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
      <lst name="defaults">
        <str name="config">data-config.xml</str>
      </lst>
    </requestHandler> 


    3 在conf中创建data-config.xml

    /opt/solr-7.7.1/server/solr/article_core/conf中

    <?xml version="1.0" encoding="UTF-8" ?>
    <dataConfig>
        <dataSource type="JdbcDataSource"
            driver="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@ip地址:1521:ORCL"
            user="连接数据库用户名"
            password="连接数据库密码"/>
    
        <document>
    
            <entity name="bookInfo" query="SELECT
                BOOK_ID,
                TITLE_CN,
                TITLE_EN,
                KEYWORDS_CN,
                KEYWORDS_EN
                from
                EL.T_BOOK_INFO">
                <field column="BOOK_ID" name="id"/>
                <field column="TITLE_CN" name="titleCn"/>
                <field column="TITLE_EN" name="titleEN"/>
                <field column="KEYWORDS_CN" name="keywordsCn"/>
                <field column="KEYWORDS_EN" name="keywordsEn"/>
    
            </entity>
    
        </document>
    
    </dataConfig>

    4在schema.xml中添加域

    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    
    <field name="titleCn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> 
    
    <field name="titleEn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> 
    
    <field name="keywordsCn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> 
    
    <field name="keywordsEn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />

    其中field中的name值与data-config.xml中的name值一样

    5重启solr服务

    bin/solr restart

    执行添加 10万条数据大概用时1m30s

  • 相关阅读:
    ATL正则表达式库使用
    用InternetOpen()的下载者
    获取IWebBrowser2指针的方法
    IE自动登陆-Navigate篇
    用WinInet开发Internet客户端应用指南
    VC中的GetKeyState和GetAsyncKeyState的区别
    通过IWebBrowser2的Navigate2来打开网页,怎样判断网页是否全部加载完毕
    利用IWebBrowser2接口的Navigate2方法实现Http POST传输
    IE撤销机制CtrlZ功能会在由于Js动态改变页面元素失效
    Web安全渗透测试之信息搜集篇(下)
  • 原文地址:https://www.cnblogs.com/miye/p/8693163.html
Copyright © 2011-2022 走看看