SpringBoot+Lucene第六篇 — 索引的增删改查

为了减少代码量,写一个公用的增删改公用的获取IndexWriter对象的方法

/**
 * 增删改公用的获取IndexWriter对象
 * @return
 * @throws Exception
 */
public IndexWriter getIndexWriter() throws Exception{
    //获得索引存放的位置
    Directory directory = FSDirectory.open(new File("./index"));
    //获得分词器
    Analyzer analyzer = new IKAnalyzer();
    //获得IndexWriterConfig对象
    IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_4_10_2, analyzer);
    //获得indexWeiter对象
    IndexWriter indexWriter = new IndexWriter(directory, indexWriterConfig);
    return indexWriter;
}

删除,修改索引

/**
 * 删除索引——全部删除
 * @throws Exception
 */
@Test
public  void deleteAll() throws  Exception{
    //获得indexWeiter对象
    IndexWriter indexWriter = this.getIndexWriter();
    //删除所有的索引
    indexWriter.deleteAll();
    indexWriter.close();
}

/**
 * 删除索引-按条件删除
 */
@Test
public void delete() throws Exception{
    //获得indexWeiter对象
    IndexWriter indexWriter = this.getIndexWriter();

    Term t = new Term("fileName", "全文");
    TermQuery query = new TermQuery(t);
    //删除指定条件
    indexWriter.deleteDocuments(query);
    indexWriter.close();
}

/**
 * 更新索引
 * @throws Exception
 */
@Test
public void update() throws  Exception{
    //获得indexWeiter对象
    IndexWriter indexWriter = this.getIndexWriter();
    Document document = new Document();
    document.add(new TextField("fileN", "测试文件名", Field.Store.YES));
    document.add(new TextField("fileC", "测试文件内容", Field.Store.YES));

    indexWriter.updateDocument(new Term("fileName", "全文"), document, new IKAnalyzer());
    indexWriter.close();
}
上一篇 SpringBoot+Lucene第五篇 — 创建索引 — 域的再学习
下一篇 Lucene实现全文检索技术(包含SpringBoot整合Lucene 7.6.0)
目录
文章列表
1 Android如何加载100M的图片却不撑爆内存
Android如何加载100M的图片却不撑爆内存
2
Logstash grok配置调试
Logstash grok配置调试
3
CentOS下部署Magento2
CentOS下部署Magento2
4
Groovy代码示例 - 字符串
Groovy代码示例 - 字符串
5
使用yum安装配置ElasticSearch
使用yum安装配置ElasticSearch
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。