Поисковый запрос в десятичном диапазоне по индексу LUCENE FULLTEXT (Orientdb / Lucene) - PullRequest
0 голосов
/ 17 июня 2019

Я храню все виды значений (Integer, Flot, Date, Text и т. Д.) В столбце «Custom», который является типом данных STRING.Как выполнить поисковый запрос целочисленного диапазона по столбцу «custom» с помощью Lucene?

что-то вроде: - выберите * из CustomTable, где Custom: [1–100];

У меня есть одно решение, добавляемоеноль в начале, но вы ищете альтернативное решение?

Я очень новичок в поиске Lucene

1 Ответ

0 голосов
/ 18 июня 2019

Я предлагаю внимательно прочитать документацию по индексам Lucene в Orientdb, и особенно раздел о запросах диапазона:

http://orientdb.com/docs/3.0.x/indexing/Full-Text-Index.html#numeric-and-date-range-queries

Документы немного объясняют, как работает инвертированный индекс.

Кстати, пример прост:

CREATE CLASS CITY EXTENDS V
CREATE PROPERTY CITY.name STRING
CREATE PROPERTY CITY.size INTEGER
CREATE INDEX City.name ON City(name,size) FULLTEXT ENGINE LUCENE

"размер" объявлен как целое число, чем вы можете использовать запрос диапазона:

SELECT FROM City WHERE SEARCH_CLASS('name:cas* AND size:[15000 TO 20000]') = true

То же самое происходит с датами: определите их правильно в схеме и запросите диапазоны, используя запросы lucene

...