Lucene检索数据库支持中文检索Word下载.docx

上传人:b****3 文档编号:7457898 上传时间:2023-05-08 格式:DOCX 页数:28 大小:29.29KB
下载 相关 举报
Lucene检索数据库支持中文检索Word下载.docx_第1页
第1页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第2页
第2页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第3页
第3页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第4页
第4页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第5页
第5页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第6页
第6页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第7页
第7页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第8页
第8页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第9页
第9页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第10页
第10页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第11页
第11页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第12页
第12页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第13页
第13页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第14页
第14页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第15页
第15页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第16页
第16页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第17页
第17页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第18页
第18页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第19页
第19页 / 共28页
Lucene检索数据库支持中文检索Word下载.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Lucene检索数据库支持中文检索Word下载.docx

《Lucene检索数据库支持中文检索Word下载.docx》由会员分享,可在线阅读,更多相关《Lucene检索数据库支持中文检索Word下载.docx(28页珍藏版)》请在冰点文库上搜索。

Lucene检索数据库支持中文检索Word下载.docx

◦IndexSearcher调用search对查询语法树Query进行搜索,得到结果TopScoreDocCollector。

二:

代码示例(本文重点部分)

1)首先是连接数据库的jdbc配置文件信息以及存放索引文件的路径配置信息

Test.properties代码

1.jdbc.driverClassName 

com.mysql.jdbc.Driver 

2.jdbc.url 

jdbc:

mysql:

//192.168.0.1/dbname?

autoReconnect=true&

characterEncoding=utf8 

3.jdbc.username 

root 

4.jdbc.password 

password 

5.jdbc.maxIdle 

6.jdbc.maxActive 

7.jdbc.maxWait 

5000 

8.jdbc.validationQuery 

select 

9.res.index.indexPath 

D\:

\\apache-tomcat-6.0.18\\webapps\\test\\testHome\\search\\res\\index1 

10.res.index.mainDirectory 

\\apache-tomcat-6.0.18\\webapps\\test\\testHome\\search\\res 

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:

characterEncoding=utf8

jdbc.username=root

jdbc.password=password

jdbc.maxIdle=2

jdbc.maxActive=4

jdbc.maxWait=5000

jdbc.validationQuery=select0

res.index.indexPath=D\:

\\apache-tomcat-6.0.18\\webapps\\test\\testHome\\search\\res\\index1

res.index.mainDirectory=D\:

\\apache-tomcat-6.0.18\\webapps\\test\\testHome\\search\\res

2)读取资源文件的工具类:

Java代码

1.package 

mon;

2. 

3.import 

java.io.IOException;

4.import 

java.io.InputStream;

5.import 

java.util.HashMap;

6.import 

java.util.Map;

7.import 

java.util.Properties;

8. 

9./** 

10. 

PropertiesUtil.java 

11. 

@version 

1.0 

12. 

@createTime 

读取配置文件信息类 

13. 

*/ 

14.public 

class 

PropertiesUtil 

15. 

16. 

private 

static 

String 

defaultPropertyFilePath 

"

/test.properties"

;

17. 

18. 

Map<

String,Properties>

ppsMap 

new 

HashMap<

();

19. 

20. 

/** 

21. 

读取默认文件的配置信息,读key返回value 

22. 

@param 

key 

23. 

@return 

value 

24. 

25. 

public 

final 

getPropertyValue(String 

key) 

26. 

Properties 

pps 

getPropertyFile(defaultPropertyFilePath);

27. 

return 

== 

null 

?

:

pps.getProperty(key);

28. 

29. 

30. 

31. 

传入filePath读取指定property文件,读key返回value 

32. 

propertyFilePath 

33. 

34. 

35. 

36. 

propertyFilePath,String 

37. 

if(propertyFilePath 

null) 

38. 

propertyFilePath 

defaultPropertyFilePath;

39. 

40. 

getPropertyFile(propertyFilePath);

41. 

42. 

43. 

44. 

45. 

根据path返回property文件,并保存到HashMap中,提高效率 

46. 

47. 

@return 

48. 

49. 

getPropertyFile(String 

propertyFilePath) 

50. 

51. 

null;

52. 

53. 

ppsMap.get(propertyFilePath);

54. 

if(pps 

55. 

InputStream 

in 

PropertiesUtil.class.getResourceAsStream(propertyFilePath);

56. 

Properties();

57. 

try 

58. 

pps.load(in);

59. 

catch 

(IOException 

e) 

60. 

e.printStackTrace();

61. 

62. 

ppsMap.put(propertyFilePath, 

pps);

63. 

64. 

65. 

pps;

66. 

67.} 

packagemon;

importjava.io.IOException;

importjava.io.InputStream;

importjava.util.HashMap;

importjava.util.Map;

importjava.util.Properties;

/**

*PropertiesUtil.java

*@version1.0

*@createTime读取配置文件信息类

*/

