【发布时间】:2014-12-20 22:44:20
【问题描述】:
所以我的用户有一些字段,例如 [字段 A] 和 [字段 B]。字段可以为空或不存在(用户不会添加任何内容)。
现在我的查询是这样的:
字段 A:绿色
Solr 给我 100 个拥有绿色领域的用户。
我想从这 100 个用户中过滤出一些提升
字段A:绿色和 (字段B:蓝色或字段B:*)
它不会给我所有带有蓝色的字段或所有在此字段中有内容的字段。但我也想要没有这个领域的人。
我试试:
字段A:绿色和 (FieldB:蓝色 OR FieldB:* OR (-FieldB:*))
但它不起作用
【问题讨论】:
-
那么您希望每个文档在 FieldB 中都有 something 或 nothing 吗?为什么还要查询
FieldB? -
是的。确切地。我想在这个que中拥有一些东西或什么都没有。我想要的结果与我通过 FieldA 过滤的结果完全相同。字段 B 仅用于对它们进行排序
-
那么你为什么要按 FieldB 过滤?不用管它。
-
我不想错过。例如:我有两个字段名称和姓氏。现在我想过滤有名字和姓氏的人这个查询不会给我有名字但没有姓氏的人
-
但
FieldA:Green AND (.. anything or nothing in FieldB)与FieldA:Green相同。您必须扩展您的问题并解释为什么这是一种不同的情况以及为什么它不能解决您尝试做的事情。
标签: solr