阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

macOS安装Solr并索引MySQL

135次阅读
没有评论

共计 5320 个字符,预计需要花费 14 分钟才能阅读完成。

安装 Java 语言的软件开发工具包

brew cask install java

或者在 Oracle 官网 中选择 Mac 版本 jdk-8u111-macosx-x64.dmg 下载并安装。

安装 Solr

brew install solr

当前 (2016-11-10) brew 源的 Solr 版本为 6.1.0,你可以通过brew edit solr 来修改你要安装的版本,或者通过官方网站下载源码包来进行编译安装。

启动 Solr

solr start

返回以下文字提示,则表示 solr 服务器安装成功,默认监听的端口号为 8983:

Waiting up to 30 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=890). Happy searching!

在浏览器中访问

Solr 提供了可视化管理界面Solr Admin,默认的访问 URL 为:http://localhost:8983/solr/

创建一个名为 test 的 core

solr create -c test

返回以下信息,则表示创建成功:

Copying configuration to new core instance directory:
/usr/local/Cellar/solr/6.1.0/server/solr/test

Creating new core 'test' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=test&instanceDir=test

{"responseHeader":{"status":0,
    "QTime":8845},
  "core":"test"}

这一命令会在 /usr/local/Cellar/solr/6.1.0/server/solr/ 目录下创建一个命令 test/ 的目录,test/目录中包含了 test core 相关的数据文件和配置文件。

Solr Admin 管理界面可以看到 test core 的信息:

macOS 安装 Solr 并索引 MySQL

安装 MySQL 数据库

brew install mysql

将 root 的密码修改为 123456。或者其他你喜欢的密码:

mysqladmin -u root password '123456'

这个 MySQL 账号会在配置 Solr 索引 MySQL 信息时使用到。

添加测试用于测试的数据:

create database solrdata;
use solrdata;
create table goods(id int not null auto_increment, name varchar(20) not null default '', number varchar(20) not null default '', updateTime timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, primary key(id));
insert into goods(name, number)  values('鞋子', 100);
insert into goods(name, number)  values('衣服', 200);
insert into goods(name, number)  values('裤子', 300);

下载 MySQL 驱动

从 MySQL 官方地址 下载 mysql-connector-java 驱动包。或者直接运行一下命令获取 5.1.40 版本的驱动:

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz

将这一驱动包复制到 /usr/local/Cellar/solr/6.1.0/libexec/dist/目录中:

tar -zxvf mysql-connector-java-5.1.40.tar.gz
cd mysql-connector-java-5.1.40
cp mysql-connector-java-5.1.40-bin.jar /usr/local/Cellar/solr/6.1.0/libexec/dist/

修改 solrconfig.xml 配置

vi /usr/local/Cellar/solr/6.1.0/server/solr/test/conf/solrconfig.xml
  • 引入相关驱动包
    /usr/local/Cellar/solr/6.1.0/libexec/dist/ 中的 3 个相关 jar 包进入进来:

    <lib dir="${solr.install.dir}/libexec/dist/" regex="mysql-connector-java-5.1.40-bin.jar" />
    <lib dir="${solr.install.dir}/libexec/dist/" regex="solr-dataimporthandler-.*\.jar" />

macOS 安装 Solr 并索引 MySQL

  • 添加 MySQL 配置信息
    <requestHandler name="/select" class="solr.SearchHandler">的前面添加以下信息:

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

macOS 安装 Solr 并索引 MySQL

  • 在同目录下新建 data-config.xml 文件

    vi /usr/local/Cellar/solr/6.1.0/server/solr/test/conf/data-config.xml

    添加以下信息:

    <?xml version="1.0" encoding="UTF-8"?>
    <dataConfig>
    <dataSource name="source1"
                type="JdbcDataSource"
                driver="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/solrdata"
                user="root"
                password="123456"
                batchSize="-1"/>
    <document>
        <entity name="goods"
                pk="id"
                dataSource="source1"
                query="select * from  goods"
                deltaImportQuery="select * from goods where id='${dih.delta.id}'"
                deltaQuery="select id from goods where updateTime>'${dataimporter.last_index_time}'">
            <field column="id"
                   name="id"/>  
            <field column="name"
                   name="name"/>
            <field column="number"
                   name="number"/>
            <field column="updateTime"
                   name="updateTime"/> 
        </entity>
    </document>
    </dataConfig>

