0
endpoint/search?q=shelim&fq=(or (not type:'XYZ') (not mod:'ABC'))&return=_all_fields

我的结果返回类型的数据,而我已经提到不要在查询XYZ中返回值。XYZ有什么不对的吗?也告诉我为什么qfq是为了?

4

1 回答 1

0

正如Cloudsearch 文档中所解释的那样

您可以使用 fq 参数过滤与 q 参数指定的搜索条件匹配的文档,而不影响搜索结果中包含的文档的相关性分数。指定过滤器只是控制结果中包含哪些匹配的文档,它对它们的评分和排序方式没有影响。

q参数是您输入实际查询的位置。

关于您的数据类型标准,您基本上是在做

where type != 'XYZ' OR type != 'ABC'

您需要使用AND条件 ( (and (not type:'XYZ') (not mod:'ABC'))),以便过滤掉没有类型XYZ和没有类型的文档。ABC

通过您的查询,具有 type 的文档ABC被过滤掉,但其中一些文档具有 typeXYZ。这些都包括在内,因为您使用的是OR条件。

于 2015-02-18T08:51:16.833 回答