<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”可以匹配到原句。

    主站蜘蛛池模板: 最好看最新的中文字幕免费| 亚洲裸男gv网站| 久久久亚洲精品国产| 理论秋霞在线看免费| 在线观看视频免费国语| 亚洲kkk4444在线观看| 四虎免费大片aⅴ入口| 亚洲丁香婷婷综合久久| 国产一卡二卡≡卡四卡免费乱码| 亚洲av无码成人精品国产| 日韩免费高清视频| 污污视频网站免费观看| 亚洲熟伦熟女新五十路熟妇| 久久性生大片免费观看性| 亚洲精品乱码久久久久久蜜桃不卡| 日韩精品无码免费专区午夜不卡| 亚洲精品高清无码视频| 99热这里有免费国产精品| 国产不卡免费视频| 全部一级一级毛片免费看| 亚洲色精品vr一区二区三区| 国产精品免费AV片在线观看| 国产免费小视频在线观看| 无人视频免费观看免费视频| 一本色道久久综合亚洲精品高清| 国产在线播放线91免费 | 亚洲国产aⅴ综合网| 国产高清视频免费在线观看| 亚洲AV成人精品网站在线播放| 免费福利在线播放| 国产天堂亚洲精品| 亚洲国产成人片在线观看| 999在线视频精品免费播放观看 | 老司机午夜精品视频在线观看免费| 国产亚洲精品看片在线观看 | 一个人在线观看视频免费 | 天黑黑影院在线观看视频高清免费 | 久久这里只精品国产免费10| 亚洲六月丁香婷婷综合| 亚洲中文字幕丝袜制服一区| 亚洲精品视频在线观看免费|