solr笔记之二

solrj的基本使用

环境准备
新建一个java工程,然后添加如下jar包
Alt text

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//远程连接的solr服务器地址
private static final String URL="http://111.230.246.33:8080/solr";
public void search()throws Exception{
//solr服务
SolrServer solr=new HttpSolrServer(URL);
//查询对象
SolrQuery query=new SolrQuery();
//设置查询条件,名称“q”是固定的且必须的
query.set("q", "title:zwl");
// 请求查询
QueryResponse res=solr.query(query);
// 查询结果
SolrDocumentList list=res.getResults();
// 查询文档总数
long num=list.getNumFound();
System.out.println(num);
for(SolrDocument sd :list){
String id=(String)sd.get("id");
//String title=(String)sd.get("title");
System.out.println(id);
// System.out.println(title);
}
}
public void del()throws Exception{
SolrServer solr=new HttpSolrServer(URL);
solr.deleteById("5");
solr.commit();
}
public void add() throws Exception{
//实例化solr对象
SolrServer solr=new HttpSolrServer(URL);
SolrInputDocument doc1=new SolrInputDocument();
doc1.setField("id", "5");
doc1.setField("title", "dx");
solr.add(doc1);
solr.commit();
}

注意:以上的索引都是在配置文件中已声明了,如:


type可以为具体类型,也可以为一个分词器

查询语法

  1. q - 查询字符串,必须的,如果查询所有使用:
  2. fq - (filter
    query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如product_price:[1 TO 20]
    过滤查询价格从1到20的记录
    3.sort - 排序,格式:sort=+[,+]…
    如 product_price desc 按价格降序排序
  3. start - 分页显示使用,开始记录下标,从0开始
  4. rows - 指定返回结果最多有多少条记录,配合start来实现分页。
  5. fl - 指定返回那些字段内容,用逗号或空格分隔多个
    7.df-指定一个搜索Field
  6. wt - (writer type)指定输出格式,可以有xml, json, php, phps, 后面solr
    1.3增加的,要用通知我们,因为默认没有打开。
  7. hl 是否高亮,设置高亮Field,设置格式前缀和后缀。
    10 组合查询:使用and or等等

热评文章