网站制作学习网Linux→正文:mac安装Solr
字体:

mac安装Solr

Linux 2023/9/14 21:59:13  点击:不统计

原文是网站制作学习网的FoAsP.cn
原文是网站制作学习网的FoAsP.cn

一 mac安装Solr,直接用brew 安装即可,如果没有java环境brew会自动安装
brew install solr
安装完毕后
solr 软件位置: /usr/local/Cellar/solr/8.11.2
日志位置 /usr/local/var/log/solr
索引仓库配置文件位置:/usr/local/var/lib/solr/
solr启动命令:solr start
solr停止命令:solr stop
solr重启命令:solr restart
 
mac 配置solr过程如下:
 
二 在启动之前先创建一个测试库,因为如果在界面操作创建库会提示配置文件不存在,所以创建搜索库都是在命令行。
solr create_core -c test  # 创建搜索索引库,名称为test
#创建完毕后默认文件测试库夹为:
/usr/local/var/lib/solr/test
 
三 下载 中文分词库,需要根据solr 找到对应版本
https://search.maven.org/    搜索ik-analyzer  找到 IK-Analyzer for 7-8 就适配 solr 8.11.2
下载地址
https://repo1.maven.org/maven2/com/github/magese/ik-analyzer/8.5.0/ik-analyzer-8.5.0.jar
放到 server/solr-webapp/webapp/WEB-INF/lib
 
四 索引库添加 搜索字段,并确定字段所属那个类型
到test 仓库位置:/usr/local/var/lib/solr/test    最后的test 就是上面创建仓库的名称,可以看到
conf  #文件夹 test 索引库的配置文件夹
core.properties  #文件索引库名称文件
data # 索引库存放数据
 
进 conf, 编辑 managed-schema, 用来定义 存储字段名称 将下面代码添加到 尾部 </schema> 结束之前,下面注释可以删除
=============代码开始=============
<!--定义搜索字段 zhongwen_all 类型text_ik  indexed 设定为索引为true, 是否保存stored 为保存 multiValued 是否为多个字段,比如数组类默认否  -->
<field name="chinese_all" type="text_ik" indexed="true" stored="true" multiValued="false"/>
<!--下面的定义字段与上面不同的是 type 为text_ik_smart,详细区别见下面-->
<field name="chinese_smart" type="text_ik_smart" indexed="true" stored="true" multiValued="false"/>
 
 <!--字段type 类型定义,这里定义text_ik ,索引和查询都是用IK分词-->
 <fieldType name="text_ik" class="solr.TextField">
   <analyzer type="index">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
   <analyzer type="query">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
 </fieldType>
 <!--字段type 类型定义,这里定义text_ik ,索引和查询都不分词,是全匹配搜索类似于mysql like,更严谨。定义useSmart =true -->
<fieldType name="text_ik_smart" class="solr.TextField">
   <analyzer type="index">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
   <analyzer type="query">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
  </fieldType>
==============代码结束==============
 
五 启动solr 
启动solr
solr start
启动后有如下提示 表示启动成功了。
> solr start
Started Solr server on port 8983 (pid=5952). Happy searching!
 
如果有warning 忽略,然后访问 http://localhost:8983/
就可以看到solr 的管理界面了
 
六,测试手动分词查询, 在主界面添加一个词,分词测试一下
分词 chinese_all 测试如下
solr 中文分词
分词 chinese_smart 测试如下:
 solr 中文分词
 
七:开始通过import 导入数据操作。
复制 data-import* jar 操作文件到web lib 目录,在solr 的安装包中
> cd /usr/local/Cellar/solr/8.11.2/dist
> cp solr-dataimporthandler-* /usr/local/Cellar/solr/8.11.2/server/solr-webapp/webapp/WEB-INF/lib
 
八:根据作为源数据库版本,下载对应java-mysql-connector.jar 版本
https://mvnrepository.com/artifact/mysql/mysql-connector-java
查看自己mysql version:
直接运行:
>  mysql --version
>mysql  Ver 8.0.30 for macos12.6 on x86_64 (Homebrew)
或者登录mysql 后
>select version()
 
九 然后在 /usr/local/var/lib/solr/test/conf/solrconfig.xml 末尾</config>前面添加
这个是添加要improt 对应的配置类名词以及,加载数据库配置文件名称, 切记name 是小写 dataimport
============开始代码=============
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  <lst name="defaults">
<str name="config">data-config.xml</str>
  </lst>
</requestHandler>
=========结束代码==============
 
十 添加完毕后,配置数据库文件 data-config.xml(上面配置指定的)放到  /usr/local/var/lib/solr/test/conf/,如果复制下面代码,去掉注释
 
==============开始代码 注意去掉注释========================= 
<?xml version="1.0" encoding="utf-8"?>
<dataConfig>
    <dataSource type="JdbcDataSource"
       driver="com.mysql.cj.jdbc.Driver"   这个是对应mysql 版本的,
                url="jdbc:mysql://localhost:3306/databasename"
                user="root"
                password="password" />
    <document>
        <entity name="searcheindexname" query="select id,title from book where is_del=0">
            <field column="id" name="id"/>  id 是默认有的
            <field column="title" name="chinese_all"/>   #这里的column 是我们源数据库字段 
# name 是 搜索索引字段field字段名称,可以自定义,但与上面定义的名称要一致
        </entity>
    </document>
</dataConfig>
==============结束代码========================
 
十一,重启solr 然后界面操作 Dataimport 
提交数据如下图
solr 安装导入数据
提交数据完毕
solr 导入数据完毕
搜索数据:
solr 搜索数据测试



原载于:文章来源:www.forasp.cn网站制作学习

·上一篇:The currently defined JAVA_HOME (@@HOMEBREW_JAVA@@) refers to a locati >>    ·下一篇: linux 安装配置solr >>
推荐文章
最新文章