<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
    通用元數(shù)據(jù)提供了將元數(shù)據(jù)名稱和別名定義從osem文件提取到外面的方式。當(dāng)你的應(yīng)用程序有大量的域模型時(shí)尤其有用。另外一個(gè)優(yōu)勢就是添加額外的信息倒元數(shù)據(jù)中,不如描述。也能制定元數(shù)據(jù)定義的格式,這樣就不用在osem?文件中定義了 。
    通過集中話元數(shù)據(jù),其它工具也能更好地利用這些信息。
    OSEM文件引用通用元數(shù)據(jù)的方式是采用${}.

    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結(jié)尾的詞條。
    birthday:[1870/01/01 TO 1920/01/01] birthday從1870-01-01到1920-01-01。


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

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

    CompassQuery and CompassQueryBuilder:
    CompassQueryBuilder提供了程序創(chuàng)建compassQuery的功能。compassQuery能夠用來添加排序和執(zhí)行查詢。
    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();
    // 采用類屬性的元數(shù)據(jù)id, 在上面的例子中將采用第一個(gè)元數(shù)據(jù).
    CompassHits hits = queryBuilder.term("a.familyName", "london").hits();
    //查詢編輯器將會采用相應(yīng)的轉(zhuǎn)化器轉(zhuǎn)換數(shù)據(jù)。
    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,只能用在事務(wù)上下文中。

    在detachedHits中使用高亮度:
    CompassHits hits = session.find("london");
    //在事務(wù)上下文中處理高亮度。
    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 不做浮躁的人 閱讀(3325) 評論(1)  編輯  收藏

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

    如果我根據(jù)A的某個(gè)字段檢索出了A,B會同時(shí)被檢索出來嗎

    我在一個(gè)應(yīng)用里做的時(shí)候顯示B是 null


      回復(fù)  更多評論
      

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


    網(wǎng)站導(dǎo)航:
     

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

    常用鏈接

    留言簿(9)

    隨筆分類(31)

    隨筆檔案(75)

    文章分類(1)

    文章檔案(3)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品18久久久久久| 免费在线不卡视频| 亚洲国产精品无码专区在线观看| 亚洲丁香婷婷综合久久| 免费看a级黄色片| 亚洲gay片在线gv网站| 成年女人免费v片| 亚洲熟伦熟女专区hd高清| 野花高清在线观看免费3中文| 亚洲中文字幕久在线| 在线观看无码AV网站永久免费 | 国产一卡2卡3卡4卡无卡免费视频 国产一卡二卡3卡四卡免费 | 亚洲 自拍 另类小说综合图区| 人人狠狠综合久久亚洲| 免费大片在线观看网站| 国产成人无码精品久久久久免费 | 亚洲AV日韩综合一区尤物| 成年性羞羞视频免费观看无限| 亚洲AV永久无码天堂影院| 日韩精品电影一区亚洲| 中文字幕无码毛片免费看| 亚洲2022国产成人精品无码区| 免费专区丝袜脚调教视频| 久久亚洲精品国产精品婷婷| 四虎影视精品永久免费网站| xxxxxx日本处大片免费看| 久久亚洲免费视频| 插B内射18免费视频| 五月婷婷免费视频| 亚洲黄色在线观看网站| 国产美女精品视频免费观看| av网站免费线看| 亚洲午夜久久久久久尤物| 免费一级黄色毛片| 无码国产精品一区二区免费16| 亚洲大成色www永久网址| 亚洲视频在线免费| 中字幕视频在线永久在线观看免费| 色www免费视频| 亚洲高清资源在线观看| 亚洲&#228;v永久无码精品天堂久久|