|  | 
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Привет други! В продолжение топика JDBC необязательные параметры Надо реализовать имплементацию такого интерфейса. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Приветствуется 1. Восьмерка, девятка-десятка. жигулей. Лямбды-фигамбды. Стримы. 2. Kotlin , Groovy, Java, вобщем все Java-подобное. 3. Перформанс - необязателен. Главное чтоб просто работало корректно. Не приветствуется 1. Готовые платные решения. 2. Вопрос "зачем" и нудотство. 3. Анонимные чужие сорцы. Не нужно 1. Текстовые индексы 2. Искать в стрёмных datatypes (BLOB, raw,... e.t.c.). Достаточно varchar, number. Под катом детали. 1. Используя интерфейс JDBC и фасад ILikeAGoogle и неизвестную БД X мы должны найти список таблиц и список datarows которые содержат искомое ключевое слово. 2. Собрать jar чтоб можно был так run-нить Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Предлагайте ваши варианты. У меня своей реализации еще нет. Go-go кодить! ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 13.09.2018, 16:45 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Наверное насчёт одного connection я был не прав. По идее пул надо передать. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 17:39 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Смысл? Проблем не вижу. Metadata из JDBC, плюс цикл по таблицам + колонкам, плюс поиск (создание SQL запроса). @return collection of pairs : table name, data row (in JSON format). Сложно как-то проще возвращать table name, column name, value особенно, если производительность не важна Искать в стрёмных datatypes (BLOB, raw,... e.t.c.). Достаточно varchar, number. Date нужно? Даже с number есть "стремность". Как искать подстроку "1234" ? Т.к. формат чисел вполне может быть: 1 234 567.89 (пробел в качестве разделителя тысячных разрядов) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 17:45 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Leonid KudryavtsevДаже с number есть "стремность". Как искать подстроку "1234" ? Т.к. формат чисел вполне может быть: 1 234 567.89вот только не надо путать отображение с тем, что хранится ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 18:21 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ вадяLeonid KudryavtsevДаже с number есть "стремность". Как искать подстроку "1234" ? Т.к. формат чисел вполне может быть: 1 234 567.89вот только не надо путать отображение с тем, что хранится Тогда перефразирую вопрос: Как правильно искать подстроку "1234" в хранимом значение 000100101101011010000111 ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 18:35 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Есть число хранимое в СУБД: один миллион двести тридцать четыре тысячи пятсот шестесят сем и восемьдесят девять тысячных По техническому заданию, в этом числе, ищут подстроку "1234" Есть ли она там или ее там нет? Во фразе "один миллион двести тридцать четыре тысячи пятсот шестесят сем и восемьдесят девять тысячных" - "1234" - нет В представление в формате с пробелом в качестве разделителя тысячных "1 234 567.89" - нет В двоичном виде в памяти компьютера (без тысячных) "000100101101011010000111" - тоже нет Но, есть подозрение, что mayton считал, что все же, ответ "есть" ))) Хотелось бы конкретизировать Т.З. Как искать строки в number. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 18:40 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Leonid KudryavtsevТогда перефразирую вопрос: Как правильно искать подстроку "1234" в хранимом значение 000100101101011010000111 поле в котором записано 000100101101011010000111 - какой тип имеет? строковый ? инт? Leonid KudryavtsevВо фразе "один миллион двести тридцать четыре тысячи пятсот шестесят сем и восемьдесят девять тысячных" - "1234" - нет В представление в формате с пробелом в качестве разделителя тысячных "1 234 567.89" - нет В двоичном виде в памяти компьютера (без тысячных) "000100101101011010000111" - тоже нет если искать where поле like '%1234%' найдет потому как поле будет преобразовано в строку 1234567.89 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 18:54 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 18:55 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ mayton, если свяжешься со мной - могу продемонстрировать поиск с использованием like ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:03 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Leonid KudryavtsevDate нужно? Давайте подумаем. Допустим я ищу 16-mar-2018. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:15 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ вадяполе в котором записано 000100101101011010000111 - какой тип имеет? строковый ? инт? это не поле, это электрончики в микросхеме памяти "вот только не надо путать отображение с тем, что хранится" ( C ) вадя Упростим вопрос, число один миллион двести тридцать четыре тысячи пятсот шестесят сем и восемьдесят девять тысячных содержит ли следующие подстроки: 67.89 67,89 ? Какую именно подстроку найдет Ваш like? (с group separator я что-то загнул, на Oracle с первого раза пример соорудить не получилось) вот лично у меня на компьютере, в данный момент, like вообще работает так: SQL> desc xx_test Name Null? Type ----------------------------------------- -------- ---------------------------- N NUMBER SQL> select count(*) from xx_test where n like '%67.89%'; COUNT(*) ---------- 0 SQL> select count(*) from xx_test where n like '%67,89%'; COUNT(*) ---------- 0 SQL> select count(*) from xx_test where n like '%67a89%'; COUNT(*) ---------- 1 Код: plaintext ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:20 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ maytonДавайте подумаем. Допустим я ищу 16-mar-2018.смотря где искать ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:22 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Leonid Kudryavtsev Даже с number есть "стремность". Как искать подстроку "1234" ? Т.к. формат чисел вполне может быть: 1 234 567.89 (пробел в качестве разделителя тысячных разрядов) Если число целое то я вообще не вижу проблемы. Символы группировки можно убрать и искать как строку. Decimal - приводить к единой форме с точкой и искать. Float и double - не надо вообще. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:30 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ вадяmayton, если свяжешься со мной - могу продемонстрировать поиск с использованием like Куда? У нас что, клуб личных встреч? Пиши сюда. У меня нет секретов. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:32 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ maytonКуда? У нас что, клуб личных встреч? Пиши сюда. У меня нет секретов.у меня нет публичного постоянно работающего сервера - поэтому могу только на время предоставить доступ ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:37 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ я к тому, что искать подстроки в любых других типах данных, отличных от char/string, можно только договорившись о дефальтном настройке форматов преобразования типов если с числами, это еще не так очевидно, то с Date это уже в полный рост Т.ч., в общем, если выкинуть "Искать в стрёмных datatypes" то кроме String-подобных типов + Number + Date ничего и не остается. Но и то, для number, хорошо бы default group и decimal separator обговорить. Но тогда, аналогично, и формат для Date ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:38 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ вадяmaytonКуда? У нас что, клуб личных встреч? Пиши сюда. У меня нет секретов.у меня нет публичного постоянно работающего сервера - поэтому могу только на время предоставить доступ Ты что женщина? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:41 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ maytonFloat и double - не надо вообще.ну не надо так не надо но уже  таблица  Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.  данные"id""nn"164867,892454,779  запрос  Код: sql 1. 2. 3. 4. 5.  результат"id""nn"164867,89 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:46 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ maytonТы что женщина?нет, ну не оставлять же комп шуметь пока не используется :) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:47 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Leonid Kudryavtsevя к тому, что искать подстроки в любых других типах данных, отличных от char/string, можно только договорившись о дефальтном настройке форматов преобразования типов если с числами, это еще не так очевидно, то с Date это уже в полный рост Т.ч., в общем, если выкинуть "Искать в стрёмных datatypes" то кроме String-подобных типов + Number + Date ничего и не остается. Но и то, для number, хорошо бы default group и decimal separator обговорить. Но тогда, аналогично, и формат для Date Давайте пока в режиме XP. Будем копить поиск строк в строках. А потом я оформлю user story для расширенных поисков . ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:48 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Leonid KudryavtsevНо и то, для number, хорошо бы default group и decimal separator обговорить. Но тогда, аналогично, и формат для Date не путайте отображение с хранением!!!!! авторdecimal separatorэто только для вывода. если у тебя число/дата хранится в строке - то тут уже трудно о чём-то договариваться если в отдельных полях - проблем вообще нет ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:52 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ вадяmaytonТы что женщина?нет, ну не оставлять же комп шуметь пока не используется :) Мне не интересно смотреть на готовые коробочные решения. Я дал тему. Хочешь - кодь. Не хочешь - подними другой топик где будет твоя тема и твой продукт. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:53 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ maytonМне не интересно смотреть на готовые коробочные решения. Я дал тему. Хочешь - кодь. Не хочешь - подними другой топик где будет твоя тема и твой продукт.как хочешь ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 19:54 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ вадяLeonid KudryavtsevНо и то, для number, хорошо бы default group и decimal separator обговорить. Но тогда, аналогично, и формат для Date не путайте отображение с хранением!!!!! Это ты путаешь! Вот лично у меня, like ни с точкой, ни с запятой ничего не находит. А находит с буковкой "a" вместо decimal separator. См. споллер в сообщение выше. А хранится оно вообще в виде электрончиков на кремниевой подложке. Обычно обозначаемых как кучка единичек и ноликов. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 20:13 |  | ||
| 
Четверговый поиск в БД like a Google. | |||
|---|---|---|---|
| #18+ Leonid KudryavtsevВот лично у меня, like ни с точкой, ни с запятой ничего не находит. А находит с буковкой "a" вместо decimal separator. См. споллер в сообщение выше.а у меня находит, я волшебник? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 18.09.2018, 20:16 |  | ||
|  | 

| start [/forum/moderation_log.php?user_name=%D0%B8%D0%BD%D0%B4%26%231123%3B%D0%B5%D1%86%D1%8A]: | 0ms | 
| get settings: | 12ms | 
| get forum list: | 14ms | 
| get settings: | 9ms | 
| get forum list: | 15ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 45ms | 
| get topic data: | 12ms | 
| get forum data: | 3ms | 
| get page messages: | 61ms | 
| get tp. blocked users: | 1ms | 
| others: | 2705ms | 
| total: | 2885ms | 

| 0 / 0 | 
