返回信息流LZ是编程小白一枚,本科是经管院的,只在大一学过C,现在在国外读本专业的研究生,但是课程全都是跟编程相关的,最近的某个小组项目里,已经抓取了大概12M左右的json格式的文件。现在需要用Lucene来做搜索,找出某些特定词汇出现的位置。(不要问我为啥一定要用Lucene,周五还要做presentation来解释一下Lucene各部分的原理,感觉自己好懵。。。)
LZ之前从未用过Lucene啊,网上找的教程好像都偏旧,现在Lucene已经是6.0版本了。现在求助大家:有推荐的教程吗?文章或视频都可。感觉又是要熬夜的一周。。。
这是一条镜像帖。来源:北邮人论坛 / java / #49500同步于 2016/4/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
小白请教Lucene相关问题
pingxiahuhu
2016/4/19镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
竟然得到暖洋洋大神的回复!!!借楼再顺便问一句,如果大神了解Lucene的话,我对于Field怎么弄还是很懵,Json的数据是金融领域的词汇,每个词汇有Term,URL,Definition,BreakingDown,Related Terms这几个属性。现在在Lucene里处理它的话,相当于我要建5个Field,然后我并不懂这个Json的数据要怎么转成Field,网上没有找到可参考的代码。。。感觉妹子自己太弱了。。。
【 在 nuanyangyang 的大作中提到: 】
: RTFM https://lucene.apache.org/core/6_0_0/index.html
创建索引
类:IndexWriter, Analyzer
文本搜索
类:IndexSearcher, QueryParser
针对lz问题,先parse json存成object,然后create一个Document,把你要建立索引的文本直接用Document.add()添加到field里面就好。
//定义indexwirter
public IndexWriter getIndexWriter(boolean create) {
try {
if (indexWriter == null) {
Directory indexDir = FSDirectory.open(new File("/var/lib/lucene/index1"));
//Directory indexDir = FSDirectory.open(new File("index-directory"));
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_4_10_2, new StandardAnalyzer());
indexWriter = new IndexWriter(indexDir, config);
}
} catch (IOException ex) {
System.out.println(ex);
} finally {
return indexWriter;
}
}
//创建索引
public void indexUnion(Object object) {
try {
IndexWriter writer = getIndexWriter(false);
Document doc = new Document();
doc.add(new StringField("Term", object.Term, Field.Store.YES));
doc.add(new TextField("URL", object.URL, Field.Store.YES));
......
writer.addDocument(doc);
} catch (IOException ex) {
System.out.println(ex);
}
}
随手谷歌了一个,应该是你想要的?
http://ignaciosuay.com/getting-started-with-lucene-and-json-indexing/
【 在 pingxiahuhu 的大作中提到: 】
: LZ是编程小白一枚,本科是经管院的,只在大一学过C,现在在国外读本专业的研究生,但是课程全都是跟编程相关的,最近的某个小组项目里,已经抓取了大概12M左右的json格式的文件。现在需要用Lucene来做搜索,找出某些特定词汇出现的位置。(不要问我为啥一定要用Lucene,周五还要做presentation来解释一下Lucene各部分的原理,感觉自己好懵。。。)
: LZ之前从未用过Lucene啊,网上找的教程好像都偏旧,现在Lucene已经是6.0版本了。现在求助大家:有推荐的教程吗?文章或视频都可。感觉又是要熬夜的一周。。。
谢谢你,我再来试一下~ 感觉自己弱的简直不是一星半点。。。
【 在 happiest123 的大作中提到: 】
: 创建索引
: 类:IndexWriter, Analyzer
: 文本搜索
: ...................
建议直接用solr,安装好之后可以直接运行。solr已经将建索引schema化了,通过配置文件设定field,就可以建立索引使用查询。具体做法可以参考solr的example
谢谢你~ 跟着你给的链接的教程去做,代码还是有一堆bug。。。主要还是我太菜了。。。我再想想办法啦。
【 在 happiest123 的大作中提到: 】
: 创建索引
: 类:IndexWriter, Analyzer
: 文本搜索
: ...................
我能说不明白你指的倒排是什么意思么。。。小白一枚。。。
【 在 wxl2014 的大作中提到: 】
: 建倒排 没必要用lucene 自己手动就可以构建