java-solr solrj的使用
新建一个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的使用的更多相关文章
- Solr JAVA客户端SolrJ 4.9使用示例教程
http://my.oschina.net/cloudcoder/blog/305024 简介 SolrJ是操作Solr的JAVA客户端,它提供了增加.修改.删除.查询Solr索引的JAVA接口.So ...
- [solr] - SolrJ增删查
使用SolrJ进行对Solr的增.删.查功能. 参考引用: http://wiki.apache.org/solr/Solrj Eclipse中新建一个项目:TestSolr 其中SorlJ的Lib包 ...
- Solr JAVA客户端SolrJ的使用
一.Solrj简介 SolrJ是操作Solr的JAVA客户端,它提供了增加.修改.删除.查询Solr索引的JAVA接口.SolrJ针对 Solr提供了Rest 的HTTP接口进行了封装, SolrJ底 ...
- Java solr 分词
代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClient ...
- Java solr 索引数据增删改查
具体代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClie ...
- [Java] Solr & Elasticsearch
背景 实现网站自带的搜索功能,如淘宝中的商品搜索 全文搜索 数据分类 结构化数据:固定格式或长度有限的数据,如数据库.元数据等 非结构化数据:不定长或无固定格式的数据,如邮件.word文档等 搜索分类 ...
- solr/solrj原子更新
lucene原子更新自己不用多介绍,但solr它的包装,下面是一个简单的介绍是:这个操作是用于索引非常有用. 详细在代码中使用例如以下: /** * 原子更新方式 * */ public static ...
- Solr 09 - SolrJ操作Solr单机服务 (Solr的Java API)
目录 1 SolrJ是什么 2 SolrJ对索引的CRUD操作 2.1 创建Maven工程(打包方式选择为jar) 2.2 配置pom.xml文件, 加入SolrJ的依赖 2.3 添加和修改索引 2. ...
- 我与solr(四)--solrJ
SolrJ索引库: solr提供的一个客户端操作框架,在文件/solr6.2/dist下面可以找到该jar包solrj.jar以及相关jar包,可以使用maven添加. java使用solrJ如下: ...
- 【Solr专题之九】SolrJ教程
一.SolrJ基础 1.相关资料 API:http://lucene.apache.org/solr/4_9_0/solr-solrj/ apache_solr_ref_guide_4.9.pdf:C ...
随机推荐
- 源码分析-AutoCloseable
AutoCloseable 该接口用于try-with-resources语法糖提供支持,用于自动关闭资源作用 类型:接口 方法:close(); 详解: close():用于自动关闭资源的时候需要进 ...
- Ubuntu18.04 下的Gif录制工具
正文: 开源地址:https://github.com/phw/peek Linux包相关的知识如果不知道可以看以前讲的:https://www.cnblogs.com/dunitian/p/9095 ...
- hihocoder--1384 -- Genius ACM (倍增 归并)
题目链接 1384 -- Genius ACM 给定一个整数 m,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 m 对数(即 2*M 个数,不能重复使用集合中的数,如果 S 中的整 ...
- Java,mysql String与date类型转换
String 与 date类型转换 字符串转换成日期类型: SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小写 ...
- eureka集群基于DNS配置方式
https://www.cnblogs.com/relinson/p/eureka_ha_use_dns.html 最近在研究spring cloud eureka集群配置的时候碰到问题:多台eu ...
- A1137. Final Grading
For a student taking the online course "Data Structures" on China University MOOC (http:// ...
- A1111. Online Map
Input our current position and a destination, an online map can recommend several paths. Now your jo ...
- 网页HTML代码在线运行器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js弹出层
js弹出层 1.div附近显示 <div id="message"></div> $().delay().hide(); 2.遮罩层 表单提交后遮住页面,等 ...
- M1-day08-数据库加锁
一.关于数据库加锁主要分为几类 1.原生sql 1.开启事物 begin; select * from host for update; commit; 注意:INNODB支持表锁和行锁,MyISAM ...