public class TestLucene {
public static void main(String[] args) {
String str = "我们测试的字符串是:中华人民共和国在1949年建立,从此开始了新中国的伟大篇章。"; try {
ik_CAnalyzer(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void ik_CAnalyzer(String str) throws Exception{
//Analyzer analyzer = new MIK_CAnalyzer();
Analyzer analyzer = new IK_CAnalyzer();
Reader reader = new StringReader(str);
TokenStream tokenStream = (TokenStream)analyzer.tokenStream( " ", reader);
System.out.println( "=====IK_CAnalyzer==== ");
System.out.println( "分析方法:字典分词,正反双向搜索 ");
Token token;
while ((token = tokenStream.next()) != null) {
System.out.println(token.termText());
}
}
}
运行结果是:
=====IK_CAnalyzer====
分析方法:字典分词,正反双向搜索
我们
我
测试
字符串
字符
中华人民共和国
中华人民
中华
华人
人民共和国
人民
人
共和国
共和
1949年
建立
从此
开始
新中国
中国
伟大
大篇
篇章但是得到这些结果有什么用啊
我想将用户输入的一个字符串分词后和XML文件里的某个元素的值做对比(已放到javabean里),这样搜出来的结果正确率高吗,效率怎么样?希望达人不吝赐教!谢谢了!最近在做一个资源检索的小项目,就是用户输入一个关键字,服务器能返回相应的资源文件。xml文件里存放着相应资源文件的描述信息(譬如:title,keywords,describe等),有谁能给点思路吗?我打算用Lucene分词,可分完词以后(上面的代码),下一步呢,怎么办啊?(已经可以读取xml文件的title,keywords,describe元素了)。
急着解决,帮忙解决的一定给高分!谢谢了!
解决方案 »
- 怎么解决乱码啊
- 在JSP页面显示Image类型的图像
- Spring2.5 无法将dao 注入到action中
- hibernate存储问题
- 求教各位高手,在下问题十万火急,请各位多出妙方,不吝赐教:)struts和org.apache.commons.net.ftp结合上传问题
- 关于JSP程序的加密
- 实在找不到问题所在,jsp+oracle的问题
- jfreechart 如何对x,y轴格式化后再使x,y轴增加相同的倍数
- url参数获取问题
- 做了一个表单。只有两个输入框。点提交。出现一个错误:405 POST not supported,怎么办
- 网页中的falsh怎么总是下不全
- SH项目报错。。求助
相关类IndexWriter,Document /**
* 保存索引内容
*
* @param file
* File 目标索引目录
* @param doc
* Document 索引内容
*/
public static void save(File file, Document... doc) {
Analyzer analyzer = new DefaultAnalyzer();
IndexWriter writer = null;
try {
writer = new IndexWriter(file, analyzer, file.exists() ? false
: true, IndexWriter.MaxFieldLength.LIMITED);
writer.setMaxMergeDocs(MAX_INDEX_SIZE);
for (int i = 0; i < doc.length; i++) {
writer.addDocument(doc[i]);
}
} catch (IOException ex) {
log.fatal("Save index file error : " + file.getAbsolutePath(), ex);
} finally {
close(writer);
}
}public static void main(String[] args){
Document doc=new Document();
doc.add(new Field("file","d:/1.xml",Store.YES,Index.NO));
...
save(new File("d:/a",doc));//这里必须是个不存在的目录或lucene的生成的目录
}
2、根据用户输入进行检索
IndexReader reader = null;
try {
reader = IndexReader.open(file);
IndexSearcher searcher = new IndexSearcher(reader);
TopDocs docs = search.search(query);
return docReader.read(searcher, docs);
} catch (IOException ex) {
log.fatal("Search index file error : " + file.getAbsolutePath());
} finally { // 保证关闭
close(reader);
}