安装步骤(solr6.6+jetty+centos+mysql)
(使用solr内带的jetty作为服务器)
1.下载solr:http://www.apache.org/dyn/closer.lua/lucene/solr/6.6.0
2.丢到服务器上去 用命令解压 比如我最后解压的路径是
/data/solr/solr-6.6.0
3.进入到安装的根目录 cd /data/solr/solr-6.6.0(以下的所有操作都是基于这个文件夹的)
4.启动 bin/solr start (为solr分配了专用账号的情况下用这个命令启动)
bin/solr start -force(如果没有为solr分配账号得加上后面的-force强制启动)
5.默认占用8983端口
那么访问的地址就是 ip:8983
eg: http://192.168.1.1:8983
小结:
看网上的教程到这边基本都是没问题的,而且也基本到启动完就没了,我最想要的mysql数据导入却没有,哎肾伤;
如何创建一个core
方法一(基本没用的,做研究的同学可以看,如果只是用请直接看方法二)
1.先用命令创建 bin/solr create -c <core的名字> 这个名字你自己随便喜欢什么就取什么吧
2.接着将命令执行下去 bin/post -c <core的名字> example/exampledocs/*.xml(这句的用意是将内带的例子拷贝过来看看)
3.到页面刷新一下就可以看到你自己命名的core了
方法二(创建一个能导入mysql数据的core)
1.先将solr-6.6.0/server/solr/configsets/data_driven_schema_configs这个文件夹考本出来到本地
2.将上面拷贝出来的文件夹放到solr-6.6.0/server/solr (自己重命名下文件夹,看你喜欢叫什么名称,比如我的叫thj_solr_core)
3.到页面去用add core的功能添加你刚才拷贝过去的文件夹
(到这边一个可以用来导入mysql数据的core就算是创建完成了)
4.添加mysql驱动(我这边用的是mysql-connector-java-5.1.42.jar)直接把这个mysql的jar包放到solr-6.6.0/dist这个文件夹内就可以了
5.配置数据
5.1 添加依赖在solr-6.6.0/server/solr/thj_solr_core/conf/solrconfig.xml这个文件添加两行依赖
添加到<config></config>这个标签中间
5.2 重启solr(加载新依赖)
bin/solr restart
5.3 配置mysql
5.3.1 比如我有个mysql的数据库名为thj_db
在thj_db这个库里有个表名为food_t
在food_t这个表里有四个字段 ft_id ,ft_name ,ft_mome, ft_updateTime
5.3.2 在solr-6.6.0/server/solr/thj_solr_core/conf文件夹内创建一个data-config.xml
内容如下(主键的name一定要用id)
5.3.3继续修改solr-6.6.0/server/solr/thj_solr_core/conf/solrconfig.xml
5.3.3.1 定位到 <requestHandler name="/select" class="solr.SearchHandler">
5.3.3.2 在这行上面添加数据配置
data-config.xml
5.3.4 修改solr-6.6.0/server/solr/thj_solr_core/conf/managed-schema
5.3.4.1 先定位到<schema name="example-data-driven-schema" version="1.6">
由于这个是拷贝出来,所以这边的那么得换一下,换成表名替换完效果如下
5.3.4.2 继续定位到 <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
在这行的下面添加field
5.4重启solr(不重启好像也能用)
bin/solr restart
5.5到页面
注意:
一定要看清楚data-config.xml和managed-schema这两个文件的修改细节
不然到时候你就会纳闷为什么配置看上去都是一样对的,怎麼数据就是过不来呢,反正我是卡了两天才发现