solr8.3.1配置+IK分词器配置+数据库配置

参考文献

Solr分词搜索solrj简单查询

solr-8.3.1版本连接MySQL、配置IK分词器

Solr配置完分词器后Analysis分词有效果,查询时分词无效果的解决

集成环境

  • windows10
  • jdk8
  • solr8.3.1
  • ik-analyzer-8.3.0

工具资源下载

  • solr8.3.1
  • solr_docker
  • IK分词器

启动solr

 .\solr start

停止solr

 .\solr stop -all

重启solr

.\solr restart -port 8983

集成IK分词器

  • 将下好的IK分词器jar 复制到\solr-8.3.1\server\solr-webapp\webapp\WEB-INF\lib下

  • 配置managed-schema 打开solr-8.3.1\server\solr\需要配置的core名字\conf

    
    
        
        
            
            
        
        
            
            
        
    
    

配置数据库

  • 打开 solr-8.3.1\dist 文件夹,将里面的solr-dataimporthandler-x.x.x.jarsolr-dataimporthandler-extras-x.x.x.jar 以及数据库连接驱动 mysql-connector-java.jar 复制到 solr-8.3.1\server\solr-webapp\webapp\WEB-INF\lib 里面

  • solr-8.3.1\server\solr 里面新建文件夹(文件夹的名字就是后面core的名字)

  • 拷贝 solr-8.3.1\server\solr\configsets\_default 文件夹下中的conf文件夹到上面新建的文件夹中(solr-8.3.1\server\solr\configsets\sample_techproducts_configs中其他文件夹中的conf文件夹也可以)

  • 打开 solr-8.3.1\server\solr\新建的文件夹\conf\solrconfig.xml

    • 找到下面的配置

      
      
    • 在它上面加上以下配置

       
               
                  
                  data-config.xml 
                
      
      
  • solr-8.3.1\server\solr\新建的文件夹\conf中新建文件 data-config.xml,和上面添加配置中的名字统一

    
    
      
      
        
          
          
          
          
            
          
        
      
    
    
    • query是获取全部数据的SQL
    • deltaImportQuery是获取增量数据时使用的SQL
    • deltaQuery是获取pk的SQL
    • parentDeltaQuery是获取父Entity的pk的SQL
  • 打开 solr-8.3.1\server\solr\新建的文件夹\conf\managed-schema 并配置与上面data-config.xml相应的域

    
    
    

测试IK和数据库集成

  • 启动solr,进入后台 http://127.0.0.1:8983/solr

  • 点击Core Admin,新建solr核心 corenameinstanceDir的名称与我们新建的文件夹名称相同,然后点击Add Core进创建成功了!

  • 左侧的Core Selector中找到我们新建的文件夹名称打开

  • 测试数据库配置

    • 点击Dataimport,其中在Entity中就可以找到我们在配置文件中添加的数据库名称了,选择数据库,点击Execute
      • 如果找不到,就说明data-config.xml的配置有误
    • 点击左侧Query,什么都不选,直接点击ExecuteQuery就可以看到数据库中的数据了
  • 测试IK分词器

    • 点击Analysis,在Field Value (Index)输入需要分词的语句

    • **Analyse Fieldname / FieldType **下拉框中选择上面配置的域 r_title

    • 点击右边的Analyse Values就可以看到结果了

错误总结

  • 分词成功,Query查询却查询不了
    • 原因:老数据(在集成IK之前的数据)不会刷新
    • 解决方法: Solr配置完分词器后Analysis分词有效果,查询时分词无效果的解决
    • 注意:删除data时,需要关闭solr服务

你可能感兴趣的:(solr8.3.1配置+IK分词器配置+数据库配置)