publicclassPropertiesUtil{

privatestaticStringdefaultPropertyFilePath="

privatestaticMap<

ppsMap=newHashMap<

/**

*读取默认文件的配置信息,读key返回value

*@paramkey

*@returnvalue

publicstaticfinalStringgetPropertyValue(Stringkey){

Propertiespps=getPropertyFile(defaultPropertyFilePath);

returnpps==null?

null:

pps.getProperty(key);

}

*传入filePath读取指定property文件,读key返回value

*@parampropertyFilePath

publicstaticStringgetPropertyValue(StringpropertyFilePath,Stringkey){

if(propertyFilePath==null){

propertyFilePath=defaultPropertyFilePath;

}

Propertiespps=getPropertyFile(propertyFilePath);

*根据path返回property文件,并保存到HashMap中,提高效率

*@parampropertyFilePath

*@return

publicstaticPropertiesgetPropertyFile(StringpropertyFilePath){

returnnull;

Propertiespps=ppsMap.get(propertyFilePath);

if(pps==null){

InputStreamin=PropertiesUtil.class.getResourceAsStream(propertyFilePath);

pps=newProperties();

try{

pps.load(in);

}catch(IOExceptione){

e.printStackTrace();

}

ppsMap.put(propertyFilePath,pps);

returnpps;

}

3)Jdbc连接数据库获取Connection工具类,不做分析,直接上代码

java.sql.Connection;

java.sql.DriverManager;

java.sql.ResultSet;

java.sql.SQLException;

java.sql.Statement;

JdbcUtil.java 

JDBC获取Connection工具类 

JdbcUtil 

Connection 

conn 

URL;

JDBC_DRIVER;

USER_NAME;

PASSWORD;

URL 

PropertiesUtil.getPropertyValue("

jdbc.url"

);

JDBC_DRIVER 

jdbc.driverClassName"

USER_NAME 

jdbc.username"

PASSWORD 

jdbc.password"

getConnection() 

Class.forName(JDBC_DRIVER);

DriverManager.getConnection(URL, 

USER_NAME, 

PASSWORD);

(ClassNotFoundException 

(SQLException 

conn;

45.} 

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

*JdbcUtil.java

*@createTimeJDBC获取Connection工具类

publicclassJdbcUtil{

privatestaticConnectionconn=null;

privatestaticfinalStringURL;

privatestaticfinalStringJDBC_DRIVER;

privatestaticfinalStringUSER_NAME;

privatestaticfinalStringPASSWORD;

static{

URL=PropertiesUtil.getPropertyValue("

JDBC_DRIVER=PropertiesUtil.getPropertyValue("

USER_NAME=PropertiesUtil.getPropertyValue("

PASSWORD=PropertiesUtil.getPropertyValue("

publicstaticConnectiongetConnection(){

try{

Class.forName(JDBC_DRIVER);

conn=DriverManager.getConnection(URL,USER_NAME,PASSWORD);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}catch(SQLExceptione){

returnconn;

4)万事具备,只欠东风了,下面是核心部分,方法都有注释,不多说了,一步步来,我想肯定是没有问题的。

代码如下:

com.test.lucene.logic;

java.io.File;

java.util.ArrayList;

8.import 

java.util.List;

9. 

10.import 

org.apache.lucene.analysis.Analyzer;

11.import 

org.apache.lucene.document.Document;

12.import 

org.apache.lucene.document.Field;

13.import 

org.apache.lucene.document.Field.TermVector;

14.import 

org.apache.lucene.index.IndexWriter;

15.import 

org.apache.lucene.queryParser.QueryParser;

16.import 

org.apache.lucene.search.IndexSearcher;

17.import 

org.apache.lucene.search.Query;

18.import 

org.apache.lucene.search.ScoreDoc;

19.import 

org.apache.lucene.search.Searcher;

20.import 

org.apache.lucene.search.TopDocs;

21.import 

org.apache.lucene.store.Directory;

22.import 

org.apache.lucene.store.FSDirectory;

23.import 

org.apache.lucene.util.Version;

24.import 

org.wltea.analyzer.lucene.IKAnalyzer;

25.import 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2