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

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

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

    不做浮躁的人
    正在行走的人...
    posts - 171,  comments - 51,  trackbacks - 0
    通用元數據提供了將元數據名稱和別名定義從osem文件提取到外面的方式。當你的應用程序有大量的域模型時尤其有用。另外一個優勢就是添加額外的信息倒元數據中,不如描述。也能制定元數據定義的格式,這樣就不用在osem?文件中定義了 。
    通過集中話元數據,其它工具也能更好地利用這些信息。
    OSEM文件引用通用元數據的方式是采用${}.

    query syntax:
    jack :缺省的查詢域中包括jack字段。
    jack london:缺省的查詢域中包括 jack?或 london, 或者2者都有。
    +jack +london: 缺省的查詢域中必須包括jack和london。
    name:jack:name字段中包括jack。
    name:jack -city:london :name字段中包括jack但是city字段中不包括london。
    name:"jack london"?:name字段中包括jack london短語。
    name:"jack london"~5 :name字段包括至少5次jack and london短語
    jack* 包含以jack開頭的詞條。
    jack~ 包括以jack結尾的詞條。
    birthday:[1870/01/01 TO 1920/01/01] birthday從1870-01-01到1920-01-01。


    CompassHits, CompassDetachedHits & CompassHitsOperations:
    compassHits:所有的搜索結果都是通過該接口訪問。只能用在事務上下文中。如果脫離上下文,則需要detached。compassHits和compassDetachedHits都共享相同的操作接口:compassHitsOperation。

    getLength() or length() :得到搜索資源的長度
    score(n) 第n個搜索資源的分值。
    resource(n) 第n個搜索資源
    data(n) 第n個對象實例。

    CompassQuery and CompassQueryBuilder:
    CompassQueryBuilder提供了程序創建compassQuery的功能。compassQuery能夠用來添加排序和執行查詢。
    CompassHits hits = session.createQueryBuilder()
    .queryString("+name:jack +familyName:london")
    .setAnalyzer("an1") // use a different analyzer
    .toQuery()
    .addSort("familyName", CompassQuery.SortPropertyType.STRING)
    .addSort("birthdate", CompassQuery.SortPropertyType.INT)
    .hits();

    CompassQueryBuilder queryBuilder = session.createQueryBuilder();
    CompassHits hits = queryBuilder.bool()
    .addMust( queryBuilder.term("name", "jack") )
    .addMustNot( queryBuilder.term("familyName", "london") )
    .toQuery()
    .addSort("familyName", CompassQuery.SortPropertyType.STRING)
    .addSort("birthdate", CompassQuery.SortPropertyType.INT)
    .hits();

    注意排序的屬性必須是un_tokenized。

    OSEM映射文件:
    <class name="eg.A" alias="a">
    <id name="id" />
    <property name="familyName">
    <meta-data>family-name</meta-data>
    </property>
    <property name="date">
    <meta-data converter-param="YYYYMMDD">date-sem</meta-data>
    </property>
    Working with objects
    Compass - Java Search Engine 78
    </class>
    查詢方式:采用compassQueryBuilder,許多查詢可以直接工作在mapping的層次上。
    CompassQueryBuilder queryBuilder = session.createQueryBuilder();
    CompassHits hits = queryBuilder.term("a.familyName.family-name", "london").hits();
    // 采用類屬性的元數據id, 在上面的例子中將采用第一個元數據.
    CompassHits hits = queryBuilder.term("a.familyName", "london").hits();
    //查詢編輯器將會采用相應的轉化器轉換數據。
    CompassHits hits = queryBuilder.term("a.date.date-sem", new Date()).hits();
    CompassHits hits = queryBuilder.bool()
    .addMust( queryBuilder.alias("a") )
    .addMust( queryBuilder.term("a.familyName", "london") )
    .toQuery().hits();

    CompassHighlighter:提供高亮度匹配搜索的文字字段。
    CompassHits hits = session.find("london");
    String fragment = hits.highlighter(0).fragment("description");
    高亮度只能用于CompassHits,只能用在事務上下文中。

    在detachedHits中使用高亮度:
    CompassHits hits = session.find("london");
    //在事務上下文中處理高亮度。
    for (int i = 0.; i < 10; i++) {
    hits.highlighter(i).fragment("description"); // this will cache the highlighted fragment
    }
    CompassHit[] detachedHits = hits.detach(0, 10).getHits();
    // outside of a transaction (maybe in a view technology)
    for (int i = 0; i < detachedHits.length; i++) {
    // this will return the first fragment
    detachedHits[i].getHighlightedText().getHighlightedText();
    // this will return the description fragment, note that the implementation
    // implements the Map interface, which allows it to be used simply in JSTL env and others
    detachedHits[i].getHighlightedText().getHighlightedText("description");
    }
    posted on 2006-12-02 14:54 不做浮躁的人 閱讀(3326) 評論(1)  編輯  收藏

    FeedBack:
    # re: compass學習筆記3
    2007-09-13 03:52 | jlive@live.com
    請問 compass支持cascade嗎

    如果我根據A的某個字段檢索出了A,B會同時被檢索出來嗎

    我在一個應用里做的時候顯示B是 null


      回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(9)

    隨筆分類(31)

    隨筆檔案(75)

    文章分類(1)

    文章檔案(3)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费一级不卡毛片| 亚洲精品亚洲人成在线观看| 99亚洲乱人伦aⅴ精品| 亚洲无码视频在线| 67194国产精品免费观看| 亚洲国产精品无码久久久不卡| 免费视频成人片在线观看| 亚洲成av人片在线观看无码不卡| 16女性下面无遮挡免费| 爱情岛亚洲论坛在线观看 | 日本午夜免费福利视频| 一级一黄在线观看视频免费| 亚洲国产中文在线二区三区免| 亚洲国产人成精品| 毛片在线播放免费观看| 亚洲成在人线aⅴ免费毛片| 拨牐拨牐x8免费| 亚洲国产高清视频在线观看| 国产在线观看免费视频播放器| 亚洲日韩国产欧美一区二区三区 | 亚洲麻豆精品果冻传媒| 久久成人国产精品免费软件| 男女啪啪免费体验区| 亚洲国产片在线观看| 最新精品亚洲成a人在线观看| 成年性午夜免费视频网站不卡| 久久免费视频观看| 黄网站色视频免费看无下截| 亚洲毛片基地日韩毛片基地| 国产91精品一区二区麻豆亚洲| 成年午夜视频免费观看视频| 无码日韩精品一区二区免费暖暖| 色妞www精品视频免费看| 国产亚洲精aa在线看| 亚洲天堂男人天堂| 在线观看国产区亚洲一区成人| 国产网站在线免费观看| 无码国产精品一区二区免费虚拟VR| 国产真人无码作爱免费视频| 日木av无码专区亚洲av毛片| 久久久青草青青国产亚洲免观 |