LUNCENE/Solr入门示例
来源:互联网 发布:配电柜报价软件 编辑:程序博客网 时间:2024/06/07 00:43
lucene是什么?
是一个全文搜索框架,而不是应用产品。因此它并不像baidu和google那么拿来就能用,它是提供了一种工具让你能实现这些产品。
倒排索引:不是由记录来确定属性值,而是由属性值来确定记录的位置。
// 建立索引
public class CreateIndex {
public static final String indexDir = "G:/index";
public static final String dataDir = "G:/data";
public void createIndex() {
Directory dir = FSDirectory.open(new File(indexDir));
Analyzer anlyzer = new StandardAnlyzer(Version.LUNCENE_4_9);
IndexWriteConfig config = new IndexWriteConfig(Version.LUNCENE_4_9);
config.setOpenModel(IndexWriteConfig.OpenMode.CREATE_OR_APPEND);
IndexWrite write = new IndexWrite(dir, config);
File file = new File(dataDier);
File[] files = file.listFile();
for (File f : files) {
Document doc = new Document();
doc.add(new StringField("filename", f.getName(), Field.Store.YES));
doc.add(new TextField("content", FileUtils.readFileToString(f), Field.Store.YES));
doc.add(new LongField("lastModify", f.lastModify(), Field.Store.YES));
write.addDocument(doc);
}
write.close();
}
}
//查询
public class SearchIndex {
public void search() {
Directory dir = FSDirectory.open(new File(CreateIndex.indexDir));
IndexReader reader = DirectoryReader.open(dir);
IndexSearcher searcher = new IndexSearcher(reader);
QueryParser qp = new QueryParser(Version.LUNCENE_4_9, "content", new StandardAnalyzer(Version.LUNCENE_4_9));
Query query = qp.Query("java");
TopDocs search = searcher.search(query, 10);
ScoreDoc[] scoreDocs = search.scoreDocs;
for (ScoreDoc sc : scoreDocs) {
int docId = sc.doc;
Document document = reader.document(docId);
System.out.println(document.get("filename"));
}
}
}
是一个全文搜索框架,而不是应用产品。因此它并不像baidu和google那么拿来就能用,它是提供了一种工具让你能实现这些产品。
倒排索引:不是由记录来确定属性值,而是由属性值来确定记录的位置。
// 建立索引
public class CreateIndex {
public static final String indexDir = "G:/index";
public static final String dataDir = "G:/data";
public void createIndex() {
Directory dir = FSDirectory.open(new File(indexDir));
Analyzer anlyzer = new StandardAnlyzer(Version.LUNCENE_4_9);
IndexWriteConfig config = new IndexWriteConfig(Version.LUNCENE_4_9);
config.setOpenModel(IndexWriteConfig.OpenMode.CREATE_OR_APPEND);
IndexWrite write = new IndexWrite(dir, config);
File file = new File(dataDier);
File[] files = file.listFile();
for (File f : files) {
Document doc = new Document();
doc.add(new StringField("filename", f.getName(), Field.Store.YES));
doc.add(new TextField("content", FileUtils.readFileToString(f), Field.Store.YES));
doc.add(new LongField("lastModify", f.lastModify(), Field.Store.YES));
write.addDocument(doc);
}
write.close();
}
}
//查询
public class SearchIndex {
public void search() {
Directory dir = FSDirectory.open(new File(CreateIndex.indexDir));
IndexReader reader = DirectoryReader.open(dir);
IndexSearcher searcher = new IndexSearcher(reader);
QueryParser qp = new QueryParser(Version.LUNCENE_4_9, "content", new StandardAnalyzer(Version.LUNCENE_4_9));
Query query = qp.Query("java");
TopDocs search = searcher.search(query, 10);
ScoreDoc[] scoreDocs = search.scoreDocs;
for (ScoreDoc sc : scoreDocs) {
int docId = sc.doc;
Document document = reader.document(docId);
System.out.println(document.get("filename"));
}
}
}
阅读全文
0 0
- LUNCENE/Solr入门示例
- Luncene、solr浅析
- Luncene
- Luncene学习笔记 -- day03 入门程序
- Solr示例
- Solr 使用入门介绍,以搜索论坛帖子为示例
- solr入门
- Solr入门
- solr入门
- solr入门
- Solr入门
- solr入门
- Solr入门
- solr入门
- solr入门
- solr入门
- solr示例程序
- Solr调用示例
- Windows下安装xgboost
- P1092 虫食算
- Swift之Xcode8的'CGRectMake' is unavailable in Swift
- 华为实习day3
- 第三本书 samba数据共享
- LUNCENE/Solr入门示例
- GUI将class文件反编译为java文件
- 画个饼状图
- 每天学一点Swift----面向对象下(三)
- Linux系统--时间戳计数器TSC
- hexo —— 简单、快速、强大的Node.js静态博客框架
- R语言绘制股票K线图
- linux采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器
- 从零开始学习Java Web(七):认识8大Listener