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

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

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

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    對Lucene PhraseQuery的slop的理解(轉載)

    Posted on 2011-02-25 13:51 瘋狂 閱讀(1918) 評論(0)  編輯  收藏 所屬分類: java apache項目lucene
    文章來自:http://myzhangjl.blog.sohu.com/95911870.html
    這幾天看Lucene,看到檢索那塊,被PhraseQuery折騰了一陣,那本《Lucene In Action》里的代碼版本太舊了,也不知是翻譯的問題還是我的理解問題,總之在看PhraseQuery的設置slop時費了半天勁,不過,總算是搞明白了,發個帖子來分享一下:

        所謂PhraseQuery,就是通過短語來檢索,比如我想查“big car”這個短語,那么如果待匹配的document的指定項里包含了"big car"這個短語,這個document就算匹配成功。可如果待匹配的句子里包含的是“big black car”,那么就無法匹配成功了,如果也想讓這個匹配,就需要設定slop,先給出slop的概念:slop是指兩個項的位置之間允許的最大間隔距離,下面我舉例來解釋:

       我的待匹配的句子是:the quick brown fox jumped over the lazy dog.

       例1: 如果我想用“quick fox”來匹配出上面的句子,我發現原句里是quick [brown] fox,就是說和我的“quick fox”中間相差了一個單詞的距離,所以,我這里把slop設為1,表示quickfox這兩項之間最大可以允許有一個單詞的間隔,這樣所有“quick [***] fox”就都可以被匹配出來了。

       例2:如果我想用“fox quick”來匹配出上面的句子,這也是可以的,不過比例1要麻煩,我們需要看把“fox quick”怎么移動能形成“quick [***] fox”,如下表所示,把fox向右移動3次即可:

       fox quick      
    1    fox|quick      
    2    quick fox   
    3    quick    fox

        例3:如果我想用“lazy jumped quick”該如何匹配上面的句子呢?這個比例2還要麻煩,我們要考慮3個單詞,不管多少個單詞,slop表示的是間隔的最大距離,詳細起見,我們分別來看每種組合:(我的待匹配的句子是:the quick brown fox jumped over the lazy dog.)

    • lazy jumped:原句是jumped [over] [the] lazy,就是說它們兩個之間間隔了2個詞,如下所示:需要把lazy向右移動4位

     

       lazy jumped         
    1    lazy|jumped         
    2    jumped lazy      
    3    jumped    lazy   
    4    jumped     lazy 

     

    •   lazy jumped quick:我們主要看lazyquick,但是由于jumped是在中間,所以移動的時候還是要把jumped考慮在內,原句里lazyquick的關系是:quick [brown] [fox] [jumped] [over] [the] lazy ,quick lazy中間間隔了5個詞,所以如下圖所示,把lazy向右移動8次
        lazy

    jumped

    quick               

    1

      

    lazy|jumped

    quick

      

      

      

      

      

     

    2

      

    jumped

    lazy|quick

      

      

      

      

      

     

     3 

      

    jumped

    quick

     lazy 

      

      

      

      

     

    4

      

    jumped

    quick

      

    lazy 

      

      

      

     

     5 

      

    jumped

    quick

      

      

    lazy 

      

      

     

    6

      

    jumped

    quick

      

      

      

    lazy 

      

     

    7

      

    jumped

    quick

      

      

      

      

    lazy 

     

    8

      

    jumped

    quick

                   lazy 

     

    •  最后是jumped qucik,這里不詳細畫表格了,大家可以自己試試,應該是把jumped向右移動4次。

       綜合以上3種情況,所以我們需要把slop設為8才令“lazy jumped quick”可以匹配到原句。

    主站蜘蛛池模板: 亚洲日本一线产区和二线产区对比| 亚洲va在线va天堂va四虎| 精品亚洲国产成人| 亚洲成人免费在线| 亚洲gv白嫩小受在线观看| 91在线免费观看| 亚洲精品无码成人片久久| 久草免费福利视频| 久久精品国产亚洲AV大全| 成年人视频免费在线观看| 亚洲无人区码一二三码区别图片| 天天摸天天碰成人免费视频| 亚洲狠狠婷婷综合久久| 又爽又黄无遮挡高清免费视频| 免费无遮挡无码视频在线观看| 久久伊人亚洲AV无码网站| 日韩视频免费在线观看| 亚洲美女自拍视频| 成人毛片免费观看| 添bbb免费观看高清视频| 亚洲国产一级在线观看| 在线观看片免费人成视频无码| 亚洲人成在线影院| 性盈盈影院免费视频观看在线一区| WWW亚洲色大成网络.COM| 伊人久久综在合线亚洲91| 无码日韩精品一区二区免费暖暖| 精品久久久久久亚洲精品| 免费国产真实迷j在线观看| 99免费在线视频| 亚洲男人电影天堂| 国产一级做a爱免费视频| 两个人看的www免费高清| 亚洲伊人久久大香线蕉影院| 国产成人免费全部网站| 免费毛片a线观看| 亚洲天堂男人影院| 亚洲色爱图小说专区| 在线看片免费不卡人成视频| caoporn国产精品免费| 亚洲六月丁香六月婷婷蜜芽 |