|
Добавление индексов
|
|||
---|---|---|---|
#18+
Здравствуйте, есть ли алгоритм как лучше и правильно добавлять индексы... Возьмём таблицу контакта lastName firstName middleName phone Как надо анализировать и добавлять индексы Один на каждое поле или может лучше комбинированный на фио и второй на телефон... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 18:07 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Как только запросы к таблице станут медленными, на основании анализа их планов можно добавить индексы, которые СУБД сможет использовать в более оптимальных планах. Нет серебряной пули. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 18:18 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Всего за доллар Брент Озар продает курс https://www.brentozar.com/archive/2021/06/learn-fundamentals-of-index-tuning-for-1/ ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 18:44 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
-=Koba=- Здравствуйте, есть ли алгоритм как лучше и правильно добавлять индексы... Возьмём таблицу контакта lastName firstName middleName phone Как надо анализировать и добавлять индексы Один на каждое поле или может лучше комбинированный на фио и второй на телефон... Индексами ускоряют не таблицу, а ДОСТУП к таблице. Соответственно плясать надо от селектов к этой таблице. Будет там where lastName = 'ivanov' - будет смысл в индексе на это поле, а если будет lastName like '%ov% - не будет смысла ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 11:51 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Ivan Durak а если будет lastName like '%ov% - не будет смысла если PG в этом случае gin индекс будет работать ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2021, 03:25 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Поскольку ни один нормальный человек не в состоянии набрать "Гурбангулы Мяликгулыевич Бердымухамедов" без ошибок на слух то скорее всего в топике речь идет о нечетком текстово поиске. Для этого поиска мы берем просто все поля вкидываем в поисковой вектор и индексируем. Номер телефона тоже туда можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 23:22 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Ivan Durak -=Koba=- Здравствуйте, есть ли алгоритм как лучше и правильно добавлять индексы... Возьмём таблицу контакта lastName firstName middleName phone Как надо анализировать и добавлять индексы Один на каждое поле или может лучше комбинированный на фио и второй на телефон... Индексами ускоряют не таблицу, а ДОСТУП к таблице. Соответственно плясать надо от селектов к этой таблице. Будет там where lastName = 'ivanov' - будет смысл в индексе на это поле, а если будет lastName like '%ov% - не будет смысла Еще нужно плясать от размеров таблицы. Если таблица небольшая, то и дополнительные индексы не потребуются. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 04:17 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Ivan Durak Будет там where lastName = 'ivanov' - будет смысл в индексе на это поле, Совершенно не обязательно. Например, если там в таблице только Иванов, Петров, и Сидоров :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 12:31 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton Поскольку ни один нормальный человек не в состоянии набрать "Гурбангулы Мяликгулыевич Бердымухамедов" без ошибок на слух Я и прочитать-то это не смогу, не то что написать ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 12:32 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
У меня много раз была идея попробовать нарисовать MindMap или экспертную систему по текстовому поиску. Почему именно так? Да потому-что сам текстовый поиск - это большая и бесконечно сложная постановка. И если один текстовый поиск работает в 1 случае, то в другом его рецепт может быть не применим или покажет плохой перформанс. Кому-то нужно просто поискать в документах по предприятию какое-то ключевое слово. Код проекта например. А кому-то другому в логах лежащих в биг-дата поискать физлицо. Эти обе постановки суть - текстовый поиск. Но реализации скорее всего будут очень разные. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 12:43 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton Кому-то нужно просто поискать в документах по предприятию какое-то ключевое слово. Код проекта например. А кому-то другому в логах лежащих в биг-дата поискать физлицо. Эти обе постановки суть - текстовый поиск. Но реализации скорее всего будут очень разные. Был продукт Oracle Secure Enterprise Search, который позволял решить многие из таких задач. https://www.oracle.com/technetwork/search/oses/overview/ses11222ds-1969734.pdf ORACLE SECURE ENTERPRISE SEARCH VERSION 11G R2 Oracle Secure Enterprise Search 11g (SES), a standalone product from Oracle, enables a high quality, secure search across all enterprise information assets. Key SES features include:
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 13:43 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
У Оракла самая невыгодная стоимость владения данными. Если он складывает свои текстовые индексы в табличные пространства - то нет варианта класть их в большие и дешевые хранилища Google/AWS/Azure. Если как то по другому хранит - то я не знаю тогда. Может и выгоднее. Но я-бы при любых раскладах сначала пробовал Sphinx/ElasticSearch как бесплатные варианты где у меня будет 1000 способов куда ложить индексы. И только в самую последнюю очередь смотрел бы в Оракл. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 13:52 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton У Оракла самая невыгодная стоимость владения данными. Если он складывает свои текстовые индексы в табличные пространства... Слишком голословное утверждение. Поясните свою мысль. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 23:26 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Если взять две аналогичные системы текстового поиска ElasticSearch и Oracle и дать им один объем данных и одну задачу - то Oracle будет вам дороже стоить по TCO. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 10:04 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton Если взять две аналогичные системы текстового поиска ElasticSearch и Oracle и дать им один объем данных и одну задачу - то Oracle будет вам дороже стоить по TCO. Вы не найдете таких "аналогичных систем", поскольку у Oracle намного шире набор возможностей и функций. Поэтому такое сравнение не получается. Сравните "Жигули" классику и старый "Мерседес". Да, карбюраторы у них одинаковые, но на этом "аналогичность" заканчивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 12:21 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Я не согласен с тем что ElasticSearch сравнивается с Жигулями. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 13:02 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton Я не согласен с тем что ElasticSearch сравнивается с Жигулями. это фронтальный погрузчик. Идеально подходит для фронтальной погрузки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 13:33 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton Я не согласен с тем что ElasticSearch сравнивается с Жигулями. Все познается в сравнении. Ford-T тоже был несравненно хуже Жигулей. Вы уже изучили возможности Oracle Secure Enterprise Search (SES)? Как обстоят дела в ElasticSearch с контекстным поиском на русском языке? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 14:07 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Ivan Durak mayton Я не согласен с тем что ElasticSearch сравнивается с Жигулями. это фронтальный погрузчик. Идеально подходит для фронтальной погрузки. Но только карьерных самосвалов! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 14:09 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Хорошо. Пускай погрузчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 15:06 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
земелю уже уволили похоже, навалил дюжину индексов в проде - вся база встала колом на запись, но крайнего нашли быстро :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 14:38 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Ivan Durak земелю уже уволили похоже, навалил дюжину индексов в проде - вся база встала колом на запись, но крайнего нашли быстро :)) Да, и такое бывает (про индексы). :-) Про уволить - это вряд ли. Просто заставили разгребать + может ещё премии лишили. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2021, 21:14 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
SQL*Plus Вы уже изучили возможности Oracle Secure Enterprise Search (SES)? Как обстоят дела в ElasticSearch с контекстным поиском на русском языке? Я не согласен с такой постановкой вопроса. Вы посылаете меня читать про SES для чего? Что-бы я сам искал какое-то доказательство для чего-то. Так не делается в форумах. Доказательство - это задача утверждающего. Вот вы и доказывайте. Мяч на вашей стороне вобщемто. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2021, 21:22 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton SQL*Plus Вы уже изучили возможности Oracle Secure Enterprise Search (SES)? Как обстоят дела в ElasticSearch с контекстным поиском на русском языке? Я не согласен с такой постановкой вопроса. Вы посылаете меня читать про SES для чего? Что-бы я сам искал какое-то доказательство для чего-то. Так не делается в форумах. Доказательство - это задача утверждающего. Вот вы и доказывайте. Мяч на вашей стороне вобщемто. Я ничего никому доказывать не собираюсь. Тем более, что Oracle Secure Enterprise Search (SES) снят с продажи, как отдельный продукт. Мерседесы 1976 года тоже давно не продают массовому покупателю. Жигули ВАЗ-2106 выпуска 1976 года лучше, чем Ford-T выпуска 1927 года Мерседеc 1970 года лучше Жигулей ВАЗ-2106 выпущенного в 2006 году. Вопрос остался: Как обстоят дела в ElasticSearch с контекстным поиском на русском языке? Вы знаете ответ? P.S. Oracle Secure Enterprise Search прекрасно выполнял контекстный поиск на русском языке, если дополнительно использовался российский продукт Russian Context Optimizer . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 22:14 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
SQL*Plus Как обстоят дела в ElasticSearch с контекстным поиском на русском языке? Вы знаете ответ? Я отвечу так. Я использовал ElasticSearch для поиска в логах сведений об ошибках. Разумеется логи - англоязычные. Поддерживает ли конкретно ElasticSearch русский я не знаю. Но по стеку технологий. Эластик использует Apache Lucene а тот в свою очередь имеет модули поддержки русского языка. Есть алгоритмы стемминга. По поводу как "обстоят дела" - я не могу ответить. Это слишком размытый вопрос. Это вопрос требующий глубокого погружения в область. У меня нет столько времени. Если у вас есть сведенья о дефекте ElasticSearch - то прошу вас эти сведенья предоставить. Подача намёков на дефект, согласитесь выглядит как легкий троллинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 10:28 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton SQL*Plus Как обстоят дела в ElasticSearch с контекстным поиском на русском языке? Вы знаете ответ? Я отвечу так. Я использовал ElasticSearch для поиска в логах сведений об ошибках. Разумеется логи - англоязычные. Поддерживает ли конкретно ElasticSearch русский я не знаю. Но по стеку технологий. Эластик использует Apache Lucene а тот в свою очередь имеет модули поддержки русского языка. Есть алгоритмы стемминга. По поводу как "обстоят дела" - я не могу ответить. Это слишком размытый вопрос. Это вопрос требующий глубокого погружения в область. У меня нет столько времени. Если у вас есть сведенья о дефекте ElasticSearch - то прошу вас эти сведенья предоставить. Подача намёков на дефект, согласитесь выглядит как легкий троллинг. Я вообще не знаю, что такое ElasticSearch. Но я знаю, что у многих (большинства?) заграничных программных продуктов есть проблемы лексической обработки информации на русском языке. (Они есть и у Oracle Context без RCO) Поэтому я спрашиваю: корректно ли обрабатывает ElasticSearch русскоязычную информацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 20:03 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
SQL*Plus, а ты "русскоязычную информацию" в транслит засунь ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 20:54 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
бабушкин зайчик SQL*Plus, а ты "русскоязычную информацию" в транслит засунь И чем это поможет? [spoiler] Товарищ не понимает ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 23:12 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
SQL*Plus, во1, будет занимать в 2 раза меньше пространства а во2, будет искать быстрее и без проблем с кириллицей ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 23:24 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
точнее пространства надо будет больше, потому что будет основной текст + транслит но не сильно больше, потому что транслит займёт только горячие кеи ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2021, 01:55 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Товарищ бабушкин зайчик, вы понимаете о чём идет речь? Догадываетесь, что такое "поиск с учетом словоформ"? Или так просто прикалываетесь s etim samym translitom? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2021, 14:11 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
бабушкин зайчик SQL*Plus, а ты "русскоязычную информацию" в транслит засунь Нет. Это так не работает. Обычно текстовый поиск индексирует токены. Это ключи которые покрывают отражают документ и по которым впоследствии строится формула рейта. Тоесть насколько близок документ к искомому поисковому выражению. Токены для разных языков получаются по разному. Для русского языка обычно используется алгоритм 1) отбрасывания стоп-слов. 2) Стемминга, тоесть свёртки всех падежей и склонений к основе. Apache Lucene (engine для Elastic) под капотом использует алгоритм SnowBall для стеммингования русских слов. SnowBall последовательно отсекают суффиксы и окончания от слова до тех пор пока оно не достигнет некого устойчивого состояния. И эта основа - идет в индекс как ключ. Отдельно также идет алгоритм лемматизации. Правда я не знаю используется ли лемматизация в Elastic. Также нет точной информации подключается ли модуль русского языка в Elastic. Это надо смотреть в настройках Elastic. Для каждого языка или группы языков - существует в открытых исходниках своя реализация преобразования документа в токены. Все прочие алгоритмы упрощения текстового поиска - идут обычно от незнания. Люди которые не разбираются в текстовом поиске часто представляют себе задачу по другому. Или представляют себе что текстовый поиск это просто очередная разновидность grep или не дай бох B+Tree индекса в БД. Поэтому сама по себе идея замены русских букв на транслитерацию ничего хорошего на дает для текстового поиска а лишь ухудшает селективность результата. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2021, 14:35 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
я не прикалываюсь. что с того что морфологический поиск? там точно также будут разные окончания, которые можно отбросить и искать по словам во фразах возможно в эластике надо словарик создавать, но возможно кто-то уже додумался ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2021, 14:37 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
mayton, так то можно сначала отбросить окончания, а потом сделать транслитерацию но оно и сразу должно сработать в эластике ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2021, 14:39 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
Я-же говорю - селективность упадет. Как ты будешь различать русское "море" и английское "more" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2021, 15:02 |
|
Добавление индексов
|
|||
---|---|---|---|
#18+
[quot mayton#22370394] бабушкин зайчик Токены для разных языков получаются по разному. Для русского языка обычно используется алгоритм 1) отбрасывания стоп-слов. 2) Стемминга, то есть свёртки всех падежей и склонений к основе. Apache Lucene (engine для Elastic) под капотом использует алгоритм SnowBall для стеммингования русских слов. SnowBall последовательно отсекают суффиксы и окончания от слова до тех пор пока оно не достигнет некого устойчивого состояния. И эта основа - идет в индекс как ключ. Этот алгоритм без словаря русских слов даст весьма неточные токены. Классические примеры: Ходить, иду, шёл, прошёл. + разные значения одного слова Посол (человек), посла, послом, послы. Посол (засолка чего-либо), посола, посолом, посолы. Правда тут они приводятся к единому токену "посол" Короче, нужен помощник (дополнительный модуль) по местному языку, чтобы все работало правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2021, 16:49 |
|
|
start [/forum/topic.php?all=1&fid=32&tid=1539783]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 252ms |
total: | 431ms |
0 / 0 |