2015-02-19 4 views
1

Я использую ES для своего приложения laravel в качестве поисковой системы.Elasticsearch mapping integer или long

Но когда дело доходит до сопоставления, я не знаю, когда использовать целое число или долго для моих номеров?

У меня есть база данных MySql, которая добавляет данные в мою базу данных ES.

Мне нужно сделать мои номера доступными для поиска или сортировки. Например, сортировать по цене или искать по цене.

Я не могу найти что-либо в документах, говорящих, когда использовать целое или длинное.

Заранее спасибо

+0

Вы должны спросить себя, будет ли это число когда-либо распространяться на 64-битное, если так использовать длинный, если не использовать int. – Robert

ответ

3

Единственное различие между междунар и долго размер числа, которые можно представить. В принципе, int представляет собой 32-разрядное целое число со знаком, а long - это 64-разрядное целое число со знаком. Итак, если значение, которое вам нужно представлять, больше, чем 2 - 1, вам нужно использовать длинный.

Чтобы гарантировать, что вы можете искать/сортировать по полю, вам нужно убедиться, что он проиндексирован (not_analyzed).

Elasticserach mapping документация.
Elasticsearch core types документация.
Java primitive types документация.

+0

Хорошо, просто чтобы убедиться. Я установил его как «index: not_analyzed»? Чтобы сделать его доступным для поиска – user2722667

+0

И так как я настоящий нуб. Насколько велика цифра, которую я могу хранить в каждом? 1 - 100000? – user2722667

+1

@ user2722667 Короткий ответ: да. Более длинный ответ: 'index' имеет три варианта:« проанализирован »,« not_analyzed »и« нет ». Чтобы искать/сортировать поле, вы должны установить 'index' либо« проанализированный », либо« not_analyzed ». Для числовых полей параметр «проанализирован» не имеет смысла, поэтому для поиска/сортировки числовых полей вам нужно установить «index» в «not_analzyed». Соответствующая документация право [здесь] (http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/mapping-intro.html#_index_2). – patricus

Смежные вопросы