SolrJ查询语法怎么使用

53次阅读
没有评论

共计 2309 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章主要讲解了“SolrJ 查询语法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“SolrJ 查询语法怎么使用”吧!

//AND 并且
  SolrQuery params = new SolrQuery(name:apple AND manu:inc
   
  //OR 或者
  params.setQuery(name:apple OR manu:apache
  // 空格 等同于 OR
  params.setQuery(name:server manu:dell
   
  //params.setQuery(name:solr – manu:inc
  //params.setQuery(name:server + manu:dell
   
  // 查询 name 包含 solr apple
  params.setQuery(name:solr,apple
  //manu 不包含 inc
  params.setQuery(name:solr,apple NOT manu:inc
   
  //50 = price = 200
  params.setQuery(price:[50 TO 200]
  params.setQuery(popularity:[5 TO 6]
  //params.setQuery(price:[50 TO 200] – popularity:[5 TO 6]
  //params.setQuery(price:[50 TO 200] + popularity:[5 TO 6]
   
  //50 = price = 200 AND 5 = popularity = 6
  params.setQuery(price:[50 TO 200] AND popularity:[5 TO 6]
  params.setQuery(price:[50 TO 200] OR popularity:[5 TO 6]
   
  // 过滤器查询,可以提高性能 filter 类似多个条件组合,如 and
  //params.addFilterQuery(id:VA902B
  //params.addFilterQuery(price:[50 TO 200]
  //params.addFilterQuery(popularity:[* TO 5]
  //params.addFilterQuery(weight:*
  //0 popularity 6  没有等于
  //params.addFilterQuery(popularity:{0 TO 6}
   
  // 排序
  params.addSortField(id , ORDER.asc);
  // 分页:start 开始页,rows 每页显示记录条数
  //params.add(start , 0
  //params.add(rows , 200
  //params.setStart(0);
  //params.setRows(200);
   
  // 设置高亮
  params.setHighlight(true); // 开启高亮组件
  params.addHighlightField(name // 高亮字段
  params.setHighlightSimplePre(font color= red // 标记,高亮关键字前缀
  params.setHighlightSimplePost(/font // 后缀
  params.setHighlightSnippets(1);// 结果分片数,默认为 1
  params.setHighlightFragsize(1000);// 每个分片的最大长度,默认为 100
 
  // 分片信息
  params.setFacet(true)
  .setFacetMinCount(1)
  .setFacetLimit(5)// 段
  .addFacetField(name)// 分片字段
  .addFacetField(inStock
   
  //params.setQueryType(
   
  try {
  QueryResponse response = server.query(params);
   
  /*List Index indexs = response.getBeans(Index.class);
  for (int i = 0; i indexs.size(); i++) {
  fail(indexs.get(i));
  }*/
   
  // 输出查询结果集
  SolrDocumentList list = response.getResults();
  fail(query result nums: + list.getNumFound());
  for (int i = 0; i list.size(); i++) {
  fail(list.get(i));
  }
   
  // 输出分片信息
  List FacetField facets = response.getFacetFields();
  for (FacetField facet : facets) {
  fail(facet);
  List Count facetCounts = facet.getValues();
  for (FacetField.Count count : facetCounts) {
  System.out.println(count.getName() + : + count.getCount());
  }
  }
  } catch (SolrServerException e) {
  e.printStackTrace();
  }

感谢各位的阅读,以上就是“SolrJ 查询语法怎么使用”的内容了,经过本文的学习后,相信大家对 SolrJ 查询语法怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2309字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)