谁能给我解释一下 2013 版 amazon cloudsearch api 中的 q vs fq?
Can anyone explain me about q vs fq in amazon cloudsearch api version 2013?
endpoint/search?q=shelim&fq=(or (not type:'XYZ') (not mod:'ABC'))&return=_all_fields
我的结果 returns 类型 XYZ
的数据,而我已经提到不要在查询中为 XYZ
设置 return 值。有什么问题吗?还告诉我为什么 q
和 fq
是为了?
中所述
You use the fq parameter to filter the documents that match the search
criteria specified with the q parameter without affecting the
relevance scores of the documents included in the search results.
Specifying a filter just controls which matching documents are
included in the results, it has no effect on how they are scored and
sorted.
q
参数是您输入实际查询的地方。
关于您的数据类型标准,您基本上是在做
where type != 'XYZ' OR type != 'ABC'
您需要使用 AND
条件 ((and (not type:'XYZ') (not mod:'ABC'))
),以便过滤掉不具有类型 XYZ
和不具有类型 ABC
的文档.
对于您的查询,类型为 ABC
的文档被过滤掉 ,但其中一些文档的类型为 XYZ
。这些都包含在内,因为您使用的是 OR
条件。
endpoint/search?q=shelim&fq=(or (not type:'XYZ') (not mod:'ABC'))&return=_all_fields
我的结果 returns 类型 XYZ
的数据,而我已经提到不要在查询中为 XYZ
设置 return 值。有什么问题吗?还告诉我为什么 q
和 fq
是为了?
You use the fq parameter to filter the documents that match the search criteria specified with the q parameter without affecting the relevance scores of the documents included in the search results. Specifying a filter just controls which matching documents are included in the results, it has no effect on how they are scored and sorted.
q
参数是您输入实际查询的地方。
关于您的数据类型标准,您基本上是在做
where type != 'XYZ' OR type != 'ABC'
您需要使用 AND
条件 ((and (not type:'XYZ') (not mod:'ABC'))
),以便过滤掉不具有类型 XYZ
和不具有类型 ABC
的文档.
对于您的查询,类型为 ABC
的文档被过滤掉 ,但其中一些文档的类型为 XYZ
。这些都包含在内,因为您使用的是 OR
条件。