solr使用进阶

来源:互联网 发布:淘宝手办良心店铺 编辑:程序博客网 时间:2024/06/05 01:18
快速入门主要讲的是solr管理界面,并且已经利用给好的例子做简单的搜索。
接下要做的是利用数据库是数据来建议搜索。

索引mysql的数据 要怎么做?
官方文档也没有详细的说明,主要是修改solrconfig.xml和schema.xml

一、先看下路径问题:
为什么要先看路径,是因为有些需要自己去设置。
solr使用进阶
solr使用进阶

bin常用命令脚本

contrib各种jar包

dist 各种jar包

server web服务器

solr未来创建的core会在该目录下

  configsets solr配置集,新建的core可以从这里拷贝配置

  xx-core

      conf配置文件

        solrconfig.xmlsolr的配置信息

       schema.xml分词器配置信息

  data索引等数据

logs日志文件

webappsweb程序部署位

二、创建一个搜索实例

1、{solr安装路径}/server/solr/新建一个文件夹命名为test

2、拷贝{solr安装路径}/server/solr/configsets/sample_techproducts_configs中的conf文件夹到test目录下

3、在后台采用如下配置,然后点击【add core】按钮完成搜索实例的添加
4、solr5.3下自带db、mail、rss、solr、tika实例
目录结构
solr使用进阶
solr使用进阶
三、配置分词
目前sphinx用的是mmseg分词,而solr支持的分词支持较多。
1、导入smartcn的jar包

在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码

2、配置分词器

在{solr安装路径}/server/solr/test/conf/schema.xml加入如下代码

                                                               
效果如图
solr使用进阶solr使用进阶
分词效果:这里的好处就是可以直接界面测试。
之前遇到的一个梗,就是123456qq
分词的结果一般都是123456和qq,所以搜123456q是搜不到的
solr使用进阶solr使用进阶
具体的分词效果,后期会再验证。这里只讲怎么配置。
四、配置导入功能

1、导入相关jar包

  ①mysql的jar包 

导入下载地址:https://dev.mysql.com/downloads/connector/j/

将jar放置到{solr安装路径}/dist目录下

在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码
②dataimporthandler包

在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码

2、配置handler

在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码

                   
                  db-data-config.xml     
                 
      
3、配置数据源

在{solr安装路径}/server/solr/test/conf/下新建db-data-config.xml,配置如下:

solr使用进阶                                                                

solr使用进阶solr使用进阶



五、效率问题

第一次(本地)
solr使用进阶
第二次(10w)
solr使用进阶
第三次(100w)
solr使用进阶
根据sphinx的记录
sphinx效率是5-8w docs/sec

solr是基于java单纯执行速度上比C写的sphinx慢

六、其他问题
1、导入不全的问题
选取的字段不能为空如create_date为空,导入终止
2、solr的优势
sphinx的rotate选项可以动态更新索引
3、sphinx比solr建立索引的效率更快



0 0
原创粉丝点击