solr不选择字段值为“null”的文档

时间:2014-11-26 13:40:42

标签: solr

我的字段"null"的值为image的文档。 选择Q =签名%3A8e237da66f894cff8b1b6a94a76807a9&安培;重量= JSON&安培;缩进=真

{
  "responseHeader": {
    "status": 0,
    "QTime": 1,
    "params": {
      "indent": "true",
      "q": "signature:8e237da66f894cff8b1b6a94a76807a9",
      "_": "1417003669026",
      "wt": "json"
    }
  },
  "response": {
    "numFound": 1,
    "start": 0,
    "docs": [
      {
        "signature": "8e237da66f894cff8b1b6a94a76807a9",
        "clicks": 0,
        "content": "foo",
        "customer_id": 1,
        "firstseen": "2014-11-19T15:10:39Z",
        "image": "null", // <--------------------------
        "impressions": 165,
        "language": "en",
        "lastupdate": "2014-11-26T11:45:01Z",
        "media_id": 3,
        "title": "bar",
        "url": "http://www.foobar.com"
      }
    ]
  }
}

但是,在搜索image:null的文档时,我无法找到此文档。 选择Q =图像%3Anull&安培;重量= JSON&安培;缩进=真

{
  "responseHeader": {
    "status": 0,
    "QTime": 6,
    "params": {
      "indent": "true",
      "q": "image:null",
      "_": "1417008837414",
      "wt": "json"
    }
  },
  "response": {
    "numFound": 0,
    "start": 0,
    "docs": []
  }
}

您能否解释一下查询的错误以及未返回文档的原因?

2 个答案:

答案 0 :(得分:0)

如果您要查找没有图像字段的项目,则无法使用null进行搜索,请使用

-image:*

如果您的索引为null,则必须检查u字段类型。它必须是一个字符串。通过尝试

很容易发现这个问题
image:*null*

答案 1 :(得分:0)

请务必检查schema.xml以查看该字段是否已被编入索引。

字段image未被编入索引,无法搜索。