搜索不存在的SOLR字段

时间:2014-12-09 10:24:49

标签: solr

所以我的用户有[Field A]和[Field B]等字段。字段可以为空或不存在(用户不会添加任何内容)。

现在我的查询是这样的:

字段A:绿色

Solr给了我100个绿色领域的用户。

我想通过一些提升来过滤这100位用户

FieldA:绿色AND (FieldB:Blue OR FieldB:*)

不是它会给我所有字段的蓝色或所有字段在这个字段中有东西。但是我也想要那些没有这个领域的人。

我试试:

FieldA:绿色AND (FieldB:Blue OR FieldB:* OR(-FieldB:*))

但它不起作用

2 个答案:

答案 0 :(得分:1)

为什么不尝试为字段保存固定值。

所以你可以: FieldA:蓝色 FieldB:0

然后简单查询 FieldA:绿色AND(FieldB:蓝色OR FieldB:0)

你也可以将FieldB:*切换到FieldB:[* TO *]

答案 1 :(得分:1)

好吧也许我会再次解释我的问题:

我有两个字段:姓名和姓氏。我有10条姓名为BOB的记录和3条姓氏为SMITH的记录

首先我过滤:

名称:BOB和查询给我10条记录。

现在我想过滤所有Bob Smith的人,然后我想让名字为bob的人(名字BOB是必须的)然后我想要在字段Surname中有其他东西的人。

所以我的查询如下:

姓名:BOB AND(姓:SMITH ^ 3或姓: ^ 0) - 这给了我一个名字必须是bob的人和第一个姓史密斯的人,然后是其他人的人。但是"姓:"不要给我空旷的人。所以我尝试做(-surname:* ^ 0),但它没有用。

现在,只有姓名BOB但没有任何姓氏的人才会从结果中被禁用