4、solr与java结合(java与solr结合 学习篇(3))

(本人已把需要用到的所有工具、文件、jar包上传至百度网盘,有需要者可下载使用,
链接:https://pan.baidu.com/s/1G_L-h0PN2GAaPcreKuuhlg
提取码:qnwe )

3、连接mysql数据库
将MySQL的jar包复制到solr服务器中的lib下:
4、solr与java结合(java与solr结合 学习篇(3))
在新建的testsolr服务中的conf下新建data-config.xml文件(自己创建)
4、solr与java结合(java与solr结合 学习篇(3))
并将下面的代码添加到里面:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20181112104204614.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpUWlhbmdRaWFuZ0lU,size_16,color_FFFFFF,t_70)

在managed-schema中添加域索引,即添加如下代码:


此处的name与刚才创建的data-config.xml文件中的name保持一致,type:表示该列在数据库中的数据类型,
注:varchar:string int:int float:pfloat double:pdouble
4、solr与java结合(java与solr结合 学习篇(3))
将D:\study\solr_lx\solr-7.5.0\dist下的如下两个jar包复制到solr服务器的lib下
4、solr与java结合(java与solr结合 学习篇(3))
复制到:
4、solr与java结合(java与solr结合 学习篇(3))
配置自己创建的solr服务器下conf中的solrconfig.xml件
添加如下代码:


data-config.xml

4、solr与java结合(java与solr结合 学习篇(3))

重启solr服务,验证数据库是否连接成功!
输入solr –restart –p 8983
4、solr与java结合(java与solr结合 学习篇(3))

刷新界面:
1、点击dataimport 2、选择dataimport
3、command类型默认为funll-import
4、点击execute
5、点击refresh-status刷新(也可选择复选框auto-refresh-status自动刷新)

4、solr与java结合(java与solr结合 学习篇(3))

点击Query,点击Execute Query右边如果出现数据,则表示solr服务搭建成功!
4、solr与java结合(java与solr结合 学习篇(3))

界面查询基本语句:
1、q: p_name:花儿 //根据输入查询 “:” //查询所有

2、fq过滤:按条件查询

p_price:[0 TO 100] //p_price<=100

+ - && || ! ( ) { } [ ] ^ " ~ * ? : /

3、solt 排序:p_price desc/asc (空格)

4、start:从第几条开始

rows:查多少条 //分页

5、fl 根据输入的字段,查询指定字段数据,返回该字段的所有数据 p_name,p_type

6、hl 高亮状态

hl.fl:要高亮的属性名

hl.simple.pre:

hl.simple.post:
4、solr与java结合
我这里用的是MyEclipse创建的web project项目
导入基础包:
4、solr与java结合(java与solr结合 学习篇(3))
代码如下:
package com.oracle.test;

import java.io.IOException;
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.Builder;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;

public class Test {
public static void main(String[] args) throws SolrServerException, IOException {
//构建solr客户端
Builder builder=new Builder(“http://localhost:8983/solr/newsolr”);
SolrClient solrClient=builder.build();
//创建查询条件
// SolrQuery query=new SolrQuery(":");//查所有
SolrQuery query=new SolrQuery(“p_name:花儿”);
//分页
//query.setStart(0);
//query.setRows(100);
//QueryResponse resp=solrClient.query(query,SolrRequest.METHOD.POST);
QueryResponse resp=solrClient.query(query);
//执行查询并放回response对象
SolrDocumentList documentList=resp.getResults();
System.out.println(documentList.size());//查询总数量
for (SolrDocument solrDocument : documentList) {
String name=(String) solrDocument.getFieldValue(“p_name”);
System.out.println(“name:”+name);
}
}
}

结果如下:

4、solr与java结合(java与solr结合 学习篇(3))