• 【搜索引擎】Solr最新安装以及通过关系型数据库(MySQL,Oracle,PostgreSQL)导入数据


    版本号

    最新的solr版本 : Solr 8.1.1下载地址:https://lucene.apache.org/solr/downloads.html

    • solr-8.1.0.tgz for Linux/Unix/OSX systems
    • solr-8.1.0.zip for Microsoft Windows systems

    如何安装(Linux)

    安装的方式有两种:1. 通过内置脚本和容器Jetty启动; 2. 或者通过将server/solr-webapp放置到Tomcat的webapps下启动。下面是通过第一种简单的方式。

    • 上传准备好的solr-8.1.0.tgz到Linux环境并解压
    tar zxf solr-8.1.0.tgz
    

    进入解压的目录可以看到很多文件夹,文件夹的详细解释可以看看官网: 相关文件夹解释
    bin/ 重要的脚本文件,例如solr是Linux系统的控制脚本,solr.cmd是Windows系统的控制脚本。

    • 启动
    bin/solr start -force
    
    • 查看状态
    bin/solr status
    
    • 停止
    bin/solr stop -all
    

    默认启动监听端口:8983

    • solr Admin管理页面查看:
    http://localhost:8983/solr/
    
    注意:本文使用单机方式安装测试,生产环境请使用集群的SolrCloud环境。

    如何同步的数据库数据到Solr?

    1. 在解压的文件夹下/server/solr/下创建一个文件夹,例如:testcore
    mkdir testcore
    
    1. 从/server/solr/configsets/_default或者/server/solr/configsets/sample_techproducts_configs下拷贝一份conf文件夹到新加的testcore中
    cp -r conf/ ../../testcore/
    
    1. 编辑solrconfig.xml文件
    vim /server/solr/mycore/conf/solrconfig.xml
    

    加入配置:

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

    将主目录/example/example-DIH/solr/db/conf文件夹下的db-data-config.xml文件拷贝到自己的mycore的conf下

    cp db-data-config.xml /home/solr-8.1.1/server/solr/testcore/conf/
    

    修改db-data-config.xml文件为自己的数据库相关信息(这里以MySQL为例,Oracle,PostgreSQL修改为相关信息即可):

    <dataConfig>
        <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/testdatabase" user="system" password="mysql"/>
        <document>
            <entity name="USER" query="SELECT `NAME`,`PASSWORD`,USERNAME,PHONE FROM `USER`" >
                <field column="NAME" name="name" />
                <field column="PASSWORD" name="password" />
                <field column="USERNAME" name="username" />
                <field column="PHONE" name="phone" />
            </entity>
        </document>
    </dataConfig>
    
    
    1. 修改/solr-8.1.1/server/solr/testcore/conf/managed-schema文件
    vim managed-schema
    

    加入上面的field字段:

       <field name="name" type="string"  indexed="true" stored="true"/>
       <field name="username" type="string"  indexed="true" stored="true"/>
       <field name="password" type="string"  indexed="true" stored="true"/>
       <field name="phone" type="string"  indexed="true" stored="true"/>
    
    
    1. 加入相关jar包
    • 拷贝/solr-8.1.1/dist下的包到solr-webapp中/WEB-INF/lib/下
    cp solr-dataimporthandler-8.1.1.jar /home/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib/
    cp solr-dataimporthandler-extras-8.1.1.jar /home/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib/
    
    
    • 加入mysql的驱动包到solr-webapp中/WEB-INF/lib/下
    mysql-connector-java-5.1.47.jar
    
    1. 重新启动solr,在管理页面Core Admin页面添加一个core名为testcore
    2. 通过solr Admin管理网页开始导入

    日志查看

    导入过程中可以查看日志排查问题:

    tail solr-8.1.1/server/logs/solr.log
    

    参考文档:

  • 相关阅读:
    运行pyzbar时报 Could not find module ‘libzbar-64.dll ‘or one of its dependenci的错误
    [Tips] pandas 如何根据index进行slice
    [Tips] pandas逐行遍历
    [Tips] Docker build
    [Tips] redis的key自动过期策略
    [Tips] No module named ipykernel错误
    [Tips] mac下anconda python环境中site-package的位置
    [Tips] pandas获取每月最后一天
    [Tips] docker的daemon.json设置私有镜像仓库
    [Tips] nginx端口转发
  • 原文地址:https://www.cnblogs.com/monkjavaer/p/11079117.html
Copyright © 2020-2023  润新知