Как запрашивать целые числа, числа с плавающей запятой в lucene и как хранить (NumericComparator )?

Более важный вопрос: сможет ли solr поддерживать это? Я знаю, что видел, как lucene может это сделать, и solr построен на lucene.

Где-то я видел пример с использованием Google, но не могу найти его снова, и пример не был полным, поскольку я не думаю, что в нем была часть запроса о том, как я пишу свой оператор запроса для lucene. Я помню, что видел NumericField и этот NumericComparator.

По сути, я пробую решение для формы noSQL, которое предлагает индексирование (на github )(, хотя клиент решает, сколько индексов на таблицу и методологию секционирования, но вы добавляете объекты в индекс и удаляете их самостоятельно и можете использовать namedQueries, хотя вы должны сначала получить индекс по имени перед запросом, поскольку одна таблица может иметь миллионы индексов ).Две основные вещи, которых я хочу добиться, это то, что все это работает с в памяти -nosql fake db и в -индексе памяти (RAMDirectory lucene ), И затем я хочу переключить их на подключение cassandra и СОЛР.

В основном мне нужно

  1. понять, как хранить целые числа, числа с плавающей запятой и т. д.
  2. выяснить, как написать запрос lucene, когда целью являются строки, числа с плавающей запятой, целые числа и т. д.

Прямо сейчас, если вам нужна дополнительная информация, основной код запроса проекта находится по адресуhttps://github.com/deanhiller/nosqlORM/blob/master/input/javasrc/com/alvazan/orm/layer3/spi/index/inmemory/MemoryIndexWriter.java

и в строке 172 вы можете видеть, что я каждый раз добавляю новое поле, но, к сожалению, некоторые из них могут быть целыми.

БОЛЬШОЙ ВОПРОС :Может ли SOLR вообще поддерживать int вместо string? (ЕСЛИ нет, мне придется пойти на хак, добавляя 0 перед целыми, длинными и т. д., чтобы все целые были одинаковой длины ).

ЕСЛИ SOLR может это поддерживать, то как лучше всего использовать lucene или есть хороший пример для этого?

Интерфейс основного индекса, полученный из NoSqlEntityManager.getIndex (Class clazz, String indexPartitionName )— это (, хотя не уверен, что это имеет значение )...https://github.com/deanhiller/nosqlORM/blob/master/input/javasrc/com/alvazan/orm/api/Index.java

спасибо, Дин

5
задан Dean Hiller 1 May 2012 в 23:21
поделиться