macOS 安装 Solr 并索引 MySQL

managed-schema配置 field 信息

vi /usr/local/Cellar/solr/6.1.0/server/solr/test/conf/managed-schema

新增以下信息:

<field name="name" type="string" indexed="true" stored="false" />
<field name="number" type="int" indexed="true" stored="false" />
<field name="updateTime" type="date" indexed="true" stored="false" />

macOS 安装 Solr 并索引 MySQL

重启 solr 服务

solr restart

返回以下信息说明 Solr 服务器重启成功:

Sending stop command to Solr running on port 8983 ... waiting 5 seconds to allow Jetty process 1446 to stop gracefully.
Waiting up to 30 seconds to see Solr running on port 8983 [/]
Started Solr server on port 8983 (pid=1784). Happy searching!

Dataimport 操作

打开浏览器进入 Solr Admin,在以下界面中,点击 Execute 按钮:

macOS 安装 Solr 并索引 MySQL

成功后,显示以下界面:

macOS 安装 Solr 并索引 MySQL

Query 查询

进入 Query 页面,点击 Execute 按钮:

macOS 安装 Solr 并索引 MySQL

中文分词

下载必要的组件:

  • IKAnalyzer jar 包: ik-analyzer-solr5-5.x.jar
  • IKAnalyzer 配置文件: IKAnalyzer.cfg.xml
  • 词库: mydict.dic 和 stopword.dic

下载地址:https://github.com/jxlwqq/Installing-Solr-and-indexing-MySQL-on-macOS/tree/master/file

下载后,将相关文件复制到相应的目录中,操作目录如下:

cp ik-analyzer-solr5-5.x.jar /usr/local/Cellar/solr/6.1.0/server/solr-webapp/webapp/WEB-INF/lib/
mkdir /usr/local/Cellar/solr/6.1.0/server/solr-webapp/webapp/WEB-INF/lib/classes/
cp IKAnalyzer.cfg.xml /usr/local/Cellar/solr/6.1.0/server/solr-webapp/webapp/WEB-INF/lib/classes/
cp mydict.dic /usr/local/Cellar/solr/6.1.0/server/solr-webapp/webapp/WEB-INF/lib/classes/
cp stopword.dic /usr/local/Cellar/solr/6.1.0/server/solr-webapp/webapp/WEB-INF/lib/classes/

修改 managed-schema 文件:

vi /usr/local/Cellar/solr/6.1.0/server/solr/test/conf/managed-schema

追加以下内容:

<fieldType name="text_ik" class="solr.TextField">
    <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<field name="text_ik" type="text_ik" indexed="true" stored="true" multiValued="false"/>

macOS 安装 Solr 并索引 MySQL

重启 Solr 或者重新加载 test core:

solr restart

macOS 安装 Solr 并索引 MySQL

在 analysis 页面上进行测试:

macOS 安装 Solr 并索引 MySQL

更多 Solr 相关教程见以下内容

Solr3.6.1 在 Tomcat6 下的环境搭建 http://www.linuxidc.com/Linux/2013-01/77664.htm

基于 Tomcat 的 Solr3.5 集群部署 http://www.linuxidc.com/Linux/2012-12/75297.htm

在 Linux 上使用 Nginx 为 Solr 集群做负载均衡 http://www.linuxidc.com/Linux/2012-12/75257.htm

Linux 下安装使用 Solr http://www.linuxidc.com/Linux/2012-10/72029.htm

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm

Solr 实现 Low Level 查询解析(QParser)http://www.linuxidc.com/Linux/2012-05/59755.htm

基于 Solr 3.5 搭建搜索服务器 http://www.linuxidc.com/Linux/2012-05/59743.htm

Solr 3.5 开发应用教程 PDF 高清版 http://www.linuxidc.com/Linux/2013-10/91048.htm

Solr 4.0 部署实例教程 http://www.linuxidc.com/Linux/2013-10/91041.htm

Solr 的详细介绍:请点这里
Solr 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137006.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5320字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中