基于很多项目中都都可能会使用到针对海量文档信息进行实时检索的需要!对于用户而言比较习惯于百度搜索的使用!本文针对海量文档检索的需求进行描述!针对海量的文档数据我们需要做到最起码两点:1、高效索引 2、高效搜索。当然做到这两点我们需要在我们的项目中完成多道工序,根据索引框架的特点,做相应的优化工作,这样基本上可以完成80%以上的需要,那20%的缺陷可能来自于索引框架本身的局限,比如lucene本身的一些缺点,也可能来自你的编码上的设计。闲话少说,如下是本人针对很多项目中将会使用的一些文档检索的开发案例。开发案例是在jplogic上实现,可移植到其他项目中,如下是海量文档检索功能实现(欢迎进入群【376447127】):
相对简洁的页面(不需要美工额外的设计,每个工程师都可以定制漂亮的界面)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-<span style="color:#ff0000;">transitional</span>.dtd">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tagtld/htmlTagComponet.tld" prefix="JB"%>
<html>
<head>
<style>
html,body {
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
overflow: hidden;
}
</style>
<JB:ComponentBase id="bomponentBase" isJudgeSession="true" ></JB:ComponentBase>
<title>全文检索列表</title>
<script>
var formOperate = new FormOperateObject();
function okOperate(){
closeBlDialog();
}
function noOperate(){
closeBlDialog();
}
//全文检索操作
function toolbarall_textOperate(id) {
//搜索按钮
if (id == 'all_text_Toolbar4') {
var value = $.trim(toolbar_all_text_Toolbar.getValue('all_text_Toolbar2'));
if (value == '') {
OpenBlDialog('提示','搜索关键字不能为空!','WARN','','','okOperate()','noOperate()','','');
} else {
var url = 'jsp/JpSystem/doc/DocAllTextQueryResultForm.jsp?queryParam=' +value;
url = formOperate.changeURLParamValue(url,'queryParam',value);
layout_all_text_layout.cells('a').attachURL(url);
}
}
}
</script>
</head>
<body id="all_text_body" >
<div id="query_result" style="padding:4px;width:99%;height:100%;font-family:'宋体';font-size:50px;overflow:auto;display: none;text-align: center;">
<b>欢迎进入知识库信息检索,输入相应的知识库信息关联的<font color='red'>关键字</font>即可</b>
</div>
<!-- 布局管理器 -->
<JB:LayoutComponent layoutPattern="1C" parentId="all_text_body" id="all_text_layout" autoReSize="true" isAttachProgress="true">
<!-- 全文操作 -->
<JB:LayoutCellComponent id="abc" layoutCellTitle="全文检索" layoutId="all_text_layout" layoutCellName="a" embeddedToolbarId="all_text_Toolbar" attachObjectId="query_result" hiddenHead="false" layoutCellHeigth="600">
<JB:ToolBarComponent id="all_text_Toolbar" layoutCellToolbarId="all_text_Toolbar" onclick="toolbarall_textOperate" title="全文检索操作" gridId="">
<JB:ToolBarCellComponent id="all_text_Toolbar" cellType="text" btnSelectName="<b>关键词搜索</b>" imgDisabled="save_dis.gif" imgEnabled="save.gif" itemId="0" optionItems=""></JB:ToolBarCellComponent>
<JB:ToolBarCellComponent id="all_text_Toolbar" cellType="separator" imgDisabled="" imgEnabled="" itemId="1" optionItems=""></JB:ToolBarCellComponent>
<JB:ToolBarCellComponent id="all_text_Toolbar" cellType="input" btnSelectName="" inputTextWidth="600" imgDisabled="new_dis.gif" imgEnabled="new.gif" itemId="2" optionItems="" ></JB:ToolBarCellComponent>
<JB:ToolBarCellComponent id="all_text_Toolbar" cellType="separator" imgDisabled="" imgEnabled="" itemId="3" optionItems=""></JB:ToolBarCellComponent>
<JB:ToolBarCellComponent id="all_text_Toolbar" cellType="button" btnSelectName="<b>开始检索</b>" imgDisabled="new_dis.gif" imgEnabled="new.gif" itemId="4" optionItems=""></JB:ToolBarCellComponent>
</JB:ToolBarComponent>
</JB:LayoutCellComponent>
</JB:LayoutComponent>
</body>
</html>
系统界面:
海量文档检索首页
知识库资料上传以及追加
检索结果列表
文档预览
文档下载
下载结果
分享到:
相关推荐
百度云网盘搜索引擎是一个以PHP+MySQL进行开发的网盘搜索引擎源码。运行环境:开始之前你需要安装* PHP 5.3.7 +* MySQL* Python 2.7 ~* [xunsearch](http9000; fastcgi_index index.php; include fastcgi.conf; ...
Boost 库和文档的索引中文翻译,提供参考
采用Python编写的语料库检索工具,可以支持字符串和正则表达式的检索,可以轻松检索TXT文本格式的中英文语料库。能够显示语境信息、搭配、词频表、索引行信息。主要特点如下: 1. 采用Python3.9编写,主要采用...
倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。 ...
中文文本分类的文档索引机制及分类模型的研究中文文本分类的文档索引机制及分类模型的研究中文文本分类的文档索引机制及分类模型的研究
知识库索引任务PRD-20210113.html
是在我们做企业知识库,前期研究的资料,和在系统中分离出来的在仿打打百度文库的在线flash文档阅读源码。
要求对检索式构建检索向量,并输出文档与检索向量的相关度,以及文档按照相似度的排序结果。 数据要求为不少于3篇的、有一定长度的任意英文文段,要求为真实有意义的文段,由代码实验者自行给定。
基于lucene 2.4简单的一个索引和搜索实例
百度硬盘搜索是全球第一款可检索中英文双语的硬盘搜索软件,它可以帮你快速找到硬盘上的MP3、文档、图片、电子邮件等信息,并根据硬盘中文件的类型、元数据、时间等信息自动生成目录,让你轻松管理硬盘! 最后强调...
26.百度、谷歌这样的搜索引擎,属于什么类型的搜索引擎【全文搜索引擎】 27.Compendex数据库是属于:【二次】文献数据库。 28.用户想要检索和下载“电子图书”,一般推荐选择哪个检索平台?【读秀】 29.书生之家...
百度硬盘搜索,非常方便的本地文件索引工具。做大型项目的代码搜索页不错
针对百度搜索引擎开发的网站要知道百度搜索引擎的收录规则,这个电子书就是对百度搜索引擎收录,索引规则的介绍。
基于python开发的图像检索系统源码(含特征提取+建立图像库、索引、特征对比等).zip 基于python开发的图像检索系统源码(含特征提取+建立图像库、索引、特征对比等).zip 基于python开发的图像检索系统源码(含特征提取+...
v1.0.1.280更新内容 更新日期:2012.05.08 新增搜索结果高亮(黄色底) 第一次启动系统托盘启动或者无界面启动时,延迟建立索引时间 建立索引界面加入等待动画 解决建立索引界面会显示建立无效磁盘索引提示 解决系统...
编写程序实现为给定目录下txt文件建立倒排索引文件il.txt 运行后会自动生成 1.txt,2.txt,4.txt,其中 1.txt,2.txt需要你自己输入需要排序的文档(如莎士比亚的文集),排序结果输出在il.txt中
信息检索课程设计sdu视点新闻全站爬虫爬取+索引构建+搜索引擎查询练习程序(1805)。 爬虫功能使用Python的scrapy库实现,并用MongoDB数据库进行存储。 索引构建和搜索功能用Python的Whoosh和jieba库实现。(由于...
FPGA设计技巧与案例开发详解 第2版 高清PDF扫描版 带索引, 分两部分,都下载后方能解压
索引系统是搜索引擎的核心,为提高系统的查全率和查准率,设计了一种适用于文档检索的数据库存储的索引结构并建立索引库来降低索引组织的复杂度,通过布尔逻辑和向量空间的组合模型实现对检索结果排序,以返回最优文档...