@Test
public void saveIndex() throws Exception
{
File file = new File(indexPath);
FSDirectory dir = FSDirectory.getDirectory(file);
Document doc = File2DocumentUtils.file2Document(filePath);
IndexWriter indexWriter = new IndexWriter(dir, analyzer, MaxFieldLength.LIMITED);
indexWriter.addDocument(doc);
indexWriter.close();
}
@Test
public void deleteIndex() throws Exception
{
IndexWriter indexWriter = new IndexWriter(indexPath, analyzer, MaxFieldLength.LIMITED);
Term term = new Term("path", filePath);
indexWriter.deleteDocuments(term);
indexWriter.close();
}
@Test
public void updateIndex() throws Exception
{
IndexWriter indexWriter = new IndexWriter(indexPath, analyzer, MaxFieldLength.LIMITED);
Term term = new Term("path", filePath);
Document doc = File2DocumentUtils.file2Document(filePath);
//正直的更新是先删除在添加
indexWriter.updateDocument(term, doc);
indexWriter.close();
}
@Test
public void searchIndex() throws Exception
{
String queryString = "笑话";
// 把要搜索的文本解析成Query
String[] fields = {"name", "content"};
QueryParser queryParser = new MultiFieldQueryParser(fields, analyzer);
Query query = queryParser.parse(queryString);
// 进行查询
IndexSearcher indexSearcher = new IndexSearcher(indexPath);
Filter filter = null;
// 相当于一个List集合
TopDocs topDocs = indexSearcher.search(query, filter, 10000);
int firstResult = 0;
int max = 3;
int end = Math.min(firstResult+max, topDocs.totalHits);
// 打印结果
for (int i=firstResult; i<end;i++)
{
ScoreDoc scoreDoc = topDocs.scoreDocs[i];
int docSn = scoreDoc.doc;// 文档内部编号
Document doc = indexSearcher.doc(docSn); // 根据编号取出相应的文档
File2DocumentUtils.printDocumentInfo(doc);
}
System.out.println("总共有[" + topDocs.totalHits + "]条匹配结果");
}
分享到:
相关推荐
lucene增删改查小demo,最近在研究lucene,有些了解,写成小demo的形式和大家共享,完全自己写的,测试可用
NULL 博文链接:https://370371029-qq-com.iteye.com/blog/1832474
博客类别信息管理:增删改查,分页 评论管理: 评论信息管理:删查,分页 个人信息管理: 修改个人信息:图片上传和利用百度编辑器完成; 系统管理: 修改密码: 刷新系统缓存: 安全退出: 项目前台功能...
并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。...
* 系统用户,角色,权限增删改查,权限分配,权限配色 * 文件上传可自由选择本地存储,七牛云存储,阿里云存储 * 系统字典 * 配置网站基本信息,包括博客数据限制 * 查看系统关键操作的日志(可在系统后台...
HubbleDotNet 设计了较为完善的并发控制程序,数据的增删改查可以多线程同时并发进行,没有任何冲突。HubbleDotNet 还进行 了缓存和内存管理设计,可以帮助用户最大限度的提高查询的效率。HubbleDotNet 力争在未来的...
Hubble.net 设计了较为完善的并发控制程序,数据的增删改查可以多线程同时并发进行,没有任何冲突。Hubble.net 还进行了缓存和内存管理设计,可以帮助用户最大限度的提高查询的效率。Hubble.net 力争在未来的几年内...
05_Elasticsearch 单模式下API的增删改查操作 06_Elasticsearch 批量获取mget 07_Elasticsearch 批量操作bulk 08_Elasticsearch 版本控制version 09_Elasticsearch 如何做映射mapping 10_Elasticsearch 基本查询 11_...
系统用户:对各个基本的组会员增删改查,单发、群发邮件短信,导入导出excel表格,批量删除 3. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 4. 菜单管理:增删改查菜单 ztree(自定义...
系统用户:对各个基本的组会员增删改查,单发、群发邮件短信,导入导出excel表格,批量删除 3. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 4. 菜单管理:增删改查菜单 ztree(自定义...
ES作为MySQL等关系型数据库的LIKE功能出现(当然这只是简单的类比),基于Apache的Lucene实现,提供RESTful风格的操作(增删改查)。随着ES生态的不断繁荣,结合ELK(ElasticSearch, Logstash, Kibana
系统用户,角色,权限增删改查,权限分配,权限配色 系统字典 配置网站基本信息,包括博客数据限制 查看系统关键操作的日志(可在系统后台自动定制需要监控的模板) 在线新增数据库并直接生成 前,后台基本源码...
* 系统用户,角色,权限增删改查,权限分配,权限配色 * 文件上传可自由选择本地存储,七牛云存储,阿里云存储 * 系统字典 * 配置网站基本信息,包括博客数据限制 * 查看系统关键操作的日志(可在系统...