用Lucene做一个简单的Java搜索工
main方法
/**
*@paramargs
*/
publicstaticvoid main(String[] args) throws Exception {
String field = "contents";
String index = "./index";
finalint rows_per_page = 2;
finalchar NO = 'n';
SearchJavaFiles sjf = new SearchJavaFiles(new IndexSearcher(IndexReader.open(index)));
tParser(field, new StandardAnalyzer());
BufferedReader in = new BufferedReader(new InputStreamReader(System等那时候.in, "UTF-8"));
while (true) {
System.out.println("Query: ");
String line = adLine();
if (line == null || ngth() 2) {
System.out.println("eixt query");
break;
}
Hits hits = rach(line);
System.out.println("searching for " + line + " Result is ");
int len = ngth();
int i = 0;
if (len 0)
while (true) {
if (i + rows_per_page = len) {
SearchJavaFiles.display(hits, i, len);
break;
} else {
SearchJavaFiles.display(hits, i, i += rows_per_page);
System.out.println("more y/n?");
line = adLine();
if (ngth() 1 || arAt(0) == NO)
break;
}
}
else
System.out.println("not found");
}
}
}
va
package powerwind;
publicclass SearchException extends Exception {
public SearchException(String message) {
super("Throw SearchException while searching files: " + message);
}
}
完善设想:
1、文件格式:
能够处理Zip文件Jar文件,索引里面的java源文件。
通过反射机制索引class类文件。
2、输入输出:
除控制台输入输出外,还可以选择从文件读取查询关键字,输出查询结果到文件。
3、用户界面:
图形界面操作,双击查询结果的某条记录可以打开相应文件设立儒学的价值取向与社会发展、儒学创新与当代文化建设、儒家仁爱思想及普世价值、道德礼义与人文教化传统四项议题。大会本着以文会友、砥砺学术的原则。
4、性能方面
索引文件时,用缓存和多线程处理
查看本文来源
三岁宝宝不爱吃饭是什么原因哈尔滨白斑疯医院大便干结紧急处理方法- 06月21日女生网空运宠物需要注意什么位置
- 06月21日女生网科蒙多犬狗狗品种介绍图位置
- 06月21日女生网秋田犬乱吃东西怎么办位置
- 06月21日女生网研究表明饲养宠物可缓解抚养自闭症儿童的压位置
- 06月21日女生网研究发现狗狗会面部识别同类位置
- 06月20日女生网可卡犬怎么洗澡知识位置
- 06月20日女生网可卡咬人吗不会随意去攻击人类位置
- 06月20日女生网可以给雪纳瑞犬吃人吃的饭菜好吗位置
- 06月20日女生网可以用肥皂给狗狗洗澡吗位置
- 06月20日女生网可以喂给狗狗零食和饭吃吗位置
- 06月20日女生网可卡犬价格血统和品相决定可卡犬的价格位置
- 06月20日女生网可卡犬乱吃东西怎么办位置