我有一个关于dismax的问题。如何搜索索尔中的短语
我有这个疑问:
/itas?q=privacy%20policy&debugQuery=true&wt=xml&indent=on&pf=title^99&ps=2&mm=2&ps=2&qs=2
我得到这个reseponse与debugQuery开启
<lst name="debug">
<str name="rawquerystring">privacy policy</str>
<str name="querystring">privacy policy</str>
<str name="parsedquery">
+((DisjunctionMaxQuery((text:privacy)~0.01) DisjunctionMaxQuery((text:polici)~0.01))~2) DisjunctionMaxQuery((title:"privacy polici"~2^99.0)~0.01)
</str>
<str name="parsedquery_toString">
+(((text:privacy)~0.01 (text:polici)~0.01)~2) (title:"privacy polici"~2^99.0)~0.01
</str>
<lst name="explain">
<str name="http://blah.com/">
0.0 = (MATCH) sum of: 0.0 = (MATCH) sum of: 0.0 = (MATCH) weight(text:privacy in 0), product of: 7.610095E-4 = queryWeight(text:privacy), product of: 1.0009153 = idf(docFreq=1091, maxDocs=1093) 7.603136E-4 = queryNorm 0.0 = (MATCH) fieldWeight(text:privacy in 0), product of: 1.4142135 = tf(termFreq(text:privacy)=2) 1.0009153 = idf(docFreq=1091, maxDocs=1093) 0.0 = fieldNorm(field=text, doc=0) 0.0 = (MATCH) weight(text:polici in 0), product of: 7.6379965E-4 = queryWeight(text:polici), product of: 1.004585 = idf(docFreq=1087, maxDocs=1093) 7.603136E-4 = queryNorm 0.0 = (MATCH) fieldWeight(text:polici in 0), product of: 1.0 = tf(termFreq(text:polici)=1) 1.004585 = idf(docFreq=1087, maxDocs=1093) 0.0 = fieldNorm(field=text, doc=0)
</str>
我看到,在标题中查询“隐私polici”,但为什么parsedquery_toString节在响应中没有考虑到相同的字符串?一切都分成“隐私”和“政策”
我知道我能做到这一点,但我不想,我想它采取PF但是不知何故,它似乎并没有这样做。 – Joyce
鉴于您的查询指定了pf参数,您不需要明确表示的邻近查询,您是正确的。 – Simon
与edismax,有几种情况下,如果你不明确提供词组查询,它不会被添加,例如https://issues.apache.org/jira/browse/SOLR-2988 – Persimmonium