当我更改fq参数的顺序时,结果会发生变化。为什么呢?
我有两个值为role_allow的文件是“Role2”,只有其中一个文件的名称是“Filename1”。
此查询有效并仅返回1个文档:
{
query:"querystr" ,
params:{
wt:xml,
fq:"role_allow:Role2",
fq:"name:Filename1"
}
}
但这不会,并返回2个文件。
{
query:"querystr" ,
params:{
wt:xml,
fq:"name:Filename1",
fq:"role_allow:Role2"
}
}
如果我使用第二个json对象,SOLR将返回fq:“role_allow:Role2”的所有匹配项,但fq:“name:Filename1”无效。
知道为什么吗?
提前致谢。
答案 0 :(得分:-1)
使用fq:"name:Filename1 AND role_allow:Role2"
进行查询。只有一个值具有相同的键,因此最后一个fq是唯一有效的,第一个将被忽略。使用AND的单个fq,条款的方式无关紧要,两者都很重要。