Sep 07
转载请注明: 作者: somebody(莫多) 出处:http://jdkcn.com/entry/the-better-revolution-about-the-compass-lucene-highlight.html       前面两篇文章介绍了搜索高亮的实现,以及html代码问题的解决。《 给Compass搜索添加高亮(highlight) 》《 解决Compass,Lucene高亮的问题 》      其实对于很多html的内容,我们关心的其实只是html格式代码之外的文字内容。搜索出来也应该是其中的内容,前面的一个解决方法只是在搜索结果里面去处了高亮内容中的html格式代码,这样不会弄乱你的搜索结果页面。这几天仔细看了一下compass的文档和代码,其实我们可以彻底的解决这个问题。我们需要在索引的时候,转换一下,去掉html代码就可以了。           compass为我们封装了很多Resource...

[more..]

Sep 04
 前面介绍了《 给Compass搜索添加高亮(highlight) 》,不过就是有点问题。索引的内容很多都是html格式的,比如myblog里文章的内容,highlight出来的内容是包括了html代码,所以直接输出highlight的内容的话一些没有关闭的标签,不匹配的标签都会把你的页面撑乱,或者变成其他样式了。     我们就来处理一下这个问题,我选择的方法是highlight之后把highlight的内容先替换成特殊的内容,然后去掉html代码,然后在将高亮内容替换回去。   我包装了一下原来的CompassHit: /**  * @author <a href="mailto:rory.cn@gmail.com">somebody</a>  * @since Sep 1, 2007 10:20:49 PM  * @version $Id CompassHitWapper.java$  */ public class...

[more..]

Aug 24
 在myblog 1.5 P1版中我加入了Compass搜索的高亮支持。我参考了springside的代码实现了高亮,其实也是很简单的。在原来的searchController里面用的是默认的CompassSearchHelper来搜索的。         if (searchHelper == null) {             searchHelper = new CompassSearchHelper(getCompass(), getPageSize());         }         CompassSearchCommand searchCommand = new CompassSearchCommand();    ...

[more..]

Aug 23
Compass是对lucene进行封装的java项目,使得在spring,hibernate这种环境下非常容易的实现全文检索,也极大的提高了效率。所以在myblog里面我也使用了compass作为全文索引。 从Compass的samples里面的petclinic里面可以找到Compass的配置。     <bean id="compass" class="org.compass.spring.LocalCompassBean">         <property name="resourceLocations">             <list>             &...

[more..]