Solr 4.2.1Список полей «существует()» неправильного
Это не кажется, что бы я ни стараюсь, я не могу получить правильные результаты из функции существует(). Я использую его, чтобы проверить, существует ли в схеме поле типа «text_general». Он работает несколько, однако ~ 10% времени это неправильно.
Вот простой код, который я использую в FL-части запроса для его проверки.
fl=list:if(exists(title),1,0),title
Вот пример записи, которую я получаю неправильно.
<str name="title">Tonight Tonight</str> #Obviously exists
<long name="list">0</long></doc> #Still returns 0
Это мое определение схемы, может быть, у text_general возникли проблемы с этим? Я не могу найти ничего в документах об этом.
<field name="title" type="text_general" indexed="true" stored="true" required="false" multiValued="false" />
Благодаря
Проблема с этим решением является то, что он не будет работать в булевом функциональном запросе. Значение Я не могу использовать это как проверку в выражении if. – user2558898
Вы хотите вернуть значение? – Jayendra
Да, я просто использовал 1 и 0, чтобы указать на его нарушение. Полный запрос будет больше похож на 'fl = list: if (exists (title), title, somethingElse), title' Редактировать: Я действительно работал над этой проблемой, имея запрос на импорт MySQL для проверки для меня и назначить соответствующее значение. Мне все еще интересно, почему это не работает. – user2558898