<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    asdtiang的博客 感謝blogjava提供的博客交流平臺

    grails searchable highlight顯示查詢結果

    Posted on 2010-12-22 17:46 asdtiang 閱讀(738) 評論(0)  編輯  收藏 所屬分類: grails study
    查不到中文的結果,所以這里記一下
    以前用lucene時,還比較好控制,用searchable還不太適應。
    def index = {
            
    if (!params.q?.trim()) {
                
    return [:]
            }

            
    try {
                params.withHighlighter
    = songHighlighter
                
    return [searchResult: searchableService.search(params.q, params)]
            }
     catch (SearchEngineQueryParseException ex) {
                
    return [parseException: true]
            }

        }

      
    // This closure does the per-hit highlighting
    // sr is the actual Map returned by search, so use that for storage
       def songHighlighter = { highlighter, index, sr ->
        
    // lazy-init the storage
        if (!sr.highlights) {
            sr.highlights 
    = []
        }
       
        
    //content為domain的屬性
        sr.highlights[index] = highlighter.fragment("content")   
       }
    // Do the search, passing he highlighter option

    頁面更改:
     <g:each var="result" in="${searchResult.results}" status="index">
              
    <div class="result">
                
    <g:set var="className" value="${ClassUtils.getShortName(result.getClass())}" />
                
    <g:set var="link" value="${createLink(controller: className[0].toLowerCase() + className[1..-1], action: 'show', id: result.id)}" />
                
    <div class="name"><href="${link}">${result.title}</a></div>

                
    <div class="desc">${searchResult.highlights[index]}</div>
                
    <div class="displayLink">${link}</div>
              
    </div>
            
    </g:each>
    查詢結果示例,直接輸出的searchResults

    {total=3, hits=org.compass.core.impl.DefaultCompassDetachedHits@4eb331, max=10, scores=[0.34462962, 0.34462962, 0.19071755], results=[asdf, asdf, 中國(拼音:Zhōngguó),是中華人民共和國的簡稱。古代華夏族建國于黃河流域一帶,以為居天下之中,故稱。還有一種解釋古代中國人認為天圓地方,中國位于正中,故稱中國,后成為專稱。清朝,作為官方正式稱呼,現代主要指中華人民共和國(英譯為:The People's Republic of China,簡稱China)。 陸地面積960萬平方千米,東部和南部大陸海岸線1.8萬多千米,內海和邊海的水域面積約470多萬平方千米。海域分布有大小島嶼7600個。首都北京。中國具有五千年的文明史,是世界四大文明古國之一。因其文化傳播的廣泛性、獨特性和成熟性而對周邊國家和民族的文化產生深遠影響,同時不斷吸收各個民族的文明成果,是世界上少數最早產生文明并延續(xù)至今的國家之一。 ], offset=0, highlights=[null, null, 國(拼音:Zhōngguó),是華人民共和國的簡稱。古代華夏族建國于黃河流域一帶,以為居天下之,故稱。還有一種解釋古代國人認為天圓地方,國位于正,故稱國,后成為專稱。清朝,作為官方正式]}


    查詢結果高亮顯示css為b,
    只要在css里加上b{color : red;},就顯示為紅色了。

    從結果可以看出,要了highlights就沒有必要要results,信息重復,但each里用了,要下班了,明天研究下吧

    剛到公司,想起來了,當時在domain類下重寫了toString()方法,不重寫results里就沒有那么多內容了。



    天蒼蒼,野茫茫,風吹草底見牛羊

    posts - 80, comments - 24, trackbacks - 0, articles - 32

    Copyright © asdtiang

    asdtiang的博客 PaidMailz
    點擊廣告網賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
    主站蜘蛛池模板: 亚洲国产综合91精品麻豆| 毛片免费vip会员在线看| 国产精品极品美女自在线观看免费| 亚洲AV无码一区二区大桥未久| 亚洲综合成人婷婷五月网址| 亚洲人成在线精品| 国产色在线|亚洲| 亚洲中文无码亚洲人成影院| 亚洲色大18成人网站WWW在线播放| 亚洲欧美日韩自偷自拍| 亚洲欧美自偷自拍另类视| 久久亚洲精品无码gv| 青娱乐在线视频免费观看| 老妇激情毛片免费| 在线播放免费人成视频网站| 国产免费久久精品丫丫| 免费91麻豆精品国产自产在线观看 | 免费国产美女爽到喷出水来视频| 免费va在线观看| 国产成人精品日本亚洲专区| 亚洲一区二区三区影院| 亚洲黄色一级毛片| 自拍日韩亚洲一区在线| 韩国亚洲伊人久久综合影院| 四虎影视在线看免费观看| 全黄大全大色全免费大片| 久久久久久毛片免费播放| 国产福利在线免费| 免费播放特黄特色毛片| 亚洲国产美女精品久久久久∴| 亚洲日本中文字幕区| 中文字幕精品三区无码亚洲| 香蕉视频免费在线| 四虎国产成人永久精品免费| 中文字幕av无码无卡免费| 免费人成在线观看播放国产| 国产AV无码专区亚洲A∨毛片| 亚洲av无码一区二区三区天堂古代| 久久亚洲中文字幕无码| 日本在线看片免费| 免费看AV毛片一区二区三区|