- element-plus 组件 ElMessage、ElLoading 弹框 和加载css 样式展示异常总结
非常困、苦恼,搞了两天,一直问ai,他也不知道还是得看csdn方案一:https://blog.csdn.net/qq_44603011/article/details/135414801原理:因为-使用了elementplus的按需引入后操作:直接删除页面的手动引入结果:出现报错找不到组件-vue3ts环境语法,但是项目可以运行方案二:在方案一基础上继续处理报错,强迫症原理:组件不显示或样式丢失
- 前端开发 Vue 组件优化
1.按需导入与代码分割对于一些大型库,尽可能只导入需要的部分://好的做法import{Button,Select}from'element-plus'//避免这样做//importElementPlusfrom'element-plus'代码分割是一种将应用分解成分成较小的块的技术,可以显著提高加载性能。在Vue中,我们可以结合动态导入和异步组件来实现:配置路由://router.jsimpor
- 基于 Vue3 + Element-plus 表单 Form 组件二次封装
白雾茫茫丶
前端开发vue.jselementui
项目信息项目名称:vue3-xmw-form预览地址:点击预览Github:vue3-element-form使用方法根目录下执行npmivue3-xmw-form命令npmivue3-xmw-form全局挂载组件import{createApp}from'vue'importAppfrom'./App.vue'importXmwformfrom'vue3-xmw-form'createApp(A
- Vue3 element-plus 表格合并
hayhead
vue.js前端javascript
场景:表格中列值相同的进行合并操作constloading=ref(true)//列表的加载中constlist=ref([])//列表的数据consttotal=ref(0)//列表的总页数//计算合并行数constmergeRows=computed(()=>{constmergeInfo={};letcurrentRow=0;letcurrentCount=1;for(leti=1;i{//
- 封装一个有最小化的dialog组件
嘉琪001
javascript前端css
{{title}}最小化关闭温馨提示:当您开启医学白板并最小化界面时,离会前先关闭白板(观看者无需操作)。{{title}}import{ElMessageBox}from'element-plus'import{defineComponent,ref,watch}from'vue'exportdefaultdefineComponent({name:'CustomDialog',props:{v
- Vue3 + TS + Element-Plus 封装的 Table 表格组件
阳光的男夹克
Vue3vue.jselementuijavascript
代码中主要增加了3个插槽,operationsStart从操作栏开头增加按钮,operationsStart从操作栏结尾增加按钮,还有一个插槽用来自定义列的内容,就是TableModel里面的Key{{row[tableModel.key]}}<slotname="operationsStart"v-bind=
- vue3 + element-plus el-table表格二次封装,支持复选框,排序,分页。
前端vue.js
一、customTable.vue组件{{(currentPage-1)*pageSize+scope.$index+1}}{{btn.text}}import{ref,onMounted}from"vue";letloading=defineModel("loading");constemits=defineEmits(["selection-change","sort-change"]);co
- 如何在vue3.0项目中集成Element-plus
卖菜的小白
vue面试vueelement-plus
一、Element-plus简介Elementplus是一套为开发者,设计师和产品经理准备的基于vue3.0的桌面端组件库。之前在vue2中都使用element-ui,而element-plus是针对vue3开发的一个ui组件库。二、基本使用安装element-plusnpminstallelement-plus2.1、全局引入一种引入element-plus的方式是全局引入的方式,代表的含义是所
- vue-element-plus-admin:一套基于vue3、element-plus、ts、vite的后台集成方案
vue-element-plus-admin:一套基于vue3、element-plus、ts、vite的后台集成方案,中后台前端解决方案的探索与实践。框架示例图:在线预览:https://element-plus-admin.cn摘要:本文主要介绍了vue-element-plus-admin,一个基于element-plus的免费开源中后台前端模版。文章首先介绍了该模版的开发背景和技术栈,然后
- 基于 Vue3 + Element-plus 封装的 Table 组件
白雾茫茫丶
前端开发前端vue.jselementui
项目信息项目名称:vue3-xmw-table预览地址:点击预览Github:vue3-element-table使用方法根目录下执行npmivue3-xmw-table命令npmivue3-xmw-table全局挂载组件import{createApp}from'vue'importAppfrom'./App.vue'importXmwtablefrom'vue3-xmw-table'creat
- vue3 - element-plus实现将table表格改为单选效果,将el-table表格实现单选,多选表格变为单选形式(Table多选框改成单选框,表格添加单选框,支持复杂表格嵌套数据多层勾选)
十一猫咪爱养鱼
前端组件与功能(开箱即用)vue常见问题解决vue3elementplustable表格多选改为单选功能el-table复选框改为单选修改ui为圆形单选radioTable表格多选框修改单选
效果图在vue3+elementplus项目开发,实现el-table表格由原来的多选框改为单选框,element-plustable表格控件实现单选功能,支持多级嵌套表格及复杂数据,详细实现Table表格复选框实现单选效果,并且可以动态勾选或取消选中,列表复选框支持单选,可根据情况随意自定义修改复选框的UI样式(改为圆圈)!提供详细示例代码,新手小白复制稍微改改就能用了。完整源码具体说明及核心代
- vue3+ts 解决el-form表单项不能双向绑定
知乎er
vue.jselementui前端javascriptecmascript
1、要注意的点Element-plus使用el-form必须配置ref和model属性,二者的值不能相同(在ElementUI中是可以相同的)。ref的值在声明的时候要引入FormInstance登录后复制1.//ts---importtype{FormInstance}from"element-plus";constformRef=ref()1.2.3.4.5.el-form的ref和model
- 将element-plus table背景改成透明色
我在北京coding
element-pluscssvue.jselementui前端
方法一:全局修改(推荐)/*全局透明表格样式*/.el-table,.el-table__header-wrapper,.el-table__body-wrapper,.el-table__row{background-color:transparent!important;}/*可选:自定义表头和斑马纹行的透明度*/.el-table__headerth{background-color:rgb
- vue3 封装request请求
小曲程序
javavue前端typescript
vue3原生请求封装我这里用一个案例来解释需求:把vue3原生的静态页集成到vue2的若依项目并且可以访问vue2接口在vue3src下的utils下创建文件request.ts文件importaxiosfrom"axios";import{showMessage}from"./status";//引入状态码import{ElMessage}from"element-plus";//引入提示框//
- vue3中element-plus修改el-tooltip的宽度
selfsuer
vue.jsjavascript前端
注意选中的样式是:deep(.el-popper.is-dark){max-width:30%!important;}也有可能不需要后面的.is-dark,看情况而定,总之不是.el-tooltip修改el-tooltip的显示高度参考:前端字数太多使用el-table设置show-overflow-tooltip显示不下,闪烁不显示_某页面的el-table统一开启show-over-toolt
- vue3 el-select+el-tree实现下拉树形选择
控糖__he
vue.jsjavascript前端
主要功能:多选,移除标签,清空标签,模糊搜索,禁用,全选,清空全选清空import'element-plus/dist/index.css'import{getFileTypeTree}from'@/api/Customer/index'exportdefault{name:'App',data(){return{noticeTypeId:[],//最后获取的选择idtreeProps:{valu
- element-plus的DateTimePicker 日期时间选择器
养乐多~ch
elementplusjava前端javascript
总结图ElementPlus的DateTimePicker组件可同时选择日期和时间,通过设置type为datetime或datetimerange实现单值或范围选择。支持通过format和value-format分别控制输入框显示格式和绑定值格式,默认接收和输出Date对象。属性包括model-value、disabled、format等,事件有change、blur等,还可通过插槽自定义图标,适
- Vue3+Element Plus 表格多字段组合排序
需求要的效果:问题描述:需求希望表格多字段排序,但是在element-plus里面的表格只支持单列排序所以只能采用自定义排序sort-change监听排序解决方案:加上:header-cell-class-name@sort-change@header-click{handleHeaderCellClass(params,orderArr)}":highlight-current-row="tru
- Vite2.x + Vue3.x + Typescript + Element-plus搭建完整的后台管理系统项目
阿彪师傅
vue3vuetypescripthtmlelementui
前言听说2021年是vue3.0大爆发的一年话说vue3.0正式版都发布大半年了,你不会对vue3.0还一知半解吧长话不短说,完整版本的vite2.x+vue3.x+typescript+element-plus教程送给大家完整版仓库地址请点击依赖版本
[email protected]依赖node版本12.x.x以上
[email protected]@4.0.5vuex@4
- 给element-plus的table表格加上连续序号
WorkAndDebugger
UI组件库elementui
constindexMethod=(index:number)=>{return(currentPage.value-1)*pageSize.value+index+1}
- element-plus获取到时间并转换时间格式
//中国标准时间转时间格式functionformatDate(time,format){constt=newDate(time);consttf=function(i){return(i{switch(a){case'yyyy':returntf(t.getFullYear());case'MM':returntf(t.getMonth()+1);case'mm':returntf(t.getM
- vue3 + ts + vite + element-plus根据url路径保持对应栏目高亮
yskbchewidhw
vue3前端javascripttypescript
上代码:000111222333YzpAction1Action2退出import{ref}from"vue"import{useRouter}from"vue-router"importlogosfrom"@/assets/img/logo.svg"constrouter=useRouter()//img资源constlogo=ref(logos)leturlname=router.curren
- vue3结合element-plus封装ems菜单栏组件
进阶的巨人001
vue.jstypescriptelement-plus后台管理系统
效果如下:ok,开始代码nav-menu.vueVue3+TS{{item.name}}{{subitem.name}}{{item.name}}import{defineComponent,computed,ref}from'vue'import{useStore}from'@/store'import{useRouter,useRoute}from'vue-router'import{path
- 前端面试题:如果列表渲染几十万条数据,页面卡顿怎么办?你会用什么实际方案来优化
野盒子
面试题前端学习vue面试
如果列表渲染几十万条数据,页面卡顿怎么办?你会用什么实际方案来优化这种情况其实很常见,直接把几十万条数据全部渲染到DOM上肯定是会卡死页面的。我的解决思路一般分两步:第一步:只渲染可视区域的数据(虚拟列表/虚拟滚动)我通常会用虚拟列表方案,也叫虚拟滚动。比如element-plus里的ElVirtualList或者第三方库likevue-virtual-scroll-list、react-wind
- 配置Vite+React+TS项目
Jerry cat
react.jsvuevite前端工程化
配置Vite+React+TS项目初始化配置路径别名样式重置配置Less导入配置TailwindCSS一些复杂样式vue3引入element-plus全局引入按需引入路由封装Axios初始化执行npmcreatevite并填写项目名、用那个框架。。配置路径别名在vite.config.ts里面配置:import{defineConfig}from'vite'importreactfrom'@vit
- 如何用 pnpm patch 给 element-plus 打补丁修复线上 bug(以 2.4.4 修复 PR#15197 为例)
前端发现
项目总结bug
背景在实际项目开发中,依赖的三方库(如element-plus)难免会遇到bug。有时候官方虽然已经修复,但新版本升级成本高,或者有兼容性风险。这时,给依赖打补丁是最优雅的解决方案之一。本文以element-plus2.4.4为例,演示如何用pnpm的patch机制,优雅地修复PR#15197中的bug,而无需升级到2.5.0。需求说明项目依赖
[email protected]官方在2.5.0修
- el-input 自动获取焦点
Lee_Yu_Fan
ElementUI前端
前言:需求描述:在Dialog对话框中使用input组件;当点击按钮,Dialog对话框显示,且里面的input组件要自动获取焦点。因为页面上还存在其他的input组件,所以使用自动获取焦点属性没用!!解决方案:使用了Dialog组件关闭即销毁属性还是不行,最后通过在Dialog组件上使用v-if达到自己想要的效果搜索import{Search}from"@element-plus/icons-v
- 实现自动引入 element-plus +按需引入
可爱的橙子大爷
小吴的vue学习之路vue.jswebpackjavascript
自动导入安装npmiunplugin-vue-componentsunplugin-auto-import-D配置:vue.fonfig.jsconstAutoImport=require('unplugin-auto-import/webpack')constComponents=require('unplugin-vue-components/webpack')const{ElementPlu
- element-plus自动按需引入
加点甜
Elementvue.js前端javascript
按需引入最后打包出来的体积不会这么大,借助插件实现自动按需引入,就不用再去手动引入了!!!需要借助两个插件:unplugin-vue-components,unplugin-auto-importnpminstall-Dunplugin-vue-componentsunplugin-auto-import如果是vite创建的项目,则在vite.config.ts文件配置为://vite.confi
- vue 3.0使用element-plus按需导入解决
Super XX.
Bugvue.jsjavascriptecmascript
安装#NPM$npminstallelement-plus--savenpminstall-Dunplugin-vue-componentsunplugin-auto-importwebpack配置文件即vue.config.js//webpack.config.jsconstAutoImport=require('unplugin-auto-import/webpack')constCompon
- 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=行号