<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顯示查詢結(jié)果

    Posted on 2010-12-22 17:46 asdtiang 閱讀(738) 評論(0)  編輯  收藏 所屬分類: grails study
    查不到中文的結(jié)果,所以這里記一下
    以前用lucene時,還比較好控制,用searchable還不太適應(yīng)。
    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>
    查詢結(jié)果示例,直接輸出的searchResults

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


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

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

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



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

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

    Copyright © asdtiang

    asdtiang的博客 PaidMailz
    點擊廣告網(wǎng)賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
    主站蜘蛛池模板: 亚洲麻豆精品果冻传媒| 一区二区三区亚洲| 国产亚洲精品2021自在线| 四虎在线免费播放| 在线精品亚洲一区二区| 无码人妻一区二区三区免费手机 | 亚洲伊人久久大香线蕉综合图片| 美女视频黄a视频全免费网站色| 国产免费人成在线视频| 污网站免费在线观看| 亚洲人成无码网站久久99热国产| 四虎影视久久久免费观看| 亚洲无码视频在线| 日韩人妻一区二区三区免费| 亚洲激情视频网站| 国产精品视频永久免费播放| 亚洲av无一区二区三区| 亚洲av无码专区在线观看素人| 久久er国产精品免费观看8| 亚洲国产一区国产亚洲| 插B内射18免费视频| 黄色大片免费网站| 亚洲第一区香蕉_国产a| 在线观看AV片永久免费| 日韩精品无码永久免费网站| 亚洲爆乳无码一区二区三区| 99久久久国产精品免费无卡顿| 亚洲精品V天堂中文字幕| 最新国产AV无码专区亚洲| 免费无码成人AV在线播放不卡| 亚洲区视频在线观看| 国产精品自在自线免费观看| 久久国产精品免费一区| 亚洲白嫩在线观看| 亚洲成a人片在线观看老师| 久久国产精品萌白酱免费| 亚洲成av人片在线天堂无| 久久精品7亚洲午夜a| 青草草在线视频永久免费| 国产成人综合亚洲AV第一页 | 无码不卡亚洲成?人片|