我试图获取此文档的已解析查询是“繁文缛节白色休闲鞋”-
parsedquery: "+(DisjunctionMaxQuery((keywords_text_en:casual | (brandName_text_en_mv:casual)^3.0 | (name_text_en:casual)^2.0 | (categoryName_text_en_mv:casual)^4.0))
DisjunctionMaxQuery((Synonym(keywords_text_en:boot keywords_text_en:shoe) | (Synonym(brandName_text_en_mv:boot brandName_text_en_mv:shoe))^3.0 | (Synonym(name_text_en:boot name_text_en:shoe))^2.0 | (Synonym(categoryName_text_en_mv:boot categoryName_text_en_mv:shoe))^4.0))
DisjunctionMaxQuery((keywords_text_en:red | (brandName_text_en_mv:red)^3.0 | (name_text_en:red)^2.0 | (categoryName_text_en_mv:red)^4.0)) DisjunctionMaxQuery((keywords_text_en:tape | (brandName_text_en_mv:tape)^3.0 | (name_text_en:tape)^2.0 | (categoryName_text_en_mv:tape)^4.0)) DisjunctionMaxQuery((keywords_text_en:white |
(brandName_text_en_mv:white)^3.0 | (name_text_en:white)^2.0 | (categoryName_text_en_mv:white)^4.0)))~5 DisjunctionMaxQuery(((keywords_text_en:"casual (boot shoe) red tape white"~5)^2.0 | (brandName_text_en_mv:"casual (boot shoe) red tape white"~5)^6.0 | (categoryName_text_en_mv:"casual (boot shoe) red tape white"~5)^8.0 | (name_text_en:"casual (boot shoe) red tape white"~5)^4.0))",
根据我的理解,由于“categoryName_text_en_mv”字段中存在“休闲”一词,而其他查询字段中存在所有其他词,因此该查询应该能够找到它并在响应中返回。
但找到的文件数量为 0。有人可以帮我理解我在这里遗漏了什么吗?
提前致谢!
编辑 1 有趣的是,当查询是“繁文缛节白鞋”时,结果中就会出现预期的文档。只有当我在查询中添加“休闲”时,它才会失败。重要的观察是除了因果之外的所有其他词都存在于单个字段中。我怀疑 solr 无法跨多个字段匹配文档