- vue+element 使用弹框this.$confirm 区分关闭和取消按钮
乐容
vue.jsjavascript前端
需求描述:点击按钮,弹出弹窗,要做两个选择按钮,要区分开选择和关闭的功能代码实现:this.$confirm("是否确定删除选中的数据?","提示",{confirmButtonText:"确定(A按钮)",cancelButtonText:"取消(B按钮)",type:"warning",distinguishCancelAndClose:true,//重要,设置为true才会把右上角X和取消区
- vue+element 左侧菜单栏+Tab页访问本地页面
夏_克
javascriptvue前端
exportdefault{data(){return{pageList:[],linkList:[],activePage:'',reloadFlag:true}},provide(){return{closeCurrent:this.closeCurrent}},created(){//if(this.$route.path!=indexKey){//this.addIndexToFirst(
- vue+Element实现文字列表轮番滚动效果
菜鸟茜
ElementVUEjsvueElement
预警信息{{item.info}}{{item.info}}{{nei}}紧急联系人:周峰联系人电话:15515554312exportdefault{data(){return{chuxian:true,chuxians:false,nei:"",messages:[{type:"报警",deviceId:12,info:"温度传感器西特SetraSTC温度读数异常"},{type:"报警",d
- 【详细流程】vue+Element UI项目中使用echarts绘制圆环图 折线图 饼图 柱状图
G佳伟
vue.jsuiecharts
vue+ElementUI项目中数据分析功能需要用到圆环图折线图饼图柱状图等,可视化图形分析安装流程及示例1.安装依赖npminstallecharts--save2.在main.js中引入并挂载echartsimportechartsfrom'echarts'Vue.prototype.$echarts=echarts3.在需要使用echarts的页面引入echartsimport*asecha
- vue+element(项目中的使用)
友人!
VUEvue.js
Table1,带选择的table,选择时选择对应的id进行操作letarr=[];//选择id存放的数组for(leti=0;i{{item.name}}单元格项有不同的操作按钮使用slot-scope="scope"在el-table-column中加入一个随机的key值,这样界面切换的时候检测到不同的key值就会重新去加载:key="Math.random()"2,自定义表头label3,筛选
- JS连接打印机
友人!
代码案例
1,vue+element打印el-dialog弹框内容在main.js引入print.js文件importPrintfrom‘./assets/print’//下载到本地地址Vue.use(Print)//打印类属性、方法定义/*eslint-disable*/constPrint=function(dom,options){if(!(thisinstanceofPrint))returnnew
- el-table复选框显示异常
85d8c4f3886f
用vue+element写项目的时候遇到了一个问题,el-table的复选框按钮显示异常,具体表现为:只选择了一条数据时,上面控制全选的复选框也会呈“全选中”状态,而不是“半选中”状态的只显示一条横线,这样会对用户使用造成干扰。错误示例正确示例查看渲染出来的html,发现element是用class来控制“全选”和“半选中”的,如果是全选,对应的class为“is-checked”,如果是半选中,
- vue+Element实现tree树形数据展示
森森deHOME
简单粗暴是我的原则,方便复制粘贴是我的梦想!!!效果如下微信截图_20200710114604.pngimport{root}from'../../api/api';exportdefault{data(){return{setTree:[],defaultProps:{children:'children',label:'name'},}},methods:{getListData(){letd
- (已解决)vue+element-ui实现个人中心,仿照原神
BrianGriffin
vue.js前端javascript
差一个个人中心页面,看到了这个博主的个人中心,真的很不错地址:vue+element仿原神实现好看的个人中心最终效果:
- vue+element el-tree树形控件的底层菜单横向排列
@~~涛
Vue
完整代码:exportdefault{data(){return{routeList:[{title:"授权管理后台",list:[{id:1,label:"京店宝",children:[{id:2,label:"用户分析",children:[{id:4,label:"查询次数",children:[{id:7,label:"页面查看权限"},{id:8,label:"编辑"}]},{id:5,
- vue+element 换肤功能
~张小八~
vue.js前端javascript
1.首先建深色和浅色两个主题样式变量样式表,样式表名和按钮中传入的值一样,本例中起名为default.scss和dark.scss2.在data中定义主题变量名zTheme:‘defalut’,默认引用defalut.scss,在点击按钮时切换引用的样式表,达到换肤效果3.dom中写入主题切换按钮/****更换主题按钮*****/深色主题 ||浅色主题2.setTheme方法
- vue+element级联选择仅显示最后一级
wangxiurong
:show-all-levels="false"定义了是否显示完整的路径,将其赋值为false则仅显示最后一级职业:绑定值的时候我之前一直不明白为啥后端给的是字符串,而我返回的是一个数组,后来才知道,我刚开始的问题是:后端返我一个String,occupationCode:'009800',但是我修改之后返回给后端的是一个Array,[null,null,'990698'],这也就导致前端一直报错
- vue+element ui表单校验问题
邮一支软猫
问题:点击表单出现一个树状显示弹出层,点击选择内容回显至表单,但表单有回显后校验规则仍在,点击保存后提示校验必填trigger的值blur和change如何区分使用(1)blur:主要用于一些input表单输入,一些类似弹框的回显例如:rules:{budgetGroupOrgName:[{required:true,message:'必填项不能为空',trigger:'blur'}]},//点击
- vue+element项目全局注册el-pagination分页组件和el-upload上传组件并使用
jcat_李小黑
ElementUIVuevueelement
目录前言正文一、分页组件1.1封装方法1.2调用方法二、上传组件2.1封装方法2.2调用方法三、vue中全局注册组件3.1全局导入3.2在main.js中引入文件3.3在其他.vue单页面直接引入组件,不用再引用结语前言为什么我要写这个博客?因为记录一下平时怎么偷懒写代码~~不然怕忘了;其实主要为了记录全局注册组件的方法,在项目中就不用单页面调用了,需要的地方直接用,但是太单调了,就多整理了一下v
- vue+element ui+el-upload+oss
Manta__
vuevue阿里云
1.安装ali-oss2.main.jsconstOSS=require('ali-oss');Vue.prototype.client=newOSS({accessKeyId:'',//查看你自己的阿里云KEYaccessKeySecret:'',//查看自己的阿里云KEYSECRETbucket:'',//你的OSSbucket名称region:'oss-cn-beijing',//bucke
- vue+element ui实现表格的合计功能
拖拉机上的爱
vue.js前端javascript
效果:在vue中想实现合计功能,需要在标签中增加:summary-method="getSummaries"然后在methods中增加方法:(改变column.label即可)getSummaries(param){const{columns,data}=param;constsums=[];columns.forEach((column,index)=>{if(index===0){sums[i
- vue+element表格使用(单元格内编辑、表格后新增一行、删除表格行)
肆夕沐木
Vue+element表格内编辑表格后新增删除表格行
element组件生成表格前端使用element组件实现表格创建,开发文档中有一个单元格点击事件cell-dblclick——当某个单元格双击时触发该事件。通过使用该事件实现单元格可编辑。表格后新增一行的逻辑很简单,直接添加一行表格数据就行。删除表格行的逻辑也很简单,通过获取选中行和表格数据进行比较,如果相等(即被选中)则从tableData中删除该条数据。具体实现逻辑如下:新增删除{{scope
- vue+element 在table中用jsx语法,列合并、列循环渲染
Yaince
vue.jsjavascript前端
需求:1.某些特定列需要合并2.某几个列循环渲染3.表格需要可点击行编辑单元格,4.单元格需要行数据两值的对比来动态展示样式因此用jsx能更好更快的解决代码:{{scope.row[planCountArr[index]]==-1?'':scope.row[planCountArr[index]]}}{{renderToInput(scope.row,index)}}{{scope.row[rea
- table表格列合计 vue+element table表格列合计
ratel️
vue.jselementuijavascript
//列求和getSummaries(param){const{columns,data}=param;//这里可以看出,自定义函数会传入每一列,以及数据constsums=[];columns.forEach((column,index)=>{if(index===0){sums[index]='总计';return;}elseif(index>=1){//index>=1后的列进行求和//页面分
- vue+element中table列表最后一行添加合计
~张小八~
vue.jsjavascript前端
1.在table中添加show-summary属性,并设置值为true,使用summary-method并传入一个方法,返回一个数组,这个数组中的各项就会显示在合计行的各列中,如下代码2.getSummaries方法逻辑getSummaries(param,callback){const{columns,data}=param;constsums=[];columns.forEach((colum
- Vue+Element(el-upload+el-form的使用)+springboot
娃哈哈哈哈呀
ElementSpringBootvue.jsspringbootelementui
目录1、编写模板2、发请求调接口3、后端返回数据1.编写实体类2.Controller类3、interface接口(Service层接口)4.Service(接口实现)5、interface接口(Mapper层接口)6、xml4、upload相关参数说明(该案例是一个el-form和el-upload结合的,逻辑是:需要先保存输入框的内容才能上传图片,分别调用了4(查询,删除、插入,上传图片)个接
- vue 点击某一行的按钮,获取当前行的数据
萌奈加油努力
vue学习vuejavascript
vue+element框架假如我想从表格中删除第二行,即身份证号为5的数据,那么就需要在点击删除按钮时拿到那一行的信息。具体代码如下删除JS代码:dele(e){alert(JSON.stringify(e))alert(e.id)this.$confirm('此操作将永久删除该用户信息,是否继续?','提示',{confirmButtonText:'确定',cancleButtonText:'取
- vue+element 页面scroll监听
mitusisi
通常用的window.addEventListener在VUE的页面中不太友好可以灵活指定标签1、监听事件,放在mounted中,其中handleScroll为操作事件,mounted(){document.querySelector(".main_zone").addEventListener("scroll",this.handleScroll);//监听页面scroll事件},2、处理文件放
- vue+element实现树状表格的增删改查;使用el-table树形数据与懒加载实现树状表格增删改查
m0_67402823
前端htmlvue.jsjavascript前端
以下代码可以直接复制使用一、情景:列表是一个树状表格,可以无限添加下级,以及对列表的某一行进行增删改查(目前查没有写)。原博链接二、本篇是在原博主的代码基础上添加了部分功能。功能1:给树状表格添加虚线部分,可以更清楚树节点层级关系功能2:某行数据可以直接输入框编辑,也可以点击编辑按钮打开弹框编辑功能3:我这里树状节点一共有三种:–①顶级根节点first:只会有最外层一个默认就有的可以添加下级【夹】
- vue+element 表格复选框默认勾选第一行,只能选择一条
从南慕白
getLists(){getList().then(res=>{this.tableData=res.data//复选框默认勾选第一行this.checkList=this.tableData[0]this.$nextTick(()=>{this.$refs.tableRef.toggleRowSelection(this.checkList)})})},changeFun(selection,r
- 使用VUE+element ui 实现输入框 占位符自动补全功能
Ormosiahosiei
效果输入${@即可弹出内容2、选中即可填充代码:1、templet{handleSelect(item)})">2、tsautoInputs:any[]=["",""]lastAutoInputs:any[]=["",""]oldAutoInput:string|undefined=''//返回输入建议的方法,也就是说输入框一获取焦点。就会自动调用该方法拿到数据,这些数据就是输入建议的数据。que
- Vue+Element Ui实现el-table自定义表头下拉选择表头筛选
Yongqiang Chen
vue.jsjavascript前端elementuivue
用vue+elementui开发管理系统时,使用el-table做表格,当表格列过多的时候,想要做成可选表头的,实现表格列的筛选显示,效果如下:代码文件结构:废话不多说,直接上代码:第一步:新建名为TableHeaderRender.vue的文件-->-->筛选重置-->-->exportdefault{name:"tableHeaderRender",data(){return{//input绑
- form 验证 validate validateField
撑船的摆渡人
使用vue+element项目中使用validateField对部分表单字段进行校验的方法Function(prop:string,callback:Function(errorMessage:string))万元预览大写金额//最多到千亿,小数点最多保留两位letcheckNumber=(rule,value,callback)=>{constreg=/^(0|[1-9][\d]*)\.{0,1
- vue+element弹窗内---下拉框定位问题解决(方法之两种)
xu_duo_i
vue.js前端javascript
问题:加了:popper-append-to-body="false"这个属性也不好用时可以试试这个解决方法1️⃣:第一步:找到el-select标签添加(popper-class="popperClass")属性-----如下图第二步:在css中添加如下代码即可::v-deep.popperClass{top:auto!important;}其实这个方法有弊端:下拉框有滚动条时,滚动后定位还是会
- vue+element ui实现图片上传并拖拽进行图片排序
令狐张豪
vuevue.js前端elementui
用到的技术栈:vue2elementUivue-dragging如何使用:第一步:安装npminstallawe-dnd--save第二步:引入main.js文件//引入组件importVueDNDfrom'awe-dnd'//添加至全局Vue.use(VueDND)具体项目代码上传图片注:最多可上传9张图片,单张大小需限制在10M以内,拖动可进行排序exportdefault{name:'add
- apache 安装linux windows
墙头上一根草
apacheinuxwindows
linux安装Apache 有两种方式一种是手动安装通过二进制的文件进行安装,另外一种就是通过yum 安装,此中安装方式,需要物理机联网。以下分别介绍两种的安装方式
通过二进制文件安装Apache需要的软件有apr,apr-util,pcre
1,安装 apr 下载地址:htt
- fill_parent、wrap_content和match_parent的区别
Cb123456
match_parentfill_parent
fill_parent、wrap_content和match_parent的区别:
1)fill_parent
设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。
2) wrap_conte
- 网页自适应设计
天子之骄
htmlcss响应式设计页面自适应
网页自适应设计
网页对浏览器窗口的自适应支持变得越来越重要了。自适应响应设计更是异常火爆。再加上移动端的崛起,更是如日中天。以前为了适应不同屏幕分布率和浏览器窗口的扩大和缩小,需要设计几套css样式,用js脚本判断窗口大小,选择加载。结构臃肿,加载负担较大。现笔者经过一定时间的学习,有所心得,故分享于此,加强交流,共同进步。同时希望对大家有所
- [sql server] 分组取最大最小常用sql
一炮送你回车库
SQL Server
--分组取最大最小常用sql--测试环境if OBJECT_ID('tb') is not null drop table tb;gocreate table tb( col1 int, col2 int, Fcount int)insert into tbselect 11,20,1 union allselect 11,22,1 union allselect 1
- ImageIO写图片输出到硬盘
3213213333332132
javaimage
package awt;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imagei
- 自己的String动态数组
宝剑锋梅花香
java动态数组数组
数组还是好说,学过一两门编程语言的就知道,需要注意的是数组声明时需要把大小给它定下来,比如声明一个字符串类型的数组:String str[]=new String[10]; 但是问题就来了,每次都是大小确定的数组,我需要数组大小不固定随时变化怎么办呢? 动态数组就这样应运而生,龙哥给我们讲的是自己用代码写动态数组,并非用的ArrayList 看看字符
- pinyin4j工具类
darkranger
.net
pinyin4j工具类Java工具类 2010-04-24 00:47:00 阅读69 评论0 字号:大中小
引入pinyin4j-2.5.0.jar包:
pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j。
本人以前用AscII编码提取工具,效果不理想,现在用pinyin4j简单实现了一个。功能还不是很完美,
- StarUML学习笔记----基本概念
aijuans
UML建模
介绍StarUML的基本概念,这些都是有效运用StarUML?所需要的。包括对模型、视图、图、项目、单元、方法、框架、模型块及其差异以及UML轮廓。
模型、视与图(Model, View and Diagram)
&
- Activiti最终总结
avords
Activiti id 工作流
1、流程定义ID:ProcessDefinitionId,当定义一个流程就会产生。
2、流程实例ID:ProcessInstanceId,当开始一个具体的流程时就会产生,也就是不同的流程实例ID可能有相同的流程定义ID。
3、TaskId,每一个userTask都会有一个Id这个是存在于流程实例上的。
4、TaskDefinitionKey和(ActivityImpl activityId
- 从省市区多重级联想到的,react和jquery的差别
bee1314
jqueryUIreact
在我们的前端项目里经常会用到级联的select,比如省市区这样。通常这种级联大多是动态的。比如先加载了省,点击省加载市,点击市加载区。然后数据通常ajax返回。如果没有数据则说明到了叶子节点。 针对这种场景,如果我们使用jquery来实现,要考虑很多的问题,数据部分,以及大量的dom操作。比如这个页面上显示了某个区,这时候我切换省,要把市重新初始化数据,然后区域的部分要从页面
- Eclipse快捷键大全
bijian1013
javaeclipse快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+En
- js 笔记 函数
征客丶
JavaScript
一、函数的使用
1.1、定义函数变量
var vName = funcation(params){
}
1.2、函数的调用
函数变量的调用: vName(params);
函数定义时自发调用:(function(params){})(params);
1.3、函数中变量赋值
var a = 'a';
var ff
- 【Scala四】分析Spark源代码总结的Scala语法二
bit1129
scala
1. Some操作
在下面的代码中,使用了Some操作:if (self.partitioner == Some(partitioner)),那么Some(partitioner)表示什么含义?首先partitioner是方法combineByKey传入的变量,
Some的文档说明:
/** Class `Some[A]` represents existin
- java 匿名内部类
BlueSkator
java匿名内部类
组合优先于继承
Java的匿名类,就是提供了一个快捷方便的手段,令继承关系可以方便地变成组合关系
继承只有一个时候才能用,当你要求子类的实例可以替代父类实例的位置时才可以用继承。
在Java中内部类主要分为成员内部类、局部内部类、匿名内部类、静态内部类。
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相
- 盗版win装在MAC有害发热,苹果的东西不值得买,win应该不用
ljy325
游戏applewindowsXPOS
Mac mini 型号: MC270CH-A RMB:5,688
Apple 对windows的产品支持不好,有以下问题:
1.装完了xp,发现机身很热虽然没有运行任何程序!貌似显卡跑游戏发热一样,按照那样的发热量,那部机子损耗很大,使用寿命受到严重的影响!
2.反观安装了Mac os的展示机,发热量很小,运行了1天温度也没有那么高
&nbs
- 读《研磨设计模式》-代码笔记-生成器模式-Builder
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF)
* 个人理解:
* 构建一个复杂的对象,对于创建者(Builder)来说,一是要有数据来源(rawData),二是要返回构
- JIRA与SVN插件安装
chenyu19891124
SVNjira
JIRA安装好后提交代码并要显示在JIRA上,这得需要用SVN的插件才能看见开发人员提交的代码。
1.下载svn与jira插件安装包,解压后在安装包(atlassian-jira-subversion-plugin-0.10.1)
2.解压出来的包里下的lib文件夹下的jar拷贝到(C:\Program Files\Atlassian\JIRA 4.3.4\atlassian-jira\WEB
- 常用数学思想方法
comsci
工作
对于搞工程和技术的朋友来讲,在工作中常常遇到一些实际问题,而采用常规的思维方式无法很好的解决这些问题,那么这个时候我们就需要用数学语言和数学工具,而使用数学工具的前提却是用数学思想的方法来描述问题。。下面转帖几种常用的数学思想方法,仅供学习和参考
函数思想
把某一数学问题用函数表示出来,并且利用函数探究这个问题的一般规律。这是最基本、最常用的数学方法
- pl/sql集合类型
daizj
oracle集合typepl/sql
--集合类型
/*
单行单列的数据,使用标量变量
单行多列数据,使用记录
单列多行数据,使用集合(。。。)
*集合:类似于数组也就是。pl/sql集合类型包括索引表(pl/sql table)、嵌套表(Nested Table)、变长数组(VARRAY)等
*/
/*
--集合方法
&n
- [Ofbiz]ofbiz初用
dinguangx
电商ofbiz
从github下载最新的ofbiz(截止2015-7-13),从源码进行ofbiz的试用
1. 加载测试库
ofbiz内置derby,通过下面的命令初始化测试库
./ant load-demo (与load-seed有一些区别)
2. 启动内置tomcat
./ant start
或
./startofbiz.sh
或
java -jar ofbiz.jar
&
- 结构体中最后一个元素是长度为0的数组
dcj3sjt126com
cgcc
在Linux源代码中,有很多的结构体最后都定义了一个元素个数为0个的数组,如/usr/include/linux/if_pppox.h中有这样一个结构体: struct pppoe_tag { __u16 tag_type; __u16 tag_len; &n
- Linux cp 实现强行覆盖
dcj3sjt126com
linux
发现在Fedora 10 /ubutun 里面用cp -fr src dest,即使加了-f也是不能强行覆盖的,这时怎么回事的呢?一两个文件还好说,就输几个yes吧,但是要是n多文件怎么办,那还不输死人呢?下面提供三种解决办法。 方法一
我们输入alias命令,看看系统给cp起了一个什么别名。
[root@localhost ~]# aliasalias cp=’cp -i’a
- Memcached(一)、HelloWorld
frank1234
memcached
一、简介
高性能的架构离不开缓存,分布式缓存中的佼佼者当属memcached,它通过客户端将不同的key hash到不同的memcached服务器中,而获取的时候也到相同的服务器中获取,由于不需要做集群同步,也就省去了集群间同步的开销和延迟,所以它相对于ehcache等缓存来说能更好的支持分布式应用,具有更强的横向伸缩能力。
二、客户端
选择一个memcached客户端,我这里用的是memc
- Search in Rotated Sorted Array II
hcx2013
search
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given ta
- Spring4新特性——更好的Java泛型操作API
jinnianshilongnian
spring4generic type
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- CentOS安装JDK
liuxingguome
centos
1、行卸载原来的:
[root@localhost opt]# rpm -qa | grep java
tzdata-java-2014g-1.el6.noarch
java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64
java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
[root@localhost
- 二分搜索专题2-在有序二维数组中搜索一个元素
OpenMind
二维数组算法二分搜索
1,设二维数组p的每行每列都按照下标递增的顺序递增。
用数学语言描述如下:p满足
(1),对任意的x1,x2,y,如果x1<x2,则p(x1,y)<p(x2,y);
(2),对任意的x,y1,y2, 如果y1<y2,则p(x,y1)<p(x,y2);
2,问题:
给定满足1的数组p和一个整数k,求是否存在x0,y0使得p(x0,y0)=k?
3,算法分析:
(
- java 随机数 Math与Random
SaraWon
javaMathRandom
今天需要在程序中产生随机数,知道有两种方法可以使用,但是使用Math和Random的区别还不是特别清楚,看到一篇文章是关于的,觉得写的还挺不错的,原文地址是
http://www.oschina.net/question/157182_45274?sort=default&p=1#answers
产生1到10之间的随机数的两种实现方式:
//Math
Math.roun
- oracle创建表空间
tugn
oracle
create temporary tablespace TXSJ_TEMP
tempfile 'E:\Oracle\oradata\TXSJ_TEMP.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent m
- 使用Java8实现自己的个性化搜索引擎
yangshangchuan
javasuperword搜索引擎java8全文检索
需要对249本软件著作实现句子级别全文检索,这些著作均为PDF文件,不使用现有的框架如lucene,自己实现的方法如下:
1、从PDF文件中提取文本,这里的重点是如何最大可能地还原文本。提取之后的文本,一个句子一行保存为文本文件。
2、将所有文本文件合并为一个单一的文本文件,这样,每一个句子就有一个唯一行号。
3、对每一行文本进行分词,建立倒排表,倒排表的格式为:词=包含该词的总行数N=行号