endpoint/search?q=shelim&fq=(or (not type:'XYZ') (not mod:'ABC'))&return=_all_fields
我的结果返回类型的数据,而我已经提到不要在查询XYZ
中返回值。XYZ
有什么不对的吗?也告诉我为什么q
和fq
是为了?
endpoint/search?q=shelim&fq=(or (not type:'XYZ') (not mod:'ABC'))&return=_all_fields
我的结果返回类型的数据,而我已经提到不要在查询XYZ
中返回值。XYZ
有什么不对的吗?也告诉我为什么q
和fq
是为了?
您可以使用 fq 参数过滤与 q 参数指定的搜索条件匹配的文档,而不影响搜索结果中包含的文档的相关性分数。指定过滤器只是控制结果中包含哪些匹配的文档,它对它们的评分和排序方式没有影响。
该q
参数是您输入实际查询的位置。
关于您的数据类型标准,您基本上是在做
where type != 'XYZ' OR type != 'ABC'
您需要使用AND
条件 ( (and (not type:'XYZ') (not mod:'ABC'))
),以便过滤掉没有类型XYZ
和没有类型的文档。ABC
通过您的查询,具有 type 的文档ABC
被过滤掉,但其中一些文档具有 typeXYZ
。这些都包括在内,因为您使用的是OR
条件。