`
peigang
  • 浏览: 167371 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

solr3.5 查询排序

    博客分类:
  • solr
 
阅读更多

使全文检索查询数据经常要涉及到排序和条件查询,下面简单介绍常用的排序和查询方式。

 

SolrServer solr = SolrUtil.getSolrServer();

//获取查询对象
SolrQuery query = new SolrQuery();

//设置查询关键字

query.setQuery("content:程序员");
//设置查询返回的字段
query.setParam("fl", "createdAt,content");

//翻页设计参数:起始行,每行返回条数
query.setParam("start", "100");
query.setParam("rows", "10");

//字段排序
query.addSortField("createdAt", SolrQuery.ORDER.desc );

//时间条件查询

query.addFilterQuery("createdAt:[2011-01-01T00:00:01Z"+" TO 2013-01-01T00:00:01Z]");

//高亮显示
query.setHighlight(true).setHighlightSnippets(1);
 

 需要注意,如果需要对field进行排序就必须在schema.xml中对该field进行配置格式如下:

 

<field name="createdAt" type="pdate" stored="true" indexed="true" multiValued="false" required="true"/>
 

其中  indexed="true表示运行被检索, multiValued="false" 不存在多值,默认为“true” 多值,多值无法排序。

 高亮显示需要在solrconfig.xml中进行配置,修改为如下格式即可:

 

<formatter name="html" 
default="true"
class="solr.highlight.HtmlFormatter">
<lst name="defaults">
<str name="hl.simple.pre"><![CDATA[<font class='highlight'>]]></str>
<str name="hl.simple.post"><![CDATA[</font>]]></str>
</lst>
</formatter>

 

To be continue;

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics