我正在使用Solr 8.0.0,并且在使用排除标记时遇到了问题
我的Solr查询如下:
http://localhost:8984/solr/HappyDemo202/select?q=*:*&
rows=6&
start=0&
wt=json&
fq={!tag=CATFACET}cat:((desktops))&
fq={!tag=TAGFACET}tag:((cool))&
fq={!tag=Price}Price:[1200 TO 1245]&
json.facet={CatFacet:{type:terms,field:cat,domain:{excludeTags:CATFACET},limit:-1,sort:{count:desc}},TagsFacet:{ type:terms,field:tag,domain:{excludeTags:TAGFACET},limit:-1,sort:{count:desc}}}
查询输出如下:
{ "responseHeader": {
"status": 0,
"QTime": 0,
"params": {
"q": "*:*",
"json.facet": "{CatFacet:{type:terms,field:cat,domain:{excludeTags:CATFACET},limit:-1,sort:{count:desc}},TagsFacet:{ type:terms,field:tag,domain:{excludeTags:TAGFACET},limit:-1,sort:{count:desc}}}",
"start": "0",
"fq": [
"{!tag=CATFACET}cat:((desktops))",
"{!tag=TAGFACET}tag:((cool))",
"{!tag=Price}Price:[1200 TO 1245]"
],
"rows": "6",
"wt": "json"
}
}, "response": {
"numFound": 0,
"start": 0,
"docs": [] },
"facets": {
"count": 0,
"CatFacet": {
"buckets": []
},
"TagsFacet": {
"buckets": [
{
"val": "new",
"count": 1
},
{
"val": "new1",
"count": 1
}
]
} } }
当您检查Query的输出时,CatFacet不会显示任何构面结果,因为numFound为0,但是TagsFacet却显示了两个构面结果,例如new&new1。我不知道出了什么问题,如果numFound为0,tagFacet一定不能显示两个方面的结果。
请问出什么问题了吗?任何帮助都将是可贵的。
答案 0 :(得分:0)
您明确要求将标签构面({excludeTags:TAGFACET}
)中的标签排除在外-这意味着,如果那里没有该FQ,将会有结果-而您正在询问没有该字段的计数。
如果您希望构面仅计算要返回的文档,请为应该只返回结果集中包含的文档的所有构面删除excludeTags
值。