Solr не выбирает документ, в котором поле имеет значение null

У меня есть документ со значением "null" для поля image. выберите?q=signature%3A8e237da66f894cff8b1b6a94a76807a9&wt=json&indent=true

{
  "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=image%3Anull&wt=json&indent=true

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

Не могли бы вы объяснить, что не так с запросом и почему документ не возвращается?


person MAcabot    schedule 26.11.2014    source источник


Ответы (2)


Вы не можете искать с нулевым значением, если вы ищете элемент без поля изображения, используйте

-image:*

Если у вас есть значение null в индексе ur, вы должны проверить тип поля u. Это должна быть строка. Эту проблему легко обнаружить, попробовав

image:*null*
person NeatNerd    schedule 26.11.2014
comment
В первом ответе solr null заключен в кавычки: "image": "null". Не означает ли это, что значение "null" является строкой? - person MAcabot; 26.11.2014
comment
Нет, двойные кавычки означают точный поиск [Фраза — это группа слов, заключенных в двойные кавычки, например hello doll]. Вы пробовали с двойным подстановочным знаком? Каков тип поля в вашей схеме? - person NeatNerd; 26.11.2014

Всегда проверяйте schema.xml, чтобы узнать, индексируется ли поле.

Поле image не индексировалось, и поиск по нему невозможен.

person MAcabot    schedule 26.11.2014