Solr Query无法在结果集中选取预期的文档

nkkqxpd9  于 2022-11-05  发布在  Solr
关注(0)|答案(2)|浏览(202)

我有一个Solr文档,其字段和值如下所示。x1c 0d1x
而我试图点击以获取此文档的已解析查询是“繁文缛节白色休闲鞋”-

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”字段中存在单词-“casual”,而其他查询字段中存在所有其他单词,因此该查询应该能够找到这个单词并在响应中返回。
但找到的文档数为0。有人能帮助我了解我在这里遗漏了什么吗?
提前感谢!

Edit 1有趣的是,当查询是“red tape白色shoes”时,结果中会出现预期的文档。只有当我在查询中添加“casual”时,它才会失败。重要的观察结果是,除了causal之外,所有其他单词都出现在单个字段中。我怀疑solr无法跨多个字段匹配文档

oo7oh9g9

oo7oh9g91#

我建议您使用分析屏幕。在下拉列表中选择字段,并将您正在搜索的值放在查询和索引端,以查看它的管道是如何定义的。
https://solr.apache.org/guide/6_6/analysis-screen.html

ldioqlga

ldioqlga2#

我只是重新索引了一个特定的文档,它为我解决了这个问题。看起来索引在Solr端没有正确发生。

相关问题