<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 閱讀(747) 評論(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個。首都北京。中國具有五千年的文明史,是世界四大文明古國之一。因其文化傳播的廣泛性、獨特性和成熟性而對周邊國家和民族的文化產生深遠影響,同時不斷吸收各個民族的文明成果,是世界上少數最早產生文明并延續至今的國家之一。 ], 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无码一区二区一二区| 国产成人免费a在线视频色戒| 91情国产l精品国产亚洲区| 亚洲 欧洲 自拍 另类 校园| 久久国产精品免费观看| 日本阿v免费费视频完整版| 国产精品jizz在线观看免费| 亚洲最大中文字幕无码网站| 4hu四虎免费影院www| 狠狠色婷婷狠狠狠亚洲综合| 亚洲高清中文字幕| 18女人腿打开无遮掩免费| 91亚洲国产成人久久精品| 国色精品卡一卡2卡3卡4卡免费| 亚洲午夜精品一区二区公牛电影院 | 免费精品国偷自产在线在线| 亚洲av成人一区二区三区| 拍拍拍又黄又爽无挡视频免费| 亚洲综合一区无码精品| 国产免费黄色大片| 中国videos性高清免费| 91天堂素人精品系列全集亚洲| 97热久久免费频精品99| 亚洲成色www久久网站夜月| 久久精品无码专区免费青青| 天天爽亚洲中文字幕| 免费人成在线观看网站视频| 99免费在线视频| 亚洲成a人片在线观看久| 免费无码又爽又刺激网站| 亚洲av无码不卡私人影院| a级男女仿爱免费视频| 亚洲天堂一区二区三区四区| 国产免费爽爽视频在线观看| 亚洲一区二区三区在线播放| 日韩在线不卡免费视频一区| 亚洲欧洲无码AV不卡在线| 亚洲欧洲无码AV电影在线观看| 久久午夜夜伦鲁鲁片免费无码影视| 色噜噜噜噜亚洲第一|