2015-07-21 4 views
3

В настоящее время я работаю над веб-приложением, где, в идеале, я смогу поддерживать панель поиска в документах, которые будут храниться для пользователей. Каждый из этих документов будет небольшим отрывом до статьи с приличным размером. (Я не думаю, что какие-либо документы будут больше, чем несколько килобайт текста для поисковых целей). Поскольку я читал о правильных способах использования RethinkDB, один из битов информации, который застрял как беспокойство для меня - это выполнение чего-то вроде фильтра на неиндексированных данных, где я видел, как люди отмечают несколько минут, проведенных в одном из этих вызовов. Учитывая, что я ожидаю, что в долгосрочной перспективе будет составлено не менее 10 000 документов (и на самом деле в течение длительного времени, 100 000+, 1,000,000+ и т. Д.), Есть ли способ поиска этих документов в способ, который имеет время отсрочки (предпочтительно в течение 10 с миллисекунд) в стандартном API RethinkDB? Или мне придется придумать отдельную схему, которая позволяет быстро искать через умное использование индексов? Или мне лучше использовать другую базу данных, которая предоставляет эту возможность?Использование RethinkDB для «Полнотекстового поиска»

ответ

3

Если вы не используете индекс, ваш запрос должен будет смотреть на каждый документ в вашей таблице, поэтому он будет замедляться по мере увеличения вашей таблицы. 10 000 документов должны быть разумными для поиска на быстром оборудовании, но вы, вероятно, не сможете сделать это за 10 секунд миллисекунд, и миллионы документов, вероятно, будут медленными для поиска.

Вы можете посмотреть в elasticsearch как способ сделать это: http://www.rethinkdb.com/docs/elasticsearch/

+1

Поиска каждый документа является основным желанием я имел для функции поиска, поэтому у меня был беспокойство производительности. Я не знал о функциональности elasticsearch, которая отлично подходит для моего использования, спасибо! – Freezerburn

+0

Просто добавлен тег 'rethinkdb' в избранное 15 минут назад, и он уже выплачивает дивиденды. Полнотекстовый поиск - это проблема, которая все еще идет по дороге, но хорошо знать, что ждет решение. – chucksmash

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