У меня есть индекс отношений, названный датами, который индексирует по 2 полям - «год-число» и «тип». Я намерен использовать интервальные запросы на год-числовом и так индексировали его как цифровойNeo4j: сложные запросы с числовым диапазоном
dates.add(role1, "year-numeric", new ValueContext(2000).indexNumeric());
где role1 связь между 2 узлами.
На моем графике у меня есть 2 типа отношений, которые захватываются вторым полем типа «type».
В то время как я могу запросить его по отдельности:
IndexHits<Relationship> hits = dates.query(QueryContext.numericRange("year-numeric", 1990, 2004),null,null);
и
hits = dates.query("type:occurs");
я был бы обязан, если кто-то может мне помочь в объединении вместе эти два условия.
Я проверил здесь: queryContext - filtering with numbers neo4j/lucene, но я не могу понять решение.
Спасибо!
как насчет 'date.query (« год-число: [1990-2004] и введите: происходит »)'? (не пробовал себя - просто стрелять из бедра). Не забудьте добавить тип в индекс, а также 'date.add (role1," type ", role1.getType(). Name())' –
Привет, спасибо за ответ. Это не работает: я получаю следующую ошибку: Исключение в потоке «main» java.lang.RuntimeException: org.apache.lucene.queryParser.ParseException: не удается проанализировать «год-число: [1990-2004]» и введите: ': Encounted "" 2004 "" в строке 1, колонка 22. Ожидал: "]" –
graphEnthusiast
Возможно, вам придется использовать экземпляр объекта запроса, который является BooleanQuery или AndQuery или что-то в этом роде. –