- JDBC连接SQLserver
胖胖p
sqlserver数据库databaseeclipse
/***添加学生的JDBC*@authorT283**/publicclassAddStu_JDBC{publicstaticvoidmain(String[]args)throwsException{//1、注册驱动类Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//2、连接数据库:字符串写错会报错-对象无效Conne
- 阿里华为等大厂架构师如何解决空指针问题
人工智能
0前言null,表示无引用指向或没有指针,若操作该变量会引发空指针异常,即NullPointerException,NPE。当线上发生该异常,说明代码健壮性不足,如何才能避免NPE?NPE虽烦,但易定位,关键在null到底意味啥:client给server一个null,是其本意就想给个空值,还是根本没提供值?DB字段的NULL值,是否有特殊含义?写SQL需要注意啥?1NPE事发场景参数是Integ
- java 1.7 异步函数,使用elasticsearch-rest-high-level-client 7.3.1版本的异步方法报错ConnectionClosedException...
古怪小姐爱喝酒
java1.7异步函数
使用elasticsearch-rest-high-level-client7.3.1版本的异步方法报错ConnectionClosedExceptionElasticsearch|作者try2learn|发布于2019年09月14日|阅读数:5729服务端使用的是elasticsearch7.3.1版本,java端使用elasticsearch-rest-high-level-client7.3
- org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state
九师兄
Elasticsearch
文章目录1.概述2.场景21.概述windows下安装es报错org.elasticsearch.cluster.block.ClusterBlockException:blockedby:[SERVICE_UNAVAILABLE/1/statenotrecovered/initialized];安装过程如下http://blog.csdn.net/qq_21383435/article/deta
- hive 写 es 报EsHadoopRemoteException: index_closed_exception: closed null
守猫de人
Elasticsearches6/es7大数据
错误由来,es添加xpack后,hive写es总报index关闭。通过测试,其实数据是可以写入index,且数据量对不上,怀疑是最后提交的时候无法成功,一直提交刷新,最后报错。Status:FailedVertexfailed,vertexName=Map1,vertexId=vertex_1605086559607_0014_1_00,diagnostics=[Taskfailed,taskId
- Qt for android 百度地图定位开发莫名其妙崩溃--W System.err: java.io.FileNotFoundException:
Fu_Lin_
QtforandroidQt百度地图报错百度地图崩溃qt崩溃qt起来崩溃
文章目录问题错误打印解决方案问题错误打印前面打印:WZygote:mz_is_rootedfalseWni.qtandroidmap:type=1400audit(0.0:689):avc:denied{search}forname="/"dev=“mmcblk0p4”ino=2scontext=u:r:untrusted_app:s0:c512,c768tcontext=u:object_r:c
- 异常处理学习笔记
Rey_family
学习笔记python
一、异常概述异常是程序运行过程中出现的非正常情况,它会中断程序的正常执行流程。Java通过异常处理机制使程序更加健壮稳定。异常分类类型特点示例检查型异常(CheckedException)编译时必须处理,否则无法通过编译IOException,SQLException运行时异常(RuntimeException)编译时不检查,运行时才会出现NullPointerException,ArrayInd
- sts4创建spring项目_STS创建SpringBoot项目
weixin_39995280
sts4创建spring项目
STS--SpringBoot项目一、创建父项目步骤:1.newSpring-Stater-Project(下一步直到完成)(如果出现错误:JSONException:AJSONObjecttextmustbeginwith'{'atcharacter0解决方案:http-->https)2.将pom.xml中的jar改为:pom(如果pom文件报错:mavenconfigurationprobl
- python创建虚拟环境命令_Python创建虚拟环境报错
weixin_39614637
python创建虚拟环境命令
我使用命令:mkvirtualenv-ppython3test1,创建虚拟环境,然后报错如下(),虚拟机是用nat模式的:Exception:Traceback(mostrecentcalllast):File"/home/python/.virtualenvs/test11/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urlli
- 深入解析 Java Optional:避免 NPE 的最佳实践与代码示例
不是二师兄的八戒
java开发语言
Optional是Java8引入的一个容器类,用于避免NullPointerException(NPE),并鼓励更优雅的代码风格。它提供了多种方法来处理可能为空的值。以下是一些深入学习Optional的代码示例:1.创建Optionalimportjava.util.Optional;publicclassOptionalExample{publicstaticvoidmain(String[]a
- Java UnsupportedOperationException 深度解析及解决方案
不是二师兄的八戒
java开发语言
在Java开发过程中,UnsupportedOperationException是一种常见的运行时异常,通常发生在尝试对不可修改的集合进行修改操作时。例如,调用removeAll()、add()、remove()、clear()等方法可能会触发此异常。本文将深入分析UnsupportedOperationException的可能原因,并提供有效的解决方案。1.什么是UnsupportedOpera
- 集成 shardingsphere-jdbc 常见问题
拄杖忙学轻声码
SpringBootMySQLOraclePostgreSQLspringbootmysql
一、报错内容Causedby:org.apache.ibatis.executor.ExecutorException:Errorpreparingstatement.Cause:org.apache.shardingsphere.infra.exception.kernel.metadata.TableNotFoundException:Tableorview't_xxx'doesnotexis
- vscode无法打开Terminal终端
ghking1
Win7续命vscodevxkexwin7续命
现象打开终端窗口就报错如下Theterminalprocessfailedtolaunch:Anativeexceptionoccurredduringlaunch(Cannotlaunchconpty).环境操作系统:Win7(补丁没打全,基本是需要的才打)VxKex版本:KexSetup_Release_1_1_2_1439.exeVScode版本:1.93.1原因应该是win7没有conpt
- DBEAVER 连接hive老是掉线
dogplays
hive数据仓库
问题描述:连接生产环境的VPN后用dbeaver连上hive后,经常查询无响应掉线,报错:org.apache.thrift.transport.TTransportException:java.net.SocketException:你的主机中的软件中止了一个已建立的连接。解决方法:如果电脑开启了类似火绒、360这样的安全软件,尝试关闭后执行查询即可(也可以研究此类软件的安全策略),猜测是此类安
- 线程等待与唤醒的几种方法与注意事项
西元.
并发编程java开发语言
写在前面:无论是调用哪种等待和唤醒的方法,都必须是当前线程所持有的对象,否则会导致java.lang.IllegalMonitorStateException等并发安全问题。以三个线程循环打印XYZ为例。一、方法1.1Object对象锁可以通过synchronized对方法、对象实例、类加锁,并调用加锁对象的Object#wait()(会释放线程持有的锁)和Object#notify()方法等待和
- Selenium自动化测试一些应用点
十载寒
Python自动化测试python自动化测试工具
Selenium自动化测试一些应用点文章目录Selenium自动化测试一些应用点一、基础应用1.上传与下载2.Cookies3.截图验证方式4.滑块操作5.颜色验证二、高级应用1.利用JS脚本修改页面属性2.滑动相关3.启动参数4.异常的出现与问题分析4.1NosuchElementException4.2ElementNotVisibleException三、等待机制3.1影响页面元素加载的因素
- openfeign 源码分析--获取nacos接口提供方IP
呼呼通
java前端服务器springcloud
源码分析publicResponseexecute(Requestrequest,Request.Optionsoptions)throwsIOException{try{URIasUri=URI.create(request.url());StringclientName=asUri.getHost();URIuriWithoutHost=cleanUrl(request.url(),clien
- 国密Sm2 Java+js配合使用
xingsfdz
算法密码学Sm2国密sm2
Java端工具类:importjava.math.BigInteger;importjava.security.NoSuchAlgorithmException;importjava.security.SecureRandom;importjava.util.Base64;importorg.bouncycastle.asn1.gm.GMNamedCurves;importorg.bouncyca
- Java - 创建对象的五种方式
某代码
java开发语言
1.new关键字我们最常用的new关键字创建实例对象Studentstu=newStudent();2.class.newInstance()Class.newInstance方法会调用目标类的无参构造方法来创建实例。try{Studentstu=Student.class.newInstance();}catch(InstantiationException|IllegalAccessExcep
- MultipartFile resource [file] cannot be resolved to absolute file path
gaog2zh
#spring全家桶spring文件上传
项目报错:java.io.FileNotFoundException:MultipartFileresource[file]cannotberesolvedtoabsolutefilepath,图示WebLogAspect为我们的项目日志切面类,用于记录日志原因:MultipartFile使用fastjson序列化会报错解决方案:这里解决方案选择忽略,代码如下/***获取方法的参数*@paramm
- python tclerror__tkinter.TclError:命令名称无效" .4302957584" (_tkinter.TclError: invalid command name ".4...
weixin_39669265
pythontclerror
2013-04-1712:09:250Whenclosingthepython3program,Igetastrangeexceptionintheconsole.ThePython3code:fromtkinterimport*fromrandomimportrandint#Returnarandomcolorstringintheformof#RRGGBBdefgetRandomColor()
- 面试题:协程异常处理器及try catch
祖师爷科技
面试kotlinandroid
在Kotlin协程里,异常处理器(CoroutineExceptionHandler)和try-catch块在处理异常时各有特点,它们之间存在一定的包含关系,下面详细介绍:1.try-catch块在协程内部使用try-catch块可以捕获并处理局部异常。它的作用范围仅限于所在的协程体,仅能捕获该协程体中抛出的异常。importkotlinx.coroutines.*funmain()=runBlo
- 如何确保一个集合不能被修改
Stay Passion
#JAVA开发语言java面试
面试官提问:在Java中,如何确保一个集合不能被修改?回答:确保集合不能被修改,主要有以下几种方法:1.使用Collections.unmodifiableXXX()方法Collections.unmodifiableXXX()方法可以创建一个不可修改的集合视图。它返回一个包装过的集合,所有对该集合的修改操作都会抛出UnsupportedOperationException异常。示例代码:impo
- 记一个很简单的错误
最美不过下雨天啊
phpphpstudypdo扩展
PDOExceptioninPDOConnection.phpline836couldnotfinddriverphpstudy明明已经去掉了extension=pdo_mysql前面的分号,但是代码还是找不到MySQL驱动。就是提示没有打开PDO扩展。解决方法将这一行前面的分号去掉。extension_dir="ext"extension=pdo_mysql,这一行的分号也记得去掉。然后重启ng
- 使用MyBatis-Plus测试报错:xxxMapper,空指针异常:NullPointerException
Vacancy空白
intellij-ideajava-ee
错误:java.lang.NullPointerException atcom.bcl.vacancy.demo.mybatisplus.mytest.MyTest.MyTest(MyTest.java:26) atjava.util.ArrayList.forEach(ArrayList.java:1259) atjava.util.ArrayList.forEach(ArrayList
- 【Android】OkHttp3网络请求SSL证书验证问题绕过解决方案(包括Android 10及以上适配)
MrRobot_
Android-项目问题总结Android-版本适配Android-其它androidssl
出现情况当我们将之前封装的一套OKhttp的网络请求换成HTTPS的时候会发现,日志中会报出:java.security.cert.CertPathValidatorException和Causedby:java.security.cert.CertPathValidatorException:Trustanchorforcertificationpathnotfound.如下所示:2021-11
- python3.12 搭建MinerU 环境遇到的问题解决
多云几多
python人工智能linux
报错:AttributeError:module'pkgutil'hasnoattribute'ImpImporter'.Didyoumean:'zipimporter'?ERROR:Exception:Traceback(mostrecentcalllast):File"D:\ipa_workspace\MinerU\Lib\site-packages\pip\_internal\cli\bas
- [报错]java.lang.ClassCastException
weixin_30782331
java
Causedby:java.lang.ClassCastException:org.apache.xml.dtm.ref.DTMManagerDefaultcannotbecasttoorg.apache.xml.dtm.DTMManagerErrorwhileaddingthemapper'interfacecom.a.b.c'toconfiguration.原因:org.apache.xala
- 社招 Java 中厂面试记录,难度有点大!
个人情况:社招一年半面试公司:上海海鼎信息和深圳小赢科技面试感受:总体难度还是有点大的,第二家公司拷打的问题非常非常多,一共60个问题,多少有点离谱儿。不过,面试体验很好,面试官会引导往哪个方向思考。一面请做一下自我介绍。请介绍一下你参与过的项目。请解释一下接口(Interface)和抽象类(AbstractClass)的区别。什么是受检异常(CheckedException)和非受检异常(Unc
- java comp_Java EE异常:名称java:comp未在此上下文中绑定
FPGA hdl
javacomp
我在Netbeans7.2.1中有JavaEE应用程序。试图部署它(建设结束确定),我得到了Tomcat日志中的错误:Causedby:javax.naming.NameNotFoundException:Namejava:compisnotboundinthisContextatorg.apache.naming.NamingContext.lookup(NamingContext.java:7
- 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=行号