поисковый запрос solr применяет условие в обоих полях (существует ИЛИ не существует)

У меня есть данные с другим динамическим полем. я хочу применить условие в существующей записи поля, и мне также не нужны существующие записи поля. Моя версия Solr 6.1.0

{"employeeid" : "220",  "displayname_s": "abu", "attr_36977": 55 },
{"employeeid" : "910",  "displayname_s": "test","attr_36400": 565 },
{"employeeid" : "210", "displayname_s": "sam"},
{"employeeid" : "64", "displayname_s": "wel", "attr_36977": 152},

я пишу такой запрос

(-attrl_36977:[* TO *] OR attrl_36977:[0 TO 100])

но этот запрос не тренировка.

бездействующим результатом являются первые три записи (220 910 210). как решить требование


person RSK    schedule 07.03.2018    source источник


Ответы (1)


Вы должны четко указать, из чего вы вычитаете первую часть оператора ИЛИ:

(*:* -attrl_36977:[* TO *]) OR attrl_36977:[0 TO 100]

.. предоставит вам любые документы, которые не имеют значения в attrl_36977 или значения от 0 до 100 включительно.

person MatsLindh    schedule 07.03.2018