Цель состояла в том, чтобы отсортировать некоторые предметы по залам на основе повышения по типу и плюс, если тип: элемент велосипеда имеет изображение. Результат должен быть:
- Автомобили
- Лодки
- Велосипеды с изображением
- Велосипеды без изображения
Это был мой первый подход запроса: type:"car"^10000 OR type:"boat"^5000 OR (type:"bike" AND image-type:[* TO *])^100 OR type:"bike"^5
(работает отлично)
Но я забыл старые элементы данных без поля типа. Должен быть в наборе результатов, как это:
- Автомобили
- Лодки
- Велосипеды с изображением
- Велосипеды без изображения
- Все детали без типа
Так я изменил свой запрос на -type:[* TO *] OR type:"car"^10000 OR type:"boat"^5000 OR (type:"bike" AND image-type:[* TO *])^100 OR type:"bike"^5
и не получил результатов.
Так я нашел эту тему и попытался изменить свой запрос -(type:[* TO *] OR -type:"car"^10000 OR -type:"boat"^5000 OR -(type:"bike" AND image-type:[* TO *])^100 OR -type:"bike"^5
), как показано в этом ответе https://stackoverflow.com/a/17211744/326905
Но, к сожалению, все элементы имеют один и тот же счет :(
Может показаться, что [этот синтаксис] (http://stackoverflow.com/questions/4238609/how-to-query-solr-for-empty-fields) может работать? –
@MartijnPieters этот синтаксис работал отдельно, но не вместе с OR. Я обновил свой вопрос –