设为首页 收藏本站
查看: 1033|回复: 0

[经验分享] macOS安装Solr并索引MySQL

[复制链接]

尚未签到

发表于 2017-3-1 09:45:15 | 显示全部楼层 |阅读模式
安装 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的信息:
DSC0000.png


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

DSC0001.png



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

    <requestHandler name="/dataimport">  
    <lst name="defaults">  
      <str name="config">data-config.xml</str>  
      
    </lst>  
      
    </requestHandler>

DSC0002.png



  •   在同目录下新建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>
      deltaQuery="select>  <field column="id"
      name="id"/>  
      <field column="name"
      name="name"/>
      <field column="number"
      name="number"/>
      <field column="updateTime"
      name="updateTime"/> 
      </entity>
      
    </document>
      
    </dataConfig>

DSC0003.png


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

DSC0004.png


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

  成功后,显示以下界面:
DSC0006.png


Query 查询
  进入 Query 页面,点击Execute按钮:
DSC0007.png


中文分词
  下载必要的组件:


  • 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">  <analyzer/>
  
</fieldType>
  
<field name="text_ik" type="text_ik" indexed="true" stored="true" multiValued="false"/>
  

DSC0008.png

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

solr restart  

DSC0009.png

  在 analysis 页面上进行测试:
DSC00010.png


参考


  • solr教程,值得刚接触搜索开发人员一看
  • sorl6.0+jetty+mysql搭建solr服务
  • Solr之搭建Solr6.0服务并从Mysql上导入数据
  • solr6.0配置中文分词器IK Analyzer  



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348642-1-1.html 上篇帖子: hadoop2.6.1源码编译64位 下篇帖子: Android--上百个Android开源项目分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表