solr的在mac上的安装配置以及同步mysql数据
Posted zfszhangyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solr的在mac上的安装配置以及同步mysql数据相关的知识,希望对你有一定的参考价值。
首先下载solr:本文用的是5.5.3版本
http://apache.fayea.com/lucene/solr/5.5.3/solr-5.5.3.tgz
下载完解压solr-5.5.3.tgz拷贝到你的安装目录 我是放到/Users/mac/Library/下 重命名为solr
mv solr-5.5.3.tgz /Users/mac/Library/solr
进入bin目录 cd /Users/mac/Library/solr/bin
bin ./solr start -p 8000 (默认端口号为8983,可以使用-p 指定端口号)
启动成功!
http://localhost:8983/
$ bin/solr status 检查Solr的运行状态
下面开始新建一个core(相当于一个索引库对应一个schema,如果你是从mysql中拿数据相当于mysql中的一张大表)
mkdir /Users/mac/Library/solr/server/solr/core_name
echo "name=core_name" > /Users/mac/Library/solr/server/solr/core_name/core.properties
cp -r /Users/mac/Library/solr/server/solr/configsets/basic_configs/conf /Users/mac/Library/solr/server/solr/core_name/
注意:
- core.properties和conf目录应放置在相同的路径。
- conf目录将包含schema.xml和solrconfig.xml文件。(schema.xml 可以由managed-schema拷贝过来修改 cp managed-schema schema.xml)
schema.xml 这个是索引的结构定义的文件,定义了字段的名称,类型,索引与否,分词方法等 solrconfig.xml 这个文件是solr的基础文件,主要配置了solr的各种web请求处理器、日志、缓存等 db-data-config.xml 这个是配置连接mysql数据库的配置信息,名称可以自己修改,也是放在conf 下面(没有可以自行创建)
schema.xml 需要配置的代码如下
<!-- <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> -->
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_ik" indexed="true" stored="true" />
<field name="content" type="text_ik" indexed="true" stored="true" />
另外添加定义fieldtype:
<fieldType name="text_ik" class="solr.TextField" >
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer" />
</fieldType>
solrconfig.xml:
在<requestHandlername="/select"class="solr.SearchHandler"> 上面添加:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
另外:
<!-- <schemaFactory class="ManagedIndexSchemaFactory">
<bool name="mutable">true</bool>
<str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>-->
<schemaFactory class="ClassicIndexSchemaFactory"/>
注意我是注释掉之前的schemaFactory添加了ClassicIndexSchemaFactory
最后db-data-config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_ldjs" user="root" password="123456"/>
<document name="testmysqlDoc">
<entity name="tb_solr" pk="id" query="select id ,name as title,CONCAT(name,' ',mobile,' ',province,' ',city,' ',company,' ',total,' ',flg) as content from tb_solr">
<field column="id" name="id"/>
<field column="title" name="title"/>
<field column="content" name="content"/>
</entity>
</document>
</dataConfig>
重启solr
登录http://localhost:8000/
点击Dataimport -->excute
以上是关于solr的在mac上的安装配置以及同步mysql数据的主要内容,如果未能解决你的问题,请参考以下文章
solr 7+tomcat 8 + mysql实现solr 7基本使用(安装集成中文分词器定时同步数据库数据以及项目集成)