2016-05-31 41 views
0

我記得在以前的版本SOLR(4.x版)我是能夠運行下面的查詢:strdist功能停止識別領域參考SOLR 5

"(lastName:HILL)" 

與領域

"*,score, strDistLastName:$lnamestrdist" 

,並與原始查詢參數

"lnamestrdist=strdist('HILL',lastName,jw)" 

這會給我一個額外的字段,這是使用J的strdist函數的結果一個值與返回字段之間的aro Winkler算法。

由於SOLR版本5.1中的某些原因,即使字符串匹配1到1(即strdist應該是1),它始終返回0。

我檢查它不使用變量,即只有指定領域

"*,score, strdist('HILL',lastName,jw)" 

,但它也返回0

而且,只有當我用另一個字符串字面像下面,則返回1:

"*,score, strdist('HILL','HILL',jw)" 

我認爲這意味着strdist不再識別字段。有誰知道爲什麼?也許語法已經改變,或者它只是一個錯誤?

非常感謝您提前!

回答

0

我的不好,我在索引/查詢分析器中爲「lastNameExact」字段設置了「solr.LowerCaseFilterFactory」過濾器,因此'HILL'和'hill'的strdist值爲0.在將字段列表更正爲「* ,得分,strdist( '山',姓氏,JW)」,strdist成爲1

很抱歉的混亂:)