Однако структура данных у меня немного другая, поэтому я не могу использовать решение для другого потока.
/>У меня проиндексировано много документов. Есть, как мы это называем, определители, указывающие мне, нужно ли показывать определенные документы или нет. Вот момент, когда начинаются мои проблемы. Вот пример:
Код: Выделить всё
{
locale: en_US,
type: bla,
qualifiers: [
{
criteria: [
{
type: year_range,
lower: 2024,
upper: 2027
},
{
type: ids,
values: [1,20]
}
,
{
type: string_range_term,
lower: "123455",
upper: "zzzzzz"
}
]
},
{
criteria: [
{
type: year_range,
lower: 2010,
upper: 2012
}
]
}
]
}
Документ должен быть сопоставлен следующим образом:
- чтобы вернуть этот документ, должен совпадать весь список критериев хотя бы для одного квалификатора.
- всегда будут указываться входные параметры все возможные значения
- если тип критерия существует – должен совпадать ИЛИ должен отсутствовать
- ввод
год: 2011
id:10
срок: аааа
- должен совпадать – поскольку второй критерий содержит диапазон лет, соответствующий входным – другие параметры игнорируются, поскольку этот критерий содержит один элемент
- ввод
год: 2013
id: 1
термин: zzzzzz
< /ol>- не должно совпадать - поскольку год не совпадает, несмотря на совпадения идентификатора и условий
- ввод
год: 2025
id: 20
срок: zzzzzz
- должен соответствовать, поскольку совпадают все критерии
- < li>ввод:
год: 2025
id: 50
термин: zzzzzz
- не должно совпадать, поскольку ни один из идентификаторов не совпадает.
Мне нужно будет реализовать это в Java, используя остальной клиент... но, имея правильный запрос, я смогу преобразовать его в код Java
заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/783 ... filication
Мобильная версия