solr7学习笔记

@solr7.7 学习笔记

安装solr

在home下新建文件夹software,将solr的jar包放进software目录下,然后解压到/usr/local
命令是:tar -zxvf 压缩文件 -C /usr/local

创建core

如果是root用户 执行命令后面必须跟 -force
正常登陆:在solr7目录下 执行命令bin/solr start -force

用实例登陆:在solr7目录下 执行命令bin/solr -e techproducts

区别: 实例登陆后创建的newcore在重启solr后会消失,且目录在
/usr/local/solr7/example/techproducts/solr下
而正常登陆创建的core则不会消失,且目录在
/usr/local/solr7/server/solr
第一种方法:

1、打开dos命令窗口,切换到解压后的solr7目录,然后输入:bin/solr create -c newcore 之后回车;

2、打开solr安装文件,在/server/solr下就会出现新的文件夹corename(就是新创建的core);

3、打开浏览器,输入solr访问路径:http://localhost:8983/solr,就会看到新建的core
在这里插入图片描述
第二种方法
1、直接在/server/solr下创建新文件夹,名字自定义,此处命名为newcore,作为新建的core;

2、找到/server/solr/configsets/_default目录下的conf文件夹,然后拷贝一份到/server/solr/newcore目录节点下。

3、然后按照下图操作:
在这里插入图片描述

在solr配置mysql

1、创建一个Core,创建Core的方法之前已经很详细的讲解过了,如果还是不清楚请参考“创建Core”;

2、导入mysql驱动包:

2.1、下载 mysql 驱动包:

    mysql-connector-java-x.x.x.jar,绝大部分jar包在maven仓库都能找到,mysql驱动包在maven仓库中的下载链接是:http://central.maven.org/maven2/mysql/mysql-connector-java/;

2.2、将 mysql 驱动包导入 solr :

    将下载下来的 mysql-connector-java-x.x.x.jar 拷贝到 solr\server\solr-webapp\webapp\WEB-INF\lib 下;

3、配置连接信息

3.1、找到新建的 Core 下的solrconfig.xml文件(solrconfig.xml 文件所在目录是: solr\server\solr\mycore\conf),打开找到第一个requestHandler,大体位置如下图:

在这里插入图片描述
在其后添加配置信息:

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

如下图
在这里插入图片描述
最后还需要配置相关jar包

 <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />

在这里插入图片描述
3.2、创建 data-config.xml 文件:

    建议尽量放在当前的 Core 的 conf 文件夹下,虽然可以任意指定。此处是在 solr\server\solr\mycore\conf 下创建了 mysql-db 文件夹作为 mysql 数据库属性文件的文件夹,然后创建 data-config.xml 文件,在文件中写入数据库连接信息dataSource以及数据库表对应的document,示例如下:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
    <dataSource type="JdbcDataSource"
                driver="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/solr"
                user="root"
                password="root" />
    <document>
        <entity name="person" query="select * from person"
                deltaQuery="select * from person where name > '${dataimporter.last_index_time}'">
            <field column="ID" name="id" />
            <field column="name" name="p_name" />
            <field column="age" name="p_age" />
        </entity>
    </document>
</dataConfig>

entry:对应于数据库中的数据库表,此处为 person 表;

field:数据库字段,对应于solr的schema.xml中的 field 字段。其中 column 表示数据库字段名,name 表示 field 的 name。

4、导入 solr 以来的库文件:

将 solr\solr\dist 下的 solr-dataimporthandler-7.1.0.jar 和solr-dataimporthandler-extras-7.7.2拷贝到 solr\server\solr-webapp\webapp\WEB-INF\lib 下。最后还需要配置相关jar包

 <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />

5、在managed-schema文件中添加对应于数据库字段的field,建议在 solr 可视化界面操作。当然,一定要手动修改 managed-schema 文件也不是不可以,但是每次更改完需要重新加载 Core,或者粗暴一点直接重新启动solr也可以。那么,直接修改 managed-schema 文件的示例如下:



<field name="name" type="string" indexed="true" stored="true"/> 
<field name="age" type="pint" indexed="true" stored="true"/>

注意事项: 此处的name是需要对应 data-config.xml里面是name属性, type的类型也要遵循solr的规则,例如int类型,要写成pint,不然就会报错,在这里的type也可以都写成string类型,不影响查询,也不报错
配置文件中自己带有id属性,不需要再配置,否则查询时会报错。
在这里插入图片描述

6.1、启动solr;

6.2、直接进入 solr可视化界面:http://localhost:8983/solr ,我们没有更改solr的端口,所以默认的端口是8983,主界面如下图:

在这里插入图片描述
6.3、接下来就是导入数据库数据,具体操作见下图:
在这里插入图片描述

在solr中配置分词器

IK分词器的jar包下载地址http://search.maven.org/#search%7Cga%7C1%7Ccom.github.magese
下载 ik-analyzer-solr7-7.x.jar

solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib目录中加入IK分词器的jar包

在/solr-7.7.1/server/solr/article_core/conf 文件夹下的 managed-schema文件中配置IK中文分词器
在managed-schema文件中配置ik分词器的配置

 <fieldType name="text_ik" class="solr.TextField">  
           <analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer" useSmart="false"/>  
       <analyzer type="query" class="org.wltea.analyzer.lucene.IKAnalyzer" useSmart="false"/>  
      </fieldType>  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值