【发布时间】:2015-09-02 16:27:13
【问题描述】:
我有两个字段的 solr 文档,一个是字符串,一个是整数。这两个字段都允许为空。我正在尝试编写一个查询来消除具有以下属性的文档:
textField = "badValue" AND (numberField is null OR numberField = 0)
我添加了以下fq:
((NOT textField=badValue) OR numberField=[1 TO *])
这似乎没有正常工作,因为我得到一个带有 textField = badValue 和 numberField = 0 的文档。我的 fq 做错了什么?
完整的查询响应标头,包含已解析的查询:
“响应头”:{ “状态”:0, “QTime”:245, “参数”:{ "q": "(numi) AND (solr_specs:[* TO ] OR full_description:[ TO ])", "defType": "edismax", "bf": "log(sum(popularity,1))", “缩进”:“真”, "qf": "categories^3.0 制造商^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", “开始”:“0”, "fq": "(((:* NOTdistributor_status=VENDORDISC) OR QOH_estimate=[1 TO *])", "排序": "分数 desc,id desc", “行”:“20”, “重量”:“json”, “_”:“1441220051438” } }
QOH_estimate 是 numberField,distributor_status 是 textField。
【问题讨论】: