solr查询不等于文本值和大于0的数字
solr query for not equal to text value and number greater than 0
我有两个字段的 solr 文档,一个是字符串,一个是整数。这两个字段都允许为空。我正在尝试编写一个查询来消除具有以下属性的文档:
textField = "badValue" AND(numberField 为空或 numberField = 0)
我添加了以下fq:
((NOT textField=badValue) OR numberField=[1 TO *])
这似乎没有正常工作,因为我得到了一个包含 textField = badValue 和 numberField = 0 的文档。我的 fq 做错了什么?
包含已解析查询的完整查询响应 header 是:
"responseHeader":{
"status": 0,
"QTime": 245,
"params":{
"q": "(numi) AND (solr_specs:[* TO ] OR full_description:[ TO ])",
"defType": "edismax",
"bf": "log(sum(popularity,1))",
"indent": "true",
"qf": "categories^3.0 manufacturer^1.0 sku^0.2 split_sku^0.2 upc^1.0 invoice_description^2.6 full_description solr_specs^0.8 solr_spec_values^1.7 legacyid legacy_altcode id",
"fl": "distributor_status,QOH_estimate,id,score",
"start": "0",
"fq": "((:* 不是 distributor_status=VENDORDISC) 或 QOH_estimate=[1 TO *])",
"sort": "score desc,id desc",
"rows": "20",
"wt": "json",
“_”:“1441220051438”
}
}
QOH_estimate 是数字字段,distributor_status 是文本字段。
请在您的 fq
参数中尝试以下操作:((*:* NOT textField:badValue) OR numberField:[1 TO *])
.
((*:* NOT distributor_status:VENDORDISC) OR QOH_estimate:[1 TO *])
这里首先选择不包含 textField:badValue
的文档,然后 OR
使用来自 numberField:[1 TO *]
条件的文档。
我有两个字段的 solr 文档,一个是字符串,一个是整数。这两个字段都允许为空。我正在尝试编写一个查询来消除具有以下属性的文档:
textField = "badValue" AND(numberField 为空或 numberField = 0)
我添加了以下fq:
((NOT textField=badValue) OR numberField=[1 TO *])
这似乎没有正常工作,因为我得到了一个包含 textField = badValue 和 numberField = 0 的文档。我的 fq 做错了什么?
包含已解析查询的完整查询响应 header 是:
"responseHeader":{ "status": 0, "QTime": 245, "params":{ "q": "(numi) AND (solr_specs:[* TO ] OR full_description:[ TO ])", "defType": "edismax", "bf": "log(sum(popularity,1))", "indent": "true", "qf": "categories^3.0 manufacturer^1.0 sku^0.2 split_sku^0.2 upc^1.0 invoice_description^2.6 full_description solr_specs^0.8 solr_spec_values^1.7 legacyid legacy_altcode id", "fl": "distributor_status,QOH_estimate,id,score", "start": "0", "fq": "((:* 不是 distributor_status=VENDORDISC) 或 QOH_estimate=[1 TO *])", "sort": "score desc,id desc", "rows": "20", "wt": "json", “_”:“1441220051438” } }
QOH_estimate 是数字字段,distributor_status 是文本字段。
请在您的 fq
参数中尝试以下操作:((*:* NOT textField:badValue) OR numberField:[1 TO *])
.
((*:* NOT distributor_status:VENDORDISC) OR QOH_estimate:[1 TO *])
这里首先选择不包含 textField:badValue
的文档,然后 OR
使用来自 numberField:[1 TO *]
条件的文档。