(本人已把需要用到的所有工具、文件、jar包上传至百度网盘,有需要者可下载使用,
链接:https://pan.baidu.com/s/1G_L-h0PN2GAaPcreKuuhlg
提取码:qnwe )
3、连接mysql数据库
将MySQL的jar包复制到solr服务器中的lib下:
在新建的testsolr服务中的conf下新建data-config.xml文件(自己创建)
并将下面的代码添加到里面:
在managed-schema中添加域索引,即添加如下代码:
此处的name与刚才创建的data-config.xml文件中的name保持一致,type:表示该列在数据库中的数据类型,
注:varchar:string int:int float:pfloat double:pdouble
将D:\study\solr_lx\solr-7.5.0\dist下的如下两个jar包复制到solr服务器的lib下
复制到:
配置自己创建的solr服务器下conf中的solrconfig.xml件
添加如下代码:
data-config.xml
重启solr服务,验证数据库是否连接成功!
输入solr –restart –p 8983
刷新界面:
1、点击dataimport 2、选择dataimport
3、command类型默认为funll-import
4、点击execute
5、点击refresh-status刷新(也可选择复选框auto-refresh-status自动刷新)
点击Query,点击Execute Query右边如果出现数据,则表示solr服务搭建成功!
界面查询基本语句:
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项目
导入基础包:
代码如下:
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);
}
}
}
结果如下: