新建一个maven项目,引入依赖:

<dependencies>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>6.3.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.9</version>
</dependency>
</dependencies>

新建helloworld类:

import com.alibaba.fastjson.JSONObject;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; /**
* SolrHelloWorld类描述:
*
* @author yangzhenlong
* @since 2018/1/9
*/
public class SolrHelloWorld {
private static String solr_server_url = "http://localhost:8983/solr";
private static String core_test = "test";//test核心 public static void main(String[] args) throws IOException, SolrServerException {
SolrClient solrClient = new HttpSolrClient(solr_server_url + "/" + core_test); //添加
add(solrClient);
//查询
query(solrClient);
//删除
delete("10", solrClient); } private static void add(SolrClient solrClient) throws IOException, SolrServerException {
List<SolrInputDocument> documentList = new ArrayList<SolrInputDocument>(10);
for(int i = 10; i<=20 ; i++){
SolrInputDocument document = new SolrInputDocument();
document.addField("id", i);
document.addField("name", "测试" + i);
document.addField("category", i%2 == 0 ? "分类1" : "分类2");
documentList.add(document);
}
UpdateResponse addResponse = solrClient.add(documentList);
System.out.println(addResponse.toString());
solrClient.commit();
System.out.println("----------------添加结果-------------\n" + JSONObject.toJSONString(addResponse));
} private static void query(SolrClient solrClient) throws IOException, SolrServerException {
SolrQuery solrQuery = new SolrQuery();
solrQuery.set("q", "*:*");//q查询
//solrQuery.addFilterQuery("id:[0 TO 20]");//过滤查询
//solrQuery.addSort("id", SolrQuery.ORDER.asc);//排序
solrQuery.setStart(0);//分页 页码
solrQuery.setRows(20);//分页 数量
// solrQuery.setHighlight(true);//高亮
//solrQuery.addHighlightField("name");// 设置高亮的字段
//solrQuery.setHighlightSimplePre("<font color='red'>");// 设置高亮的样式 开头
//solrQuery.setHighlightSimplePost("</font>");// 设置高亮的样式 结束 System.out.println("----------------查询开始-------------,query params=" + JSONObject.toJSONString(solrQuery.getQuery()));
QueryResponse queryResponse = solrClient.query(solrQuery);
SolrDocumentList results = queryResponse.getResults();
System.out.println("----------条数:" + results.getNumFound());
System.out.println("--------------result------------\n" + JSONObject.toJSONString(results));
} private static void delete(String id, SolrClient solrClient) throws IOException, SolrServerException {
UpdateResponse deleteResponse = solrClient.deleteById(id);
System.out.println("----------------删除结果-------------\n" + JSONObject.toJSONString(deleteResponse));
solrClient.commit();
}
}

查询Admin页面:

java-solr solrj的使用的更多相关文章

  1. Solr JAVA客户端SolrJ 4.9使用示例教程

    http://my.oschina.net/cloudcoder/blog/305024 简介 SolrJ是操作Solr的JAVA客户端,它提供了增加.修改.删除.查询Solr索引的JAVA接口.So ...

  2. [solr] - SolrJ增删查

    使用SolrJ进行对Solr的增.删.查功能. 参考引用: http://wiki.apache.org/solr/Solrj Eclipse中新建一个项目:TestSolr 其中SorlJ的Lib包 ...

  3. Solr JAVA客户端SolrJ的使用

    一.Solrj简介 SolrJ是操作Solr的JAVA客户端,它提供了增加.修改.删除.查询Solr索引的JAVA接口.SolrJ针对 Solr提供了Rest 的HTTP接口进行了封装, SolrJ底 ...

  4. Java solr 分词

    代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClient ...

  5. Java solr 索引数据增删改查

    具体代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClie ...

  6. [Java] Solr & Elasticsearch

    背景 实现网站自带的搜索功能,如淘宝中的商品搜索 全文搜索 数据分类 结构化数据:固定格式或长度有限的数据,如数据库.元数据等 非结构化数据:不定长或无固定格式的数据,如邮件.word文档等 搜索分类 ...

  7. solr/solrj原子更新

    lucene原子更新自己不用多介绍,但solr它的包装,下面是一个简单的介绍是:这个操作是用于索引非常有用. 详细在代码中使用例如以下: /** * 原子更新方式 * */ public static ...

  8. Solr 09 - SolrJ操作Solr单机服务 (Solr的Java API)

    目录 1 SolrJ是什么 2 SolrJ对索引的CRUD操作 2.1 创建Maven工程(打包方式选择为jar) 2.2 配置pom.xml文件, 加入SolrJ的依赖 2.3 添加和修改索引 2. ...

  9. 我与solr(四)--solrJ

    SolrJ索引库: solr提供的一个客户端操作框架,在文件/solr6.2/dist下面可以找到该jar包solrj.jar以及相关jar包,可以使用maven添加. java使用solrJ如下: ...

  10. 【Solr专题之九】SolrJ教程

    一.SolrJ基础 1.相关资料 API:http://lucene.apache.org/solr/4_9_0/solr-solrj/ apache_solr_ref_guide_4.9.pdf:C ...

随机推荐

  1. NOIP2012疫情控制(二分答案+树上贪心)

    H 国有n个城市,这 n个城市用n-1条双向道路相互连通构成一棵树,1号城市是首都,也是树中的根节点. H国的首都爆发了一种危害性极高的传染病.当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示 ...

  2. Testlink解决大用例导入问题

    最近公司同事需要将别的testlink的用例迁移过来,由于现在新的服务器也在使用,不能使用数据库导入的办法,只能用xml文件进行导入,不过在导入的时候出现了个没遇到的问题,报错文件太大,无法上传. 解 ...

  3. js click 与 onclick 事件绑定,触发与解绑

    click 与 onclick 1.onclick 事件会在对象被点击时发生. <input id="btn1" type="button" onclic ...

  4. 扩展方法、委托和Lambda

    举例演化Lambda string[] names ={"Burke", "Connor", "Frank", "Everett& ...

  5. semantic ui框架学习笔记三

    网格系统 基本网格 <div class="ui grid"> <div class="column"></div> < ...

  6. VUE通过id从列表页跳转到相对的详情页

    新闻列表页面: 在这里我用a标签进行跳转,在vue里面可以这样写<router-link></router-link> 1 <router-link :to=" ...

  7. Unity 着色器基础知识

    一.着色器基础知识 着色器通过代码模拟物体表面发生的事情,其实就是GPU中运行的一段代码. 着色器的类型: 顶点着色器.片元着色器.无光照着色器.表面着色器.图像特效着色器.计算着色器. 坐标空间: ...

  8. Python之函数对象、函数嵌套、名称空间与作用域、闭包函数、装饰器

    目录 一 函数对象 二 函数的嵌套 三 名称空间和作用域 四 闭合函数 五 装饰器 一.函数对象 1.函数是第一类对象 #第一类对象的特性:# 可以被引用 # 可以当做参数传递 # 返回值是函数 # ...

  9. Mac 上有哪些比较有意思的小软件?

    文章素材来源:微博.新浪看点 收录于:风云社区(SCOEE)[提供mac软件下载] 更多专题,可关注小编[磨人的小妖精],查看我的文章,也可上[风云社区 SCOEE],查找和下载相关软件资源. (一) ...

  10. java虚拟机的内存模型

    一.为什么要了解java虚拟机的内存模型 java虚拟机作为java代码运行的平台,是java技术的基石.了解java虚拟机的内存模型也就变得十分必要.它能帮助我们更好的了解java代码的运行机制,更 ...