Я использую Lucene для индексирования узлов в базе данных Neo4j, и я использую строки запросов Lucene для выполнения запросов.Все работает, как и ожидалось, когда я выполняю запросы диапазона, которые являются либо эксклюзивными, либо включающими на обоих концах:
Index.query("value:[1 TO 10]"); // Inclusive range query
Index.query("value:{1 TO 10}"); // Exclusive range query
Тем не менее, это не работает, если я указываю один конец запроса диапазона, чтобы быть эксклюзивнымдругой, чтобы включить, например:
Index.query("value:[1 TO 10}");
Я понимаю, что можно выполнить этот запрос, используя метод QueryContext.numericRange()
, например:
Index.query(QueryContext.numericRange("value", 1, 10, true, false));
Почему этоневозможно сделать то же самое, используя синтаксис запроса Lucene?Я неправильно понимаю синтаксис или неправильно что-то кодирую?
Ссылки:
http://docs.neo4j.org/chunked/stable/indexing-lucene-extras.html
http://lucene.apache.org/java/3_5_0/queryparsersyntax.html