Solr[04.检索Mysql字段]

Mysql配置

  • 设计表bless

  • 导入测试数据

Solr基本配置

  • 将mysql-connector-java-5.1.6-bin.jar、solr-dataimporthandler-7.1.0.jar、solr-dataimporthandler-extras-7.1.0.jar到/usr/local/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/,用于连接mysql数据库以及数据导入
  • 在/usr/local/apache-tomcat-8.5.12/solrhome中创建mysql_core目录

  • 复制/opt/solr-7.1.0/example/example-DIH/solr/db下的所有文件到/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core目录

  • 编辑/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/core.properties文件,定义core的名称

  • 复制/opt/solr-7.1.0/dist以及contrib目录到/usr/local/apache-tomcat-8.5.12/solrhome下面

  • 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/solrconfig.xml

修改jar依赖包的路径

修改dataimport的依赖实现类为org.apache.solr.handler.dataimport.DataImportHandler

  • 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/db-data-config.xml,配置相关数据源以及对应的导入表

  • 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/managed-schema,添加在db-data-config.xml中定义的字段

由于db-data-config.xml中bless_id对应的name为id,而id在managed-schema文件已经存在,故不需要重新定义

  • 在/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf目录创建dataimport.properties文件,记录索引更新日期
#Tue Dec 26 06:48:43 UTC 2017
interval=1
port=8080
server=localhost
bless.last_index_time=2017-12-26 06\:48\:43
params=/dataimport?command\=delta-import&clean\=false&commit\=true
webapp=solr
reBuildIndexInterval=2
syncEnabled=1
last_index_time=2017-12-26 06\:48\:43
reBuildIndexBeginTime=03\:10\:00
reBuildIndexParams=/dataimport?command\=full-import&clean\=true&commit\=true
syncCores=mysql_core

  • 重启Tomcat

全量导入

  • 导入数据

  • 查询数据

我们执行一次导入操作,会将mysql_core这个core实例更新索引的日期记录下来,用来记录的就是dataimport.properties文件,下图日期已经发生变化

中文分词

借鉴配置IKAnalyzer的中文分词章节的配置规则

  • 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/managed-schema,添加ik分词的fieldType

  • 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/managed-schema中新增加的字段bless_title、bless_content的type为text_ik

  • 重启Tomcat
  • 全量导入数据

配置好中文分词,如果不执行一遍全量导入,中文查询会失败

  • 查询数据

原文地址:http://blog.51cto.com/manunited1985/2059280

时间: 2024-10-18 23:30:54

Solr[04.检索Mysql字段]的相关文章

在MySQL字段中使用逗号分隔符

大多数开发者应该都遇到过在mysql字段中存储逗号分割字符串的经历,无论这些被分割的字段代表的是id还是tag,这个字段都应该具有如下几个共性. 被分割的字段一定是有限而且数量较少的,我们不可能在一个字符串中存储无限多个字符 这个字段所属的表与这个字段关联的表,一定是一对多的关系 比如下面这个表结构所代表的content与tag这两个对象 mysql> SELECT * FROM content; +----+------+ | id | tags | +----+------+ | 1 | 1

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

Solr的检索运算符 (转载)

1. “:” 指定字段查指定值,如返回所有值*:*2. “?” 表示单个任意字符的通配3. “*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)4. “~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词:roam~0.8,检索返回相似度在0.8以上的记录.5. 邻近检索,如检索相隔10个单词的”apache”和”jakarta”,”jakarta apache”~106. “^” 控制相关度检索,如检索jakarta apa

6、MySQL字段约束介绍

6.MySQL字段约束 上一章简要介绍了关于MySQL关于多表查询的相关操作介绍,本章内容将在创建数据表的时候关于定义的相关字段进行约束操作. 一.字段字段修饰符的使用 1.1 null和not null修饰符 null占用空间,此字段不可为空 not unll设置的字段中可以为空,卡插入控制,其插入为空值的时候不占用空间. 例:定义一个表定义字段为null类型和not null进行比较. mysql> create table myziduan(char1 varchar(18) not nu

MySQL字段类型 约束

目录 MySQL存储引擎 非空约束 字段类型 整形类型INT TINYINT 浮点类型float 字符类型char varchar 日期类型 枚举集合 约束条件 主键 自增 unsigned无符号 zerofill使用0填充 删除记录 MySQL存储引擎 什么是存储引擎? 数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建.查询.更新和删除数据操作.用于根据不同的机制处理不同的数据 提示:InnoDB 事务型数据库的首选引擎,支持事务安全表(ACID),行锁定 和 外键.(

MySQL字段属性介绍

这次Qi号分享MySQL字段属性简介.下面资料是Qi号搜集大量资料与个人理解的整理.看到最后有福利哦基友们 前言 MySQL提供了一组可以赋给表中各个列的数据类型,每个类型都强制数据满足为该数据类型预先确定的一组规则,例如大小.类型及格式. 这里先总结数据类型.MySQL中的数据类型大的方面来分,可以分为:日期和时间.数值,以及字符串.下面就分开来进行总结. 日期和时间数据类型 MySQL数据类型   含义 date 3字节,日期,格式:2014-09-18 time 3字节,时间,格式:08:

mysql字段是自动增长类型结果却不是连续的

今天建了一张表,设置其"id"属性为自动增加类型,但是在查看所有数据的时候,却发现"id"的值不是连续增加的.建表的语法如下: mysql> create table person_list -> ( -> id int auto_increment unique, -> name varchar(15) not null, -> sex varchar(15) default "中", -> ID_C var

Ubuntu 12.04.1 mysql从5.5升级到5.6

方法一 直接升级 apt-cache search mysql-server sudo  apt-add-repository ppa:ondrej/mysql-5.6 sudo apt-get update apt-cache search mysql-server apt-get -y install mysql-server 方法二 先卸载然后安装 apt-get -y remove mysql-server apt-get -y autoremove apt-get -y install

ubuntu 13.04下MYSQL 5.5环境搭建

解决的问题: 安装mysql server和mysql client 5.5 新建远程账户 远程访问权限 MYSQL默认字符集修改为UTF8 检查防火墙 一.安装 BTW:可以使用查找命令查看安装包 sudo apt- 安装命令 sudo apt-get install mysql-server-5.5  回车  (有一个带core的,) sudo apt-get install mysql-client-5.5 然后,输入mysql可查看 二.新建远程账户并赋与权限 grant all pri