2014-12-31 46 views
0

slides from the PyCon 2013中提到了NEAR類型的查詢。我查看了文檔,並且沒有提到查詢中的NEAR關鍵字。我只能找到類似的東西,這樣的:whoosh中的近似類型查詢

"whoosh library"~5 

相匹配,如果文檔具有後「庫」中的5個字「嗖」

我想知道是否有一種方法,使這種查詢:

'whoosh' NEAR:X 'python' NEAR:X 'retrieval' 

其中X代表查詢字之間的字的最大數量(即,「嗖」,「蟒」,「檢索」)

回答

1

我通過文檔AG去艾因,發現SpanNear2類,這似乎是三個方面做的工作,例如:

t1 = query.Term("sentence", "Whoosh") 
    t2 = query.Term("sentence", "python") 
    t3 = query.Term("sentence", "retrieval") 
    q = spans.SpanNear2([t1, t2, t3], slop=5, ordered=True) 

這將匹配包含一句話文檔:

"The Whoosh project is a python library for information retrieval." 

但不是這樣一句話:

"Whoosh is a great open source project is a python for information retrieval." 

因爲在'Whoosh'和python之間有8個標記,並且slop = 5