19使用SolrJ管理索引库

简介: 19使用SolrJ管理索引库

什么是solrJ

solrj是访问Solr服务的java客户端,提供索引和搜索的请求方法,SolrJ通常在嵌入在业务系统中,通过SolrJ的API接口操作Solr服务,如下图:

依赖的jar包

添加文档

实现步骤

第一步:创建一个java工程

第二步:导入jar包。包括solrJ的jar包。还需要

代码实现

注意: 里面的field的键值必须 solr安装目录/solr/conf 目录下的 schema.xml里面含有!!!

//和solr服务器创建连接
    //参数:solr服务器的地址
    SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
    //创建一个文档对象
    SolrInputDocument document = new SolrInputDocument();
    //向文档中添加域
    //第一个参数:域的名称,域的名称必须是在schema.xml中定义的
    //第二个参数:域的值
    document.addField("id", "c0001");
    document.addField("title", "solr使用说明书");
    document.addField("comments", "使用说明书的评论");
    document.addField("content", "使用说明书内容详情");
    //把document对象添加到索引库中
    solrServer.add(document);
    //提交修改
    solrServer.commit();

删除文档

根据id删除
//创建连接
    SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
    //根据id删除文档
    solrServer.deleteById("c0001");
    //提交修改
    solrServer.commit();
根据查询删除

查询语法完全支持Lucene的查询语法。

//创建连接
SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
//根据查询条件删除文档
solrServer.deleteByQuery("*:*");
//提交修改
solrServer.commit();

修改文档

在solrJ中修改没有对应的update方法,只有add方法,只需要添加一条新的文档,和被修改的文档id一致就,可以修改了。本质上就是先删除后添加。

查询文档

//创建连接
    SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
    //创建一个query对象
    SolrQuery query = new SolrQuery();
    //设置查询条件
    query.setQuery("*:*");
    //执行查询
    QueryResponse queryResponse = solrServer.query(query);
    //取查询结果
    SolrDocumentList solrDocumentList = queryResponse.getResults();
    //共查询到商品数量
    System.out.println("共查到的内容:" + solrDocumentList.getNumFound());
    //遍历查询的结果
    for (SolrDocument solrDocument : solrDocumentList) {
      System.out.println(solrDocument.get("id"));
      System.out.println(solrDocument.get("title"));
      System.out.println(solrDocument.get("comments"));
      System.out.println(solrDocument.get("content"));
    }

打印内容:

目录
相关文章
|
6月前
|
存储 自然语言处理 数据库
elasticsearch 索引库操作和文档操作(一)
elasticsearch 索引库操作和文档操作
88 0
|
6月前
|
网络架构 索引
elasticsearch 索引库操作和文档操作(二)
elasticsearch 索引库操作和文档操作
153 0
|
索引
18Solr管理索引库
18Solr管理索引库
23 0
|
索引
07Lucene索引库的修改
07Lucene索引库的修改
36 0
|
索引
06Lucene索引库的删除
06Lucene索引库的删除
44 0
23Solr复杂查询 - 使用solrj查询
23Solr复杂查询 - 使用solrj查询
49 0
|
SQL 数据库 索引
08Lucene索引库查询 - 介绍
08Lucene索引库查询 - 介绍
58 0
|
存储 自然语言处理 索引
05Lucene索引库的添加
05Lucene索引库的添加
41 0
|
JSON Java API
Elasticsearch——使用Java API实现ES中的索引、映射、文档操作(上)
Elasticsearch——使用Java API实现ES中的索引、映射、文档操作 (上)
1425 0
Elasticsearch——使用Java API实现ES中的索引、映射、文档操作(上)
|
存储 JSON 自然语言处理
【Elasticsearch】索引库操作
【Elasticsearch】索引库操作
89 0