macOS安装Solr并索引MySQL

 更新时间:2016年11月10日 11:27:21   作者:jxlwqq  
这篇文章主要介绍了macOS安装Solr并索引MySQL的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

安装 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的信息:

安装 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" />

添加 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>

在同目录下新建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>

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" />

重启 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按钮:

成功后,显示以下界面:

Query 查询

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

以上所述是小编给大家介绍的macOS安装Solr并索引MySQL ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • MySQL数据误删或者误更新如何恢复详细步骤(一看就会)

    MySQL数据误删或者误更新如何恢复详细步骤(一看就会)

    本文主要为开发人员提供在测试环境中恢复近期误操作的少量数据的方法,首先介绍了如何下载并安装MyFlash工具,然后详细讲解了如何利用该工具和MySQL的binlog日志来恢复误删或误更新的数据,介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • 详解Mysql命令大全(推荐)

    详解Mysql命令大全(推荐)

    本篇文章详细的介绍了Mysql命令,MySQL是一个关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
    2016-11-11
  • 关于SQL建表语句使用详解

    关于SQL建表语句使用详解

    在SQL数据库设计中,创建表是基本操作,涉及定义表结构,包括列名、数据类型和约束等,本文详细介绍建表语句,通过示例帮助理解,常见数据类型包括整数、浮点数、字符串、日期时间等,约束确保数据完整性,包括主键、唯一、非空、默认值、外键和检查约束
    2024-10-10
  • MySQL的字符串函数使用说明

    MySQL的字符串函数使用说明

    符串或串(String)是由零个或多个字符组成的有限序列。一般记为 s=’dreamflys’(n>=0)。它是编程语言中表示文本的数据类型
    2012-01-01
  • 一次现场mysql重复记录数据的排查处理实战记录

    一次现场mysql重复记录数据的排查处理实战记录

    这篇文章主要给大家介绍了一次现场mysql重复记录数据的排查处理记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-10-10
  • 修改Mysql索引长度限制解决767 byte限制问题

    修改Mysql索引长度限制解决767 byte限制问题

    这篇文章主要介绍了修改Mysql索引长度限制解决767 byte限制问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 通过SQL语句来备份,还原数据库

    通过SQL语句来备份,还原数据库

    这里仅仅用到了一种方式而已,把数据库文件备份到磁盘然后在恢复.
    2010-02-02
  • MySQL InnoDB中意向锁的作用及原理

    MySQL InnoDB中意向锁的作用及原理

    意向锁是由InnoDB在操作数据之前自动加的,本文主要介绍了MySQL InnoDB中意向锁的作用及原理,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

    Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

    这篇文章主要给大家介绍了Mysql单文件存储删除数据文件时容量不会减少的bug与解决方法,文中给出了详细的解决方法,相信对遇到这个问题的朋友们能带来一定的帮助,下面来一起看看吧。
    2016-12-12
  • MySQL敏感数据加密的实现方案

    MySQL敏感数据加密的实现方案

    这篇文章主要介绍了MySQL敏感数据加密的实现方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2024-02-02

最新评论