|
Четверговый поиск в БД 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/topic.php?fid=59&msg=39704535&tid=2121021]: |
0ms |
get settings: |
17ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
324ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
440ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 1099ms |
0 / 0 |