2015-01-22 3 views
1

Я хочу найти несколько строк в очень большой базе данных. Эти строки являются частью разных атрибутов таблицы базы данных. Я пробовал поиск строк, используя LIKE в sql-запросе. Но для получения результатов требуется много времени. Я использовал базу данных Oracle.Как найти несколько строк в очень большой базе данных

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

+1

Как насчет текста Oracle? –

ответ

3

Самый простой способ: 1. ) добавить индекс к столбцам вы хотели искать корыто 2.) с помощью оракула текст @lalitKumarB писал

Самый мощный способ: 3.) использовать отдельную поисковую систему (solr, elaticsearch).

Но, вероятно, вы должны изменить ваше приложение для того, чтобы явного использования индекса поиска для поиска корыта данных, ...

У меня была такая же ситуация несколько лет назад. Попытка поиска текста в большой базе данных. После того, как я узнал, этот поиск по базе данных никогда не достигнет производительности посвященной поисковой системы. И: у вас будет гораздо больше функций поиска, работающих из коробки, если вы используете solr (например), например, исправление орфографии, «Больше похоже на это», ...

Один из вариантов - сохранить данные о orcale , поиск в solr и возврат идентификатора документа, чтобы загрузить только одну строку oracle, на нее ссылается идентификатор. Вторая опция - сохранить оракул в качестве базового файла данных для вашей поисковой системы и поиска в solr (или elasticsearch), чтобы вернуть весь документ/строку из solr, а не только идентификатор. Поэтому вам больше не нужно загружать данные из базы данных.

Лучший вариант зависит от ваших потребностей.

+0

Спасибо @ The Bndr – hp36

+0

@ hp36, пожалуйста, отметьте этот ответ как правильный, если он самый полезный. –

+0

можно использовать нечеткое соответствие строк в elaticsearch или solr – hp36

1

У вас есть выбор между elasticsearch, Solr или Lucene

+1

lucene - это библиотека, в то время как solr и elaticsearch - это приложения, которые использовали lucene –

+0

, мы можем что-то развивать над lucene, нет? – Charmi

+1

причины. Но похоже, что «lucene» -world является новым для @ hp36. Так может случиться так, что кто-то будет лечить эквивалент lucene как приложение, например solr. Lucene не является готовым рабочим решением, например solr. Вот почему я написал этот комментарий. –