Я работаю над реализацией Solr в проекте, и сейчас я застрял в конкретном поиске, включая поле arr.Дело в том, что:
Я хотел бы найти под-идентификаторы объекта, эти под-идентификаторы хранятся в многозначном поле, например:
<arr name="SubIds">
<int>12272</int>
<int>12304</int>
<int>12306</int>
</arr>
Запрос (или частьзапроса), который я хочу использовать, выглядит следующим образом: map (SubIds, i, i, 1,0)
Когда я, например, заполняю 12304 в поле 'i' в функции карты выше, Я ожидаю, что моя функция вернет 1. Если я введу 12345, она должна вернуть 0. Дело в том, что когда я запускаю этот запрос, он возвращает 0, или «В этом поле нет номера 12304, я возвращаю 0».
При удалении 0 из моей функции карты я вижу фактическое значение, возвращаемое мне (когда 12304 возвращает 1, когда другое возвращаемое значение), в данном случае это 12306!Я пробовал это с несколькими разными многозначными полями, но результат тот же;похоже, что функция проверяет последнее значение в многозначном поле по моему заполненному идентификатору.
Это правда?И когда это произойдет, есть ли способ просмотреть весь arr и вернуть 0 только тогда, когда значение не существует во всем многозначном поле?
** Редактировать: это просто догадка,но может быть так, что функция map () автоматически упорядочивает список arr, когда видит, что все элементы имеют тип int (например).Это может означать, что карта возвращает первое число (наибольшее), которое (в моем примере) будет 12306, а не 12304 ... *
Спасибо!