<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美元)
    主站蜘蛛池模板: 久久精品国产亚洲AV久| 日韩精品无码免费专区网站| 久久99热精品免费观看牛牛| 中文字幕亚洲第一| 免费看无码特级毛片| 亚洲中文字幕无码爆乳AV| 亚洲婷婷综合色高清在线| 精品熟女少妇av免费久久| 91亚洲精品麻豆| 四虎影院免费视频| 国产成人亚洲综合无| 久久久久亚洲av成人无码电影| 中文字幕乱理片免费完整的| 成人免费视频一区| 亚洲精品av无码喷奶水糖心| 免费99热在线观看| 亚洲愉拍一区二区三区| 日本卡1卡2卡三卡免费| 亚洲Av无码乱码在线znlu| 福利免费在线观看| 亚洲综合网美国十次| 抽搐一进一出gif免费视频| 亚洲av激情无码专区在线播放| 国产亚洲精品国产福利在线观看| 亚洲成A∨人片天堂网无码| 中文字幕无码毛片免费看| 又粗又硬免费毛片| 国产精品免费观看调教网| 亚洲人配人种jizz| 一二三四免费观看在线电影 | 久久久久一级精品亚洲国产成人综合AV区| 又粗又长又爽又长黄免费视频 | 亚洲大片免费观看| 拍拍拍又黄又爽无挡视频免费| 亚洲AV日韩AV永久无码色欲| 精品国产人成亚洲区| 24小时免费直播在线观看| 亚洲中文字幕无码av在线| 免费人妻无码不卡中文字幕18禁| 暖暖日本免费中文字幕| 亚洲AV无码专区在线电影成人|