1、首先导入solrj需要的的架包
2、需要注意的是低版本是solr是使用SolrServer进行URL实例的,5.0之后已经使用SolrClient替代这个类了,在添加之后首先我们需要根据schema.xml配置一下我们的分词器
这里的msg_all还需要在schema.xml中配置
它的主要作用是将msg_title,msg_content两个域的值拷贝到msg_all域中,我们在搜索的时候可以只搜索这个msg_all域就可以了,
solr默认搜索需要带上域,比如
solr更改默认搜索域的地方也在schema.xml,它默认是搜索text域的,但是5.0之后不在这里配置默认搜索域了,它的文档也告诉我们,在solrconfig.xml中配置
在solrconfig.xml中配置默认搜素域,这样我们就可以按照我们自己的域进行搜索了
配置好以上,就可以使用代码进行CURD
private final static String URL="http://localhost:8080/solr/java";
public SolrClient server=null;
@Before
public void init() throws Exception{
server=new HttpSolrClient(URL);
}
删除所有分词
//删除所有分词
@Test
public void testDel() throws Exception{
server.deleteByQuery("*:*");
server.commit();//先删除 基于query的删除 会删除所有建立的索引文件
}
增加分词
@Test
public void testAdd() throws Exception{
SolrInputDocument doc=new SolrInputDocument();
doc.addField("id", "3");
doc.addField("msg_title", "新浪微博");
doc.addField("msg_content", "我有一个微博帐号名字叫做什么呢?");
server.add(doc);
server.commit();
}
基于Bean增加分词
@Test
public void test03() throws Exception{
List<Message> msgs=new ArrayList<Message>();
msgs.add(new Message("4", "第四个测试solr测试文件", new String[]{"中华人民共和国万岁","中华上下五千年那年"}));
msgs.add(new Message("5", "第5个好朋友是什么意思呢?", new String[]{"上海是个好地方","歌唱我们亲爱的祖国曾经走过千山万水"}));
server.addBeans(msgs);
server.commit();
}
查询结果
@Test
public void test04() throws Exception{
//定义查询内容 * 代表查询所有 这个是基于结果集
SolrQuery query = new SolrQuery("solr");
query.setStart(0);//起始页
query.setRows(3);//每页显示数量
QueryResponse rsp = server.query( query );
SolrDocumentList results = rsp.getResults();
System.out.println(results.getNumFound());//查询总条数
for(SolrDocument doc:results){
System.out.println(doc);
}
}
将查询结果集封装为对象Bean
@Test
public void test05() throws Exception{
SolrQuery query = new SolrQuery("中华");// * 号 是查询 所有的数据
QueryResponse rsp = server.query( query );
List<Message> beans = rsp.getBeans(Message.class);//这个不能获取查询的总数了 也不能高亮
for(Message message:beans){
System.out.println(message.toString());
}
}
将结果集高亮显示
@Test
public void test06() throws Exception{
//定义查询内容 * 代表查询所有 这个是基于结果集
SolrQuery query = new SolrQuery("solr");
query.setStart(0);//起始页
query.setRows(5);//每页显示数量
query.setParam("hl.fl", "msg_title,msg_content");//设置哪些字段域会高亮显示
query.setHighlight(true).setHighlightSimplePre("<span class='hight'>")
.setHighlightSimplePost("</span>");
QueryResponse rsp = server.query( query );
SolrDocumentList results = rsp.getResults();
System.out.println(results.getNumFound());//查询总条数
for(SolrDocument doc:results){
String id = (String) doc.getFieldValue("id"); //id is the uniqueKey field
if(rsp.getHighlighting().get(id)!=null){
//高亮必须要求存储 不存储的话 没法添加高亮
System.out.println(rsp.getHighlighting().get(id).get("msg_title"));
}
}
}
ok,solr的基本使用就完成了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java整合solr
# solr
# java
# 开发
# java操作solr实现查询功能的实例
# solr在java中的使用实例代码
# java多线程处理执行solr创建索引示例
# maven项目下solr和spring的整合配置详解
# Ubuntu16.04安装部署solr7的图文详细教程
# linux下安装solr的教程详解
# SpringBoot整合Redis、ApachSolr和SpringSession的示例
# 启动Solr提示Java版本低问题解决方案
# 就可以
# 每页
# 中华
# 查询结果
# 条数
# 自己的
# 的是
# 是个
# 是基于
# 起始页
# 也在
# 要在
# 好朋友
# 帐号
# 告诉我们
# 什么呢
# 千山万水
# 那年
# 还需
# 中华人民共和国
相关文章:
定制建站策划方案_专业建站与网站建设方案一站式指南
h5网站制作工具有哪些,h5页面制作工具有哪些?
如何快速搭建响应式可视化网站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
公司网站的制作公司,企业网站制作基本流程有哪些?
h5在线制作网站电脑版下载,h5网页制作软件?
实现虚拟支付需哪些建站技术支撑?
家庭服务器如何搭建个人网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
建站之星如何快速解决建站难题?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
南宁网站建设制作定制,南宁网站建设可以定制吗?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
如何通过NAT技术实现内网高效建站?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何选择适合PHP云建站的开源框架?
制作网站公司那家好,网络公司是做什么的?
网站制作服务平台,有什么网站可以发布本地服务信息?
已有域名如何快速搭建专属网站?
深圳网站制作的公司有哪些,dido官方网站?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
如何通过云梦建站系统实现SEO快速优化?
建站之星价格显示格式升级,你的预算足够吗?
如何快速查询域名建站关键信息?
开封网站制作公司,网络用语开封是什么意思?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
Python lxml的etree和ElementTree有什么区别
如何基于云服务器快速搭建个人网站?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
如何在腾讯云服务器上快速搭建个人网站?
如何快速重置建站主机并恢复默认配置?
如何通过西部建站助手安装IIS服务器?
建站168自助建站系统:快速模板定制与SEO优化指南
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
建站之星云端配置指南:模板选择与SEO优化一键生成
python的本地网站制作,如何创建本地站点?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
网页设计网站制作软件,microsoft office哪个可以创建网页?
建站之星官网登录失败?如何快速解决?
高防服务器租用如何选择配置与防御等级?
如何选择PHP开源工具快速搭建网站?
网站制作员失业,怎样查看自己网站的注册者?
网站网页制作专业公司,怎样制作自己的网页?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
*请认真填写需求信息,我们会在24小时内与您取得联系。