博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
solr5.0入门
阅读量:5903 次
发布时间:2019-06-19

本文共 3996 字,大约阅读时间需要 13 分钟。

hot3.png

   简介: solr5.0是一个独立的应用程序,不再依赖其他Web服务器就能提供Web服务(这是和4.x版本最大的差异,内置jetty)。

下载:

    173844_7eiP_232595.png

  1. 安装solr

    下载压缩包解压即可!

  2. 目录说明

    • dist 各种jar包

    • contrib 各种jar包

    • bin 常用命令脚本

    • server web服务器

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

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

        • xx-core

          • conf 配置文件

            • solrconfig.xml solr的配置信息

            • schema.xml 分词器配置信息

          • data 索引等数据

      • logs 日志文件

      • webapps web程序部署位置

    • example 

      • example-DIH 数据导入工具

    • licenses 各种授权协议

    • docs api文档

  3. 启动solr

            solr提供了启动脚本

    bin/solr start前台运行	bin/solr start -f指定端口号 bin/solr start -p 8984(默认端口号8983)查看solr状态 bin/solr status结束solr  bin/solr stop -p 8984

     后台管理地址

    153137_XPS3_232595.png

    logging:显示日志

    Core Admin: core就是搜索示例,放置索引。

    java properties:查看java配置信息

    Thread dump:查看线程信息

  4. 创建一个搜索实例

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

    拷贝{solr安装路径}/server/solr/configsets/sample_techproducts_configs到test目录下

    目录结构如下:

             154427_rRI5_232595.png

    在后台采用如下配置:

    154611_6b1r_232595.png

  5. 配置smartcn分词期

    1. 第一步:导入smartcn的jar包

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

    2. 第二步:配置分词器

      1.solr5

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

            
                 
                
                     
                       
          
      2.solr6

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

            
                 
                
                       
          

       

    3. 第三步:检查是否正确配置

      155528_bXX4_232595.png  
       如果可以搜索到text_cn即表示配置成功,最好用一段文字测试下分词结果。

  6. 配置数据导入handler(用于数据导入,生成索引)

    1. 第一步:导入相关jar包(solr6不需要这一步)

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

    2. 第二步:配置handler(solr6不需要这一步)

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

          
            
      db-data-config.xml      
    3. 第三步:配置数据源,源数据与索引的隐射关系

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

          
          
              
                  
                  
                  
                  
                  
    4. 第四步:验证配置是否成功

      在后台core admin中reload当前搜索实例的配置183753_P4Kl_232595.png

      then在搜索实例的dataimport出现下图情形即为成功

      183916_blyK_232595.png

  7. 导入数据

    1. 第一步:导入mysql的jar包 下载地址:见参考资料5

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

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

    2. 第二步:验证配置(配置见第六点)

      101258_ozm4_232595.png

      如果显示indexing completed. Added/Updated: 1847 documents. Deleted 0 documents

      documents的个数大于0说明我们成功导入x条数据到solr中

  8. 设置field的索引方式

  9. 查询

  10. 更新索引

  11. 删除索引

  12. 优化

  13. 定时完整数据重新导入

crontab -ecurl -d "command=full-import&clean=true&commit=true&optimize=true&wt=json&indent=true&verbose=false&debug=false" "http://ip:port/solr/{core名称}/dataimport"

14.增量导入数据配置

修改db-data-config.xml添加deltaQuery、deltaImportQuery、pk三个属性

    1.pk设置主键字段名称,该字段必须在managed-schema配置过<uniqueKey>字段名</uniqueKey>

074916_7koj_232595.png

    2.deltaQuery该属性用于查询主键字段值

    3.deltaImportQuery该属性用于查询需要被索引的所有字段的sql

    
    
        
            
            
            
            
            

15.配置定时数据更新

16.搜索词建议

https://cwiki.apache.org/confluence/display/solr/Suggester

更新中~~~

 

错误信息:

1.配置好的solr没有任何数据,启动时报错:SolrException: Invalid Number: MA147LL/A

这不是你的错,你可能是把solr schema.xml的id设置成了int类型,设置成int类型没什么错,但是solr启动是会扫描conf目录下的elevate.xml文件,这个文件中定义的id值是MA147LL/A所以就会出现异常SolrException: Invalid Number: MA147LL/A

解决问题的方法是修改elevate.xml文件,将其中的id值设置为数字,就可以了。

    
    
        
            
            
            
            
            

2.全量导入数据报:

Caused by: java.sql.SQLException: Illegal value for setFetchSize().

在db-data-config.xml的dataSource标签添加batchSize属性并赋值-1即可,修改后的内容

    
    
        
            
            
            
            
            

 

参考资料:

1.官网参考文档

2.官网wiki之DataImportHandler 

‍3.solr教‍‍程,值得刚接触搜索开发人员一看 

4.Ajita博客 

5.CSDN MYSQL JAR包下载:

6.Apache Solr查询语法

7.solr 的edismax与dismax比较与分析 

8.solr搜索打分规制排序

9.Lucene Scoring 评分机制 

10.解决Solr重建索引时没有索引部分表的数据问题 http://www.jianshu.com/p/fd857c02effc

11. https://segmentfault.com/a/1190000002582878

转载于:https://my.oschina.net/u/232595/blog/380195

你可能感兴趣的文章
小蚂蚁学习APP接口开发(1)—— json方式封装通信接口
查看>>
我的友情链接
查看>>
CDN相关
查看>>
Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
查看>>
三种判断端口存活的方法和链接200的判断方法
查看>>
我的友情链接
查看>>
ftp协议基础
查看>>
顺时针打印矩阵
查看>>
访问共享经常中断
查看>>
人生的交易
查看>>
MySql
查看>>
算法分析与设计——贪心法实验报告
查看>>
js时间戳与日期格式的相互转换
查看>>
POJ - 1062 昂贵的聘礼(Dijkstra)
查看>>
Java多态和动态绑定是如何实现的
查看>>
sql server 下载安装标记
查看>>
Android学习6—单元测试的使用
查看>>
js运算符(运算符的结合性)
查看>>
最长上升子序列问题
查看>>
C#中的析构函数
查看>>