新建一个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. hdu 3746 Cyclic Nacklace(kmp最小循环节)

    Problem Description CC always becomes very depressed at the end of this month, he has checked his cr ...

  2. docker 使用指南

    Compose is a tool for defining and running multi-container Docker applications. With Compose, you us ...

  3. Manjaro下Steam无法启动

    问题描述 直接在桌面环境运行Steam,不会出现任何反应,甚至没有闪过一个对话框. 在终端中运行Sterm,出现以下提示 Repairing installation, linking /home/z ...

  4. 【洛谷P3901】数列找不同

    题目大意:给定一个长度为 N 的序列,每个点被染了一个颜色.现有 M 个询问,每个询问查询区间 [l,r] 内的点是否颜色都是不同的. 题解:莫队裸题. 直接维护区间颜色数,用 cnt[] 记录下区间 ...

  5. Vue+koa2开发一款全栈小程序(4.Koa入门)

    1.Koa是什么? 基于nodejs平台的下一代web开发框架 1.Express原班人马打造,更精简 2.Async+await处理异步 3.洋葱圈型的中间件机制 新建一个koa项目 1.打开cmd ...

  6. 第十八篇-Spinner下拉列表的使用

    效果图 MainActivity.java package com.example.aimee.spinnertest; import android.support.v7.app.AppCompat ...

  7. 在django中使用Redis存取session

    一.Redis的配置 1.django的缓存配置 # redis在django中的配置 CACHES = { "default": { "BACKEND": & ...

  8. springmvc启动问题

    1.resource项目 freemarker.template.TemplateNotFoundException: Template not found for name "index/ ...

  9. 1、CC2530单片机介绍

    单片机是一种集成电路芯片,包含中央处理器CPU.随机存储器RAM.只读存储器ROM.输入输出I/O接口.中断控制系统.定时/计数器和通信等多种功能部件. 本教程使用的单片机德州仪器生产的CC2530, ...

  10. Luogu P4551 最长异或路径

    题目链接 \(Click\) \(Here\) \(01Trie\)好题裸题. 取节点\(1\)为根节点,向下扫每一个点从根节点到它路径上的异或和,我们可以得到一个\(sumx[u]\). 现在路径异 ...