<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 瘋狂 閱讀(1919) 評論(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”可以匹配到原句。

    主站蜘蛛池模板: 毛片免费视频播放| 亚洲大尺码专区影院| 成人爽A毛片免费看| 嫩草影院在线播放www免费观看 | a级成人毛片免费视频高清| 亚洲精品无码成人片久久不卡| 亚洲av最新在线网址| 亚洲精品人成无码中文毛片| 成人特黄a级毛片免费视频| 67pao强力打造国产免费| 中文成人久久久久影院免费观看| 黄色免费在线观看网址| 亚洲成年网站在线观看| 亚洲国产韩国一区二区| 亚洲欧洲日产国产综合网| 亚洲精品无码专区久久久| 亚洲精品一级无码鲁丝片| 四虎影视在线永久免费观看| 毛片免费观看的视频| 无码人妻一区二区三区免费手机 | 国外成人免费高清激情视频| 曰批全过程免费视频网址 | 在线免费观看亚洲| 亚洲AV无码欧洲AV无码网站| 在线亚洲97se亚洲综合在线| 亚洲午夜国产片在线观看| 亚洲男人的天堂在线va拉文| 亚洲 综合 国产 欧洲 丝袜 | 亚洲人成网站在线在线观看| 2020年亚洲天天爽天天噜| 亚洲av一本岛在线播放| 亚洲国产成a人v在线观看| 亚洲AV无码精品蜜桃| 国产91在线|亚洲| 亚洲Av高清一区二区三区| 亚洲一区二区三区国产精华液| 亚洲不卡1卡2卡三卡2021麻豆| 亚洲丰满熟女一区二区v| 亚洲伊人久久大香线蕉结合| 精品久久亚洲中文无码| 亚洲高清乱码午夜电影网|