lucene全文检索mysql教程_对于数据库里的多张表怎么利用lucene等实现全文检索
对于没有入门的,想快速使用Lucene,这么理解吧:
1.首先你要弄清楚Lucene搜索的方式与数据的异同;
数据库的搜索是对表和的记录的各项field进行like查询,返回记录,得到查询的结果集。
Lucene是全文检索是对索引中Document的各field进行匹配,可返回document,得到查询的结果集。
2.创建索引;
明白第一步,就要把数据库表字段的信息转换成Document,实际就是创建索引。
最简单的实现,你把数据库一个问题及回答、标签数据必要的字段放进一个Document对象里面。
//伪代码
Document doc = new Document();
doc.add(new Field("问题ID", 值));
doc.add(new Field("问题标题", 值));
doc.add(new Field("问题内容", 值));
doc.add(new Field("回答id_1", 回答1内容));
doc.add(new Field("回答id_2", 回答2内容));
doc.add(new Field("回答id_3", 回答3内容));
//写索引
new IndexWriter().addDocument(document);
3.搜索索引,那用户输入,对Document的Field进行搜索就可以了,返回分页结果集;
4.页面显示,每条结果项里面有对应的问题ID,可以用ID去数据库查询其它相关的信息,显示出来。
lucene全文检索mysql教程_对于数据库里的多张表怎么利用lucene等实现全文检索相关推荐
- Android项目中,在一个数据库里建立多张表
一,创建一个公共的DBAdapter; 为了在整个程序运行期间调用该公共的数据库,我们定义了一个扩展自Application的CommDB类: 1,创建唯一的数据库: 1 public class C ...
- 转发:Android项目中,在一个数据库里建立多张表
一,创建一个公共的DBAdapter; 为了在整个程序运行期间调用该公共的数据库,我们定义了一个扩展自Application的CommDB类: 1,创建唯一的数据库: public class Com ...
- mysql关系数据库_关系型数据库MySql简介
什么是关系型数据库? 数据库就是用来存储数据的仓库,是一种特殊的文件. 根据存储的数据不同,划分为关系型数据库和非关系型数据库. 关系型数据库就是指 建立在关系模型基础上的数据库,通俗来讲这种数据库就 ...
- 建立“图书_读者”数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss)
建立"图书_读者"数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss) 题目所涉及的表如下 注:使用opengauss与HeidiSQL: ...
- 【审批工作流camunda教程】(二):camunda数据库中的48张表分别的大致含义,数据库表结构介绍
教程一: 创建camunda项目=>部署流程定义=>创建流程实例=>走完流程实例 教程二: camunda数据库中的47张表分别的大致含义,数据库表结构介绍 教程三: 下载camun ...
- oracle 中某张表备份,张表系统流程(java程序备份及恢复SQL2000中数据库中的某张表)...
java程序备份及恢复SQL2000中数据库中的某张表 你可以现在数据库里面建立一张视图,视图里面的SQL语句就是查询该数据库中的表明,这就是访问系统表的内容,只提供单独一个列,然后展示给客户,当客户 ...
- 解决:Activiti7与SpringBoot整合时,默认生成的activiti数据库中只有17张表,无另外8张历史表
问题 Activiti7与SpringBoot整合时,默认生成的activiti数据库中只有17张表,无另外8张历史表. 原因 Activiti默认关闭了历史表的使用. 解决 在连接数据库的appli ...
- 如何在JAVA编程语言程序开发中更好的利用数据库中2两张表?
数据库中2两张表 一张user表,一张pay表 department的外键在user表中做主键 则:用eclipse的自动翻转工具生成的配置文件如下 <?xml version="1. ...
- 魔域mysql修改_魔域数据库修改方案.doc
魔域数据库修改方案 服务端图腾表是cq_totem_pole_type 客户端有3个文件,一个是Totempole另外二个是SynTotemPillar和 EudBook是批量孵化显示的 要和服务器显 ...
最新文章
- 逆向工程、协议分析和漏洞研究
- 在Chrome 中调试Javascript
- Python 基础详解-列表的反转与排序!跬步千里
- jvm classLoader 过程
- 暑假集训中期测试 Problem D: 装箱问题2 (并查集)
- android 主流分辨率是多少,android 屏幕分辨率问题
- 将NGINX Plus配置为Web服务器
- Unity3D之如何创建正确的像素比在屏幕上
- 卡通形象医疗病毒细菌宣传海报模板,psd分层,方便应用!
- solr集成IKAnalyzer中文分词器
- 四因素三水平正交试验表_正交实验设计过程
- 生物信息学Bioinformatics学习笔记(一)
- 10.1寸大屏安卓通用车载导航
- Arcgis一些操作
- 端口扫描工具Zenmap超详细使用方法+使用案例(windows)
- 当前的安全设置不允许从该位置下载文件
- C语言实现哈夫曼树求解及其编码输出
- 毕业论文开题报告模板
- proteus仿真arduino控制舵机
- Linux面试最高频的5个基本问题
热门文章
- Android 爆高危漏洞,华为小米皆中招;第三代苹果 AirPods 来了;SQLite 3.30.0 发布 | 极客头条...
- 一键打造全栈式小程序开发者!
- 华为鸿蒙开源!敢为全球第一全场景分布式 OS,可替换 Android!
- 漫画算法:5 分钟搞明白红黑树到底是什么?
- 抢饭碗?这位 05 后开发三款小程序!
- 百年 IBM 如何用代码拯救生命
- Android 的安全性岌岌可危!
- Python、Java、C#、Perl 创始人聚首,编程语言要变天?
- 欧洲互联网将“死于”版权法?
- 字节跳动(今日头条),战斗力为何如此凶猛?| 畅言