Solr Query: поиск полей, содержащих только пробелы

Как написать запрос solr для поиска поля, содержащего только пробелы? Например

{
    "phone_number":"Airtel",
    "smstype":1,
    "phone_status":-1,
    "user_hash":"52565f64ba3e8df1aa",
    "contact_name":" ",
    "snaptype":1,
}

Если вы заметили поле contact_name, это всего два пробела, как мне отфильтровать записи, которые содержат только пробелы для определенного поля?


person resay    schedule 10.07.2012    source источник


Ответы (4)


Я ответил на аналогичный вопрос здесь.

На странице SolrQuerySytax говорится, что вы можете использовать следующий запрос, чтобы найти все пустые запросы.

-field:[* TO *] finds all documents without a value for field
person Parvin Gasimzade    schedule 10.07.2012
comment
Вопрос не в получении документов без значения для определенного поля, а только с пробелами для определенного поля. - person javanna; 10.07.2012

Я думаю, что это может быть достигнуто с помощью запроса регулярных выражений (я не эксперт по регулярным выражениям, но «только пробелы» довольно просты и распространены).

См. это для получения подробной информации о поддержке регулярных выражений в solr. /люцен

person Persimmonium    schedule 10.07.2012

Добавление к ответу Persimmonium - следующий запрос должен помочь.

В дополнение к регулярному выражению вам также нужно будет сбежать из-за пробела.

Контактное лицо:"\ "*

person user1452132    schedule 10.07.2012

Извините, что немного опоздал. Регулярное выражение для поиска пробелов очень легко найти. Вы также должны обратить внимание на токенизатор, который вы используете. Некоторые токенизаторы удаляют пробелы и оставляют поле пустым.

person Omar Jaafor    schedule 11.07.2013