美文网首页
初试全文搜索solr

初试全文搜索solr

作者: 我真的是昵称啊 | 来源:发表于2018-07-18 16:55 被阅读0次

    install

    download && start

    cd /download
    wget http://mirrors.shuosc.org/apache/lucene/solr/7.4.0/solr-7.4.0.tgz
    tar -zxvf solr-7.4.0.tgz
    mv /download/solr-7.4.0 /usr/local/
    cd /usr/local/solr-7.4.0/bin
    ./solr start 
    
    image.png

    slor dashboard

    访问  host:8983      eg :193.168.10.12:8983    dashboard success 
    
    image.png

    create core

    image.png
    点击 Add Core:在没有config的情况下会报错 ,先将默认配置复制一份;填写core的名字和文件夹名字同步
     
    cd /usr/local/solr-7.4.0/server/solr/configsets/_default/
    cp -r conf /usr/local/solr-7.4.0/server/solr/your_core_name/
     
    不出意外,create success
    

    solr config

    了解solrconfig.xml && managed-schema

    solr 最主要的配置文件就是上面提到过的solrconfig.xml 以及managed-schema,要对这两个文件有一定的了解,尤其是managed-schema ,才能真正的把solr应用到业务中。

    详细介绍见: https://blog.csdn.net/vtopqx/article/details/73224510

    solr 最主要的配置文件就是上面提到过的solrconfig.xml 以及managed-schema,要对这两个文件有一定的了解,尤其是managed-schema ,才能真正的把solr应用到业务中。

    1. solrconfig.xml , solrconfig.xml配置文件主要定义了solr的一些处理规则,包括索引数据的存放位置,更新,删除,查询的一些规则配置。相当于是基础配置文件。
    2. managed-schema是在使用solr建立core时的配置(core连接配置和索引库),solr根据它确定如何对文档建立索引到索引库中,每个core在建立前都需要设计好managed-schema。

    project begin

    install jars (mysql)

    1. 需要下载三个jar包 ,放于solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib (对应你的文件位置)
    2. repository url:
      https://mvnrepository.com/
    3. mysql-connector-java:
      http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
    4. solr-dataimporthandler:
      http://central.maven.org/maven2/org/apache/solr/solr-dataimporthandler/7.4.0/solr-dataimporthandler-7.4.0.jar
    5. solr-dataimporthandler-extras:
      http://central.maven.org/maven2/org/apache/solr/solr-dataimporthandler-extras/7.4.0/solr-dataimporthandler-extras-7.4.0.jar
    wget -P /home/vagrant/download/jars/ http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
    
    cp /home/vagrant/download/jars/mysql-connector-java-8.0.11.jar /usr/local/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib/
    

    configuration

    1. 找到新建的 core 下的solrconfig.xml文件(solrconfig.xml 文件所在目录是: solr\server\solr\your_core\conf),新建requestHandler
    <requestHandler name="/dataimport"
         class="org.apache.solr.handler.dataimport.DataImportHandler"> 
           <lst name="defaults"> 
              <str name="config">data-config.xml</str> 
           </lst> 
    </requestHandler>
    
    1. solrconfig.xml同级目录下创建data-config.xml
    cd /usr/local/solr-7.4.0/server/solr/your_core/conf/
    vim data-config.xml
    
    
    <dataConfig>
        <dataSource type="JdbcDataSource"
                    driver="com.mysql.jdbc.Driver"
                    url="jdbc:mysql://127.0.01:3306/solr-test1-db"
                    user="homestead"
                    password="secret" />
        <document>
            <entity name="solr_test1_search_machine" transformer="DateFormatTransformer" query="SELECT id ,category_id, name FROM machine WHERE category_id = ${dataimporter.request.category_id}">
            </entity>
        </document>
    </dataConfig>
    

    dataSource:

    #entity --代表数据实体,column--代表数据库表字段,name--代表solr中字段名   query--代表sql
    #(注意:创建这个文件的时候第一行不能有空格或者空行,否则报错)
    query="SELECT id ,category_id, name FROM machine WHERE category_id = ${dataimporter.request.category_id}"
     
    eg:
    <entity name="person" query="select * from user">
             <field column="ID" name="id" />
             <field column="name" name="name" />
             <field column="passward" name="passward" />
    </entity>
    
    1. data-config.xml配置完成之后,需要配置managed-schema ~~~~~~~~

    手动修改 managed-schema 文件
    使用 solr dashboard

    image.png

    关于field

    restart

    /usr/local/solr-7.4.0/bin/solr stop -all
    /usr/local/solr-7.4.0/bin/solr start -force
    

    import data from database

    image.png

    在不使用auto-refresh status 的情况下,执行 execute显示indexing ,但是已经completed: 因为本次使用的使用sql是 SELECT id ,category_id, name FROM machine WHERE category_id = ${dataimporter.request.category_id} 所以在Custom Paramters写入where条件:category_id=2

    image.png

    go search

    q=column:XXX and|or column:XXX

    image2018-7-21 18_6_28.png

    相关文章

      网友评论

          本文标题:初试全文搜索solr

          本文链接:https://www.haomeiwen.com/subject/idyvpftx.html