solr的在mac上的安装配置以及同步mysql数据

来源:互联网 发布:佳能正品服务软件下载 编辑:程序博客网 时间:2024/06/06 23:16

首先下载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/

注意:

  1. core.propertiesconf目录应放置在相同的路径。
  2. conf目录将包含schema.xmlsolrconfig.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


0 0