1
我正在嘗試在SOLR 3.5.0中設置升級處理程序,我需要在dismax格式中根據匹配類型在同一個字段上定義不同的提升值的等效查詢(完全匹配獲取200而通配符匹配得到100)。Solr DisMax查詢等效
Q =名稱:(FOO *^100.0富^ 200.0)
我正在嘗試在SOLR 3.5.0中設置升級處理程序,我需要在dismax格式中根據匹配類型在同一個字段上定義不同的提升值的等效查詢(完全匹配獲取200而通配符匹配得到100)。Solr DisMax查詢等效
Q =名稱:(FOO *^100.0富^ 200.0)
這是解決這個問題的方法之一。
保留一個文本字段只有WhiteSpaceTokenizer(也許LowerCaseFilter取決於您的區分大小寫需求)。使用此字段進行完全匹配。我們稱這個字段爲name_ws
。
而不是使用上name_ws
外卡的查詢,在您的分析儀鏈使用的文字型copy field與EdgeNGramTokenizer,將輸出令牌,如:
food -> f, fo, foo, food
讓我們把這個領域name_edge
。
然後你就可以發出此dismax查詢:(添加debugQuery=on
覈實,如果打分的工作,你所希望的方式)
q=foo&defType=dismax&qf=name_ws^200+name_edge^100