热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Solr配置ik分词器(扩展词,停用词)同时进行同义词解析

Solr5.5.5版本+IKAnalysis的词典及同义词配置我的Solr5.5.5是采用Jetty方法进行配置的主要是配置三个文件usrsolrsolr5.5.5serverso

Solr5.5.5版本+IK Analysis的词典及同义词配置


我的Solr5.5.5是采用Jetty方法进行配置的


主要是配置三个文件



  • /usr/solr/solr-5.5.5/server/solr/mycore(自己定义的core)/conf/schema.xml

    • 配置域,自定义各种数据,并关联solr里面的数据


  • /usr/solr/solr-5.5.5/server/solr/mycore(自己定义的core)/conf/solrconfig.xml

    • 定义了一些solr的处理规则,基础配置文件

    • 索引数据的存放位置

    • 更新,删除,查询的一些规则配置


  • /usr/solr/solr-5.5.5/server/solr/mycore(自己定义的core)/conf/data-config.xml(这个文件自己创建一个添加进去就好)

    • 这个是solr关联数据库的一个文件



废话不多说,上代码

首先出场的是:data-config.xml




url="jdbc:mysql://localhost:3306/test" user="root" password="password"/>













踩坑点:



  • dataSource标签中的name必须和下面entity标签中的dataSource属性对应

  • 一个dataSource下面只能有一个document但是可以有多个entity

  • entity在配置的时候记得配置上主键(PK)

  • entity中的每一个column都记得在schema.xml中配置


紧接着:schema.xml

















踩坑点:



  • 对数据库中的字段配置真的是很有必要的!!!并且如果你想要后面的某个属性进行分词的话一定要指定他的type和后面配置的ik分词器中的一样!!!!!

  • IK分词的时候注意上面的class一定不要错,不然到时候Reload的时候必报错

  • index和query两个最好都配置上

  • 注意在配置同义词的时候这个synonyms一定要对应好同义词词典

  • LowerCaseFilterFactory是一个配置不区分大小写的,可有可无


配置完这两个之后可以顺便把同义词词典给弄一下,见下面两幅图:

技术分享图片

技术分享图片


踩坑点:

保存的时候务必是utf-8,不然你会发现白弄了

可以用=>来进行配置,但是这样的话只能是左边等同于右边,比如输入还行会出来还可以,但是输入还可以那么还是还可以(这不是绕口令)

可以用英文的逗号进行分割,切记英文逗号!这样的配置可以等价替换


最后就是solrconfig.xml




data-config.xml

截至到此差不多就可以啦,可别说你不知道ik该放在什么目录!好吧,起始刚开始我也不知道(/▽\=)


IK分词器怎么配置

将IK的jar包放到/usr/solr/solr-5.5.5/server/solr-webapp/webapp/WEB-INF/lib目录下

将ext.dic、IKAnalyzer.cfg.xml、stopword.dic复制到/usr/solr/solr-5.5.5/server/solr-webapp/webapp/WEB-INF/classes目录下(classes自行创建)

IKAnalyzer.cfg.xml中的内容如下:




IK Analyzer 扩展配置

ext.dic;


stopword.dic;


踩坑点:

扩展词词典和停用词词典一定要是utf-8格式的!

在刚下载下来的ext.dic配置扩展词词典的那句话是被注释掉的!千万记得去看一眼,一眼就好!


q(≧▽≦q)这下真的就结束啦!感谢观看!欢迎指正!


推荐阅读
  • 利用Charles工具进行移动设备网络监控
    本文介绍了如何通过配置Charles代理软件来实现对移动设备的网络请求进行监控和调试,适用于开发者或测试人员需要检查移动应用网络通信的情况。 ... [详细]
  • 本文介绍了如何使用C++语言中的MFC库,在指定的路径下创建一个文本文件,并向其中写入数据。示例代码展示了如何构建文件路径、打开或创建文件以及执行写操作。 ... [详细]
  • python第一天学习python
    1、python语言可使用的开发工具有:charles、fiddles等。。。2、语言分类:编译型和解释型,编译型如:c、c++、c#。。。。解释型:python、java、php ... [详细]
  • 本文详细介绍了 KALDI 中 CUDA 矩阵库的使用与功能,包括其如何提高计算效率以及在不同环境下的适应性。 ... [详细]
  • 深入理解CSS中position:relative与position:absolute的使用技巧
    在模仿设计一个在线商城页面时,我深入研究了CSS布局中的position属性,特别是relative和absolute两种定位方式的使用技巧和注意事项。本文总结了从CSDN博主onizukayao的文章中学到的关键点,并结合实际案例进行了详细解释。 ... [详细]
  • 微信小程序开发教程(二):利用AppId启动你的小程序
    上一节我们探讨了微信小程序的注册流程。本篇将深入介绍如何获取并使用AppId来创建微信小程序,为后续开发打下基础。 ... [详细]
  • 本文探讨了缓存系统中的两个关键问题——缓存穿透与缓存失效时的雪崩效应,以及这些问题的解决方案。此外,文章还介绍了数据处理、数据库拆分策略、缓存优化、拆分策略、应用架构演进及通信协议的选择等内容。 ... [详细]
  • 本文详细探讨了C语言中指针声明的语法及实际应用,通过具体的代码示例和解释,帮助开发者更好地理解和使用指针,特别是在复杂系统开发中的作用。 ... [详细]
  • 本文探讨了PHP中使用命名空间和自动加载机制的重要性,特别是在大型项目中,如何有效管理和加载文件,避免代码冗余,提高开发效率。 ... [详细]
  • [TOC]Process的几个用法和守护进程一、Process的join用法话不多说,直接上代码二、Process的pid和ppid用法需要先导入os模块站在当前进程的角度:os. ... [详细]
  • 本文详细记录了在Ubuntu 9.10操作系统上从零开始搭建LAMP(Linux, Apache, MySQL, PHP)环境的过程,包括遇到的问题及解决方案。旨在为初次尝试搭建LAMP环境的开发者提供参考。 ... [详细]
  • 程序运行时变量的生命周期与存储管理
    本文介绍了程序运行时环境中各种变量的生命周期及其存储空间管理。通过分析典型程序空间布局,探讨了数据区、代码区、堆区和栈区的功能与特性。此外,文章详细解析了局部变量与全局变量的区别,以及它们如何影响程序的性能和资源利用。 ... [详细]
  • 深入解析TCP的三次握手、四次挥手及路由器的三层转发机制
    本文详细探讨了OSI七层模型中的传输层,重点分析了TCP协议的连接建立(三次握手)和断开(四次挥手)过程,以及路由器如何在三层网络中实现数据包的高效转发。 ... [详细]
  • 撰写硕士论文首先需确定一个具有新颖性的研究主题,这不仅要求选题具备创新的观点、方法或材料,还需确保选题的可行性和深度。本文将详细介绍从选题到论文完成的六大步骤,帮助研究生高效完成高质量的学术论文。 ... [详细]
  • 在一个大型的应用系统中,往往需要多个进程相互协作,进程间通信(IPC,InterProcessCommunication)就显得比较重要了。在Linux系统中,有很多种IPC机制, ... [详细]
author-avatar
fggdsfgwjff4
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有