亿信智能知识库表建立及solr表结构改变

只是个demo

建表sql语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
drop database if exists robot;
create database robot DEFAULT CHARACTER SET utf8;
use robot;
CREATE TABLE q_category (
cate_id int(11) NOT NULL AUTO_INCREMENT COMMENT '类型id 自增长字段',
pid int(11) NOT NULL COMMENT '直接上级分类',
spid varchar(255) NOT NULL COMMENT '所有上级分类id 用|分隔',
cate_name varchar(255) NOT NULL COMMENT '分类名称',
PRIMARY KEY (cate_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE q_answer (
a_id int(11) NOT NULL AUTO_INCREMENT COMMENT '答案id 自增长字段',
cate_id int(11) NOT NULL COMMENT '所属分类',
status char(1) NOT NULL COMMENT '审核状态 0表示未审核 1表示已审核 默认0',
answer text COMMENT '大字段 存答案内容',
recorder varchar(100) NOT NULL COMMENT '问题录入人',
question1 varchar(255) NOT NULL COMMENT '问法1',
question2 varchar(255) NOT NULL COMMENT '问法2',
question3 varchar(255) NOT NULL COMMENT '问法3',
question4 varchar(255) NOT NULL COMMENT '问法4',
question5 varchar(255) NOT NULL COMMENT '问法5',
question6 varchar(255) NOT NULL COMMENT '问法6',
question7 varchar(255) NOT NULL COMMENT '问法7',
question8 varchar(255) NOT NULL COMMENT '问法8',
question9 varchar(255) NOT NULL COMMENT '问法9',
question10 varchar(255) NOT NULL COMMENT '问法10',
PRIMARY KEY (a_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE q_logs (
id int(11) NOT NULL AUTO_INCREMENT COMMENT '类型id 自增长字段',
word varchar(255) NOT NULL COMMENT '用户输入',
result char(1) NOT NULL COMMENT '0表示没有结果 1表示有结果',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into q_answer values (null,8,'0',"北京亿信华辰软件有限责任公司(以下简称亿信华辰)成立于2006年10月30日,是北京紫光华宇软件股份有限公司在2006年10月投资注册的子公司,注册资金500万元,总部设在北京市海淀区清华科技园。","demo","亿信华晨成立多少年?","亿信华晨什么时候成立的?","亿信华晨是什么?","亿信华晨","亿信华晨什么时候成立的?","亿信华晨简介","亿信华晨武汉分公司怎样?","亿信华晨总公司情况","亿信华晨行业地位","亿信华晨所属集团");

insert into q_answer values (null,8,'0',"2018年7月11日,BI界领导者亿信华辰低调发布其拳头产品亿信BI的4.7版本。亿信BI新版本上线了酷屏分析功能,同时优化产品性能,为用户提供更全面、更便捷的操作体验,帮助用户做好数据分析和数据展现。当前,数据可视化的目的就是准确高效、精简全面地传递信息和知识。12年以来,亿信华辰致力于在数据分析及数据可视化方面的开拓和研究,认为相较于传统的统计分析方法,数据可视化不仅能加深和强化受众对数据的理解和记忆,也可以借助可视化图表寻找数据规律、分析推理、预测未来趋势。","lisi","BI","BI是什么","BI有什么用","BI简介","亿信华晨的BI如何","BI做的好的公司","BI和数据可视化","商务智能是什么?","BI和商务智能","商务智能有哪些用途");

insert into q_answer values (null,8,'0',"吉林省华宇集团有限公司(以下简称华宇集团)是以房地产开发为核心,集商业地产、产权商厦、广告策划、物业管理、商务酒店等多业态于一体的大型企业集团,具有房地产开发二级资质,由6个分公司组成:吉林省华宇集团有限公司、四平市华宇物业管理有限公司、四平市华宇广告有限公司、公主岭市华宇房地产开发有限公司、吉林省华宇集团四平仁兴商厦有限公司、四平华宇商务酒店有限公司。","wangwu","华宇集团旗下的公司","华宇集团是干什么的","华宇集团和亿信华晨的关系","华宇集团的其他子公司","华宇集团所在的行业","华宇在业界有名吗","华宇","华宇和房地产","吉林省华宇集团有限公司","宇广告有限公司");

insert into q_answer values (null,8,'0',"数据大屏的优势在于可以将所有数据的价值和意义最大化呈现。此次亿信BI升级发布4.7版本,也正是为了能更精准地分析数据、展现数据,使客户能更好地体验到数据的价值。亿信华辰每一次产品的升级和创新,都立足于为客户构建更安全的数据管理环境,将为创领智能数据信赖及增值体系而不懈努力。数据可视化是一门同时结合了科学,设计和艺术的复杂学科,其核心意义始终在于清晰的叙述和艺术化的呈现,","zhnagsan","数据可视化是什么?","亿信华晨的数据可视化如何?","数据可视化哪家公司做的好","数据可视化","数据","可视化","华宇的数据可视化","数据可视化是如何实现的","数据可视化到底是什么","亿信华晨在数据可视化上的优势");

要达到的目的

  • 1.数据库的一个id对应10个question,而solr数据库一个sid对应一个question 对每个question建立索引 (最后还是通过主键索引找到 answer所在的行)
  • 2.要实现数据库和solr数据同步(配置schedule)

遇到问题

  • solr 对每一条数据都有一个唯一的id 当你先后dataimport两张表(都有id字段) 后面的会覆盖前面的数据。
  • 要保留主键id 在solr新增sid作为唯一标识 在data.xml里面修改。

知识点补充

1.lucene 和 solr 的区别 参考教程

  • Lucene是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构
  • Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。

2.数据在solr/lucene是如何存储的 参考教程

1
2
3
4
5
6
7
8
9
定义:
在lucene中最基本的概念是索引(index),文档(document),域(field)和项(term),他们之间的基本关系是这样的:
一个索引包含一系列的文档;
一个文档是一系列域的集合
一个域是一系列命了名称的项的集合
一个项是一个字符串
或者这样理解,如果把整个看作是一个数据表,那么域相当于这个数据表中的某一列,项则是对应某一列中的字符串关键字。也就是我们通常意义上的字符串分词以后的关键字,文档可以看成是一次插入到数据库中的所有数据的集合。

所以说,如果相同的字符串在不同的域中肯定是作为不同的项来对待的,项(terms)被标成成为字符串对的形式:第一个字符串用来命名域(field),第二个用来表示该域下文本的值

3.solr 查询默认分页 & 10条一页

  • rows 指定返回结果最多有多少条记录,默认值为 10,配合start实现分页

4.field /dynamic field /copy field /unique key 是什么?

5.检索关键字 fiels的type=”text_ik”