初试全文搜索solr

2018-07-18  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读