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

solr3.5 高亮显示

    博客分类:
  • solr
 
阅读更多

在全文检索的应用中必然要涉及到高亮显示,sorl对高亮进行封装,高亮的实现方式如下:

1: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>
 

这种配置方式比较大多数代码中设置封装性好很多。

 2:查询代码

 

SolrServer solr = new CommonsHttpSolrServer(“solrUrl”);
//查询对象
SolrQuery query = new SolrQuery();

//设置启用高亮,如果返回文本较长可加大setHighlightSnippets变量值比如设置为100.
query.setHighlight(true).setHighlightSnippets(3);

//设置合并
query.setParam("hl.mergeContiguous", "true");

//设置高亮字段

query.setParam("hl.fl", "content");

 
QueryResponse res = solr.query(query); 

ArrayList result = new ArrayList();

//获取高亮集合
Map<String,Map<String,List<String>>> hl = res.getHighlighting();
SolrDocumentList list = res.getResults(); 

//循环匹配高亮集合
for(SolrDocument sd : list){

if(hl.get(sd.getFieldValue("key")).get("content") != null){
  String temp = hl.get(sd.getFieldValue("key")).get("content").get(0);

System.out.println("高亮返回为:"  + tempc);
} 
}
 

需要注意高亮合并选项,如果不进行合并,hl返回list会被分段,对于单一多值字段content的检索不容易匹配。设置合并后取出高亮后的正文直接返回显示即可。

0
0
分享到:
评论
3 楼 youzhibing 2012-05-12  
网页快照怎么弄出来了
2 楼 peigang 2012-05-08  
youzhibing 写道
WeiboStatus这个类在那个jar文件中

根据实际业务需要自定义的。
1 楼 youzhibing 2012-05-07  
WeiboStatus这个类在那个jar文件中

相关推荐

    solr 3.5 tomcat 整合可直接使用

    Solr是一个基于Apache Lucene的开源搜索平台,提供了高效、可扩展的全文检索、命中高亮、拼写检查、分类、 faceting等功能。而Tomcat则是一个流行的轻量级应用服务器,广泛用于部署Java Web应用程序。 **Solr 3.5...

    solr3.5配置

    4. **结果高亮**:突出显示匹配搜索关键字的部分,提升用户体验。 5. **复制索引**:通过索引复制功能确保高可用性和容错性。 6. **强大的数据模式**:Data Schema 定义字段、类型和文本分析,便于管理和优化搜索。 ...

    solr3.5配置及应用

    - **核心特性**:Solr具备高效的缓存机制、灵活的垂直搜索能力、高亮搜索结果、通过索引复制增强系统可用性、强大的数据模式定义以及用户友好的Web管理界面等。 #### 二、Solr 3.5的下载与安装 - **下载地址**: ...

    solr3.5配置及应用[借鉴].pdf

    总的来说,Solr 3.5的配置和应用涉及到多个层面,包括服务器的搭建、Solr核心组件的配置、分词器的集成以及Schema的定制。这些步骤对于实现一个高效、功能丰富的全文搜索引擎至关重要。通过熟练掌握这些知识,开发者...

    solr_3.5_配置及应用

    3. **高亮显示**:搜索结果中的匹配词可以被高亮,帮助用户快速定位到相关部分。 4. ** faceted search(面式搜索)**:Solr 提供了强大的分类浏览功能,用户可以基于某个属性进行筛选,如品牌、价格区间等。 5. *...

    apache-solr-3.5.0.jar

    1. `apache-solr-core-3.5.0.jar`: 这是Solr的核心库,包含了实现全文索引、查询、排序和结果高亮等功能的基础代码。其中,Solr服务器的核心功能如索引存储、查询处理、请求处理器和响应生成器都封装在这个JAR文件里...

    apache-solr-3.5.0.tgz

    7. **高亮显示**:Solr能够对搜索结果中的关键词进行高亮,提高用户体验。 8. ** faceting(聚类)**:Solr的分类功能可以帮助用户按类别浏览结果,提供多维度的统计信息。 9. **实时索引**:Solr支持实时添加、...

    solr开发应用教程

    3. 高亮显示:Solr可以高亮显示查询关键词在结果中的位置,便于用户快速定位。 4. 断词建议:提供拼写纠错和自动补全功能,增强用户体验。 5. 近似搜索:通过模糊匹配,找到与输入关键词相似的搜索结果。 6. 聚类和...

    solr_lucene3.5_lukeall-3.5.0.jar.zip

    标题中的"solr_lucene3.5_lukeall-3.5.0.jar.zip" 提供了关于这个压缩包的基本信息。它包含了Solr和Lucene的特定版本——3.5.0,以及一个名为"lukeall"的工具。"Luke"在Lucene和Solr的上下文中是一个非常有用的工具...

    非常经典的solr教程

    本教程将引导你了解如何搭建 Solr 3.5 实例并进行基本配置。 首先,确保你已经在机器上安装了 Tomcat 6.0、JDK 1.7 和 MySQL 5.0。这些是运行 Solr 所必需的环境。然后,你可以从 Apache 官方网站下载 Solr 3.5 ...

    solr资料以及问题汇总

    全 文检索是Solr的主要功能,包括字段匹配、模糊搜索、高亮显示等,搭建过程涉及Solr的安装、配置、数据导入和搜索接口的使用。 "Solr 使用入门介绍,以搜索论坛帖子为示例 - Bory_Chan.mht"提供了Solr的基础教程,...

    SOLR的应用教程

    3.6.5 Solr高亮使用 **四、SolrJ的用法** SolrJ是Solr的Java客户端库,用于与Solr服务器通信。 4.1 搜索接口的调用实例 4.2 Solrj的使用说明 4.2.1 Adding Data to Solr 4.2.2 Directly adding POJOs to Solr 4.2.3...

    solr教材-PDF版

    - **3.6.5 Solr高亮使用**:指导如何在搜索结果中突出显示关键词。 #### 四、SolrJ的用法 **4.1 搜索接口的调用实例** - 展示如何使用SolrJ进行搜索请求,并处理返回的结果。 **4.2 Solrj的使用说明** - **...

    lucene3.5学习笔记

    - 对搜索结果中的关键词进行高亮显示。 - 支持自定义高亮样式。 **4.4 分词器** - **IKAnalyzer**: 支持中文分词。 - **MMSEGAnalyzer**: 另一种常用的中文分词器。 --- #### 五、Solr 3.5 相关用法 **5.1 Solr...

    apache-solr-3.5.0.zip

    - **高亮显示**:能够突出显示查询词在搜索结果中的位置。 - **排序和评分**:可以根据相关性、日期或其他自定义字段对结果进行排序。 - **实时索引**:Solr支持近乎实时的索引更新,确保搜索结果的即时性。 - **...

    开源企业搜索引擎SOLR的 应用教程

    使用Solr的高亮功能可以在搜索结果中突出显示匹配的关键词。 #### 四、SolrJ的用法 **4.1 搜索接口的调用实例** 示例代码展示如何使用SolrJ API执行搜索操作。 **4.2 Solrj的使用说明** - **4.2.1 ...

    开源企业搜索引擎SOLR的应用教程

    - **3.6.5 Solr高亮使用**:在搜索结果中突出显示匹配关键词的部分,增强用户体验。 #### 四、SolrJ的用法 **4.1 搜索接口的调用实例** 示例代码展示了如何使用SolrJ发送搜索请求并获取结果。 **4.2 Solrj的...

Global site tag (gtag.js) - Google Analytics