|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Вечер добрый. Как расширить значение поиска подстроки в строке К примеру "поиск машины тоета" находит именно эту строку. Но если пользователь набрал: "оиск ашины тоет" (заметьте я специально пропустил некоторые буквы с начала и конца слов) то результат будет нулевым. Использую следующее: If(subject.toString().toLowerCase().contained(charSequence)) Конечно можно использовать внутри условия некий условный цикл с перебором и придумывать алгоритм , но если есть "скоростное" решение. зачем заново велосипед придумывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 17:01 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
soundex не поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 17:18 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Zafar ZК примеру "поиск машины тоета" находит именно эту строку. Но если пользователь набрал: "оиск ашины тоет" (заметьте я специально пропустил некоторые буквы с начала и конца слов) то результат будет нулевым. Использую следующее:вообще это поиск - в базе, там всё решено. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 17:34 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:29 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:30 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:30 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:31 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:31 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:32 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Мои извинения отправлял с телефона. Надеюсь админы удалят повторные сообщения . ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:39 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Zafar Z, Твоя задача звучит как нечеткий текстовый поиск. Ключевые слова: soundex, metaphone, bigram analyze, text index. Гугли. Находи. То что ты накодил - это туфта. Не обижайся за правду. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:41 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
maytonZafar Z, Твоя задача звучит как нечеткий текстовый поиск. Ключевые слова: soundex, metaphone, bigram analyze, text index. Гугли. Находи. То что ты накодил - это туфта. Не обижайся за правду. fuzzy search ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:51 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Вы конечно все правы, но есть ненулевая вероятность того, что ему достаточно like ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 22:04 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
chpashaно есть ненулевая вероятность того, что ему достаточно likeвероятность близка к 1, такой Zafar Z"оиск ашины тоет" возможен с like, но это в базе. странно искать так в java, это очень долго..., да и количество записей ограничено ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 00:07 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
вадя, Like не является аналогом fuzzy - поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 07:16 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
1) Soundex в java (это совсем жлобский вариант) http://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/language/Soundex.html но это поиски заточенные на английский. Как будет с кириллицей ХЗ надо тестить. +Metaphone http://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/language/DoubleMetaphone.html 2) Apache Lucene (надо самому всё кодить) https://lucene.apache.org/ (здесь я буду Кеп очевидность потому что в Джава реально ЛЮБЫЕ текстовые поиски в конечном счете приходят к Апач Люсин) 3) ELK (коробочное решение но надо быть намного архитектором чтобы правильно всё собрать) и главное поменьше платить провайдеру. https://www.elastic.co/what-is/elk-stack ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 09:00 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
вот у меня есть данные по времени поиск в mysql при помощи like & like &... в 28 000 и 10 000 000 записях. а есть ли у кого подобный данные для java? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 09:02 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
вадявот у меня есть данные по времени поиск в mysql при помощи like & like &... в 28 000 и 10 000 000 записях. а есть ли у кого подобный данные для java? Типо ты сам не из java)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 09:35 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
Ну like это просто аналог substr, по 99% использований. Поэтому если юзер тайпает "мос гор бол" имея в виду Московская Гордская Больница то чтобы такой поиск работал нужна предобработка исходных данных для того чтоб они были подходящими для индекса. Опять-же разбить на лексемы и проиндексировать каждую отдельно. Как - миллион технологий есть но все они являются просто подмножеством fuzzy поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 09:57 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
PetroNotC SharpТипо ты сам не из java))типо есть спецы и круче maytonПоэтому если юзер тайпает "мос гор бол" имея в виду Московская Гордская Больница то чтобы такой поиск работал нужна предобработка исходных данных для того чтоб они были подходящими для индекса.вот тут есть интересное сравнение (опять таки на mysql) если 5.7+ поиск в 10 000 000 длился 30 сек, то в 8.+ 4 сек (это когда вводится заведомо не существующее, т.е. поиск по все таблице) maytonНу like это просто аналог substr, по 99% использований. действительно, тогда такое "оиск ашины тоет" надо разбить на 3 substr и объединить по & ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 10:36 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
вадя, при чем тут MySQL ? Афтор пишет в форум Java. Логичным будет предлагать ему решение в контексте. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 10:40 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
maytonвадя, при чем тут MySQL ? Афтор пишет в форум Java. Логичным будет предлагать ему решение в контексте.мне интересна причина постановки такой задачи на java и поэтому как вариант для сравнения - mysql. судя по примеру поиска число записей у тс не маленькое. насколько оправдан такой поиск? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 10:50 |
|
Расширенный Поиск подстроки
|
|||
---|---|---|---|
#18+
вадя, Например в фирме только java разработчики ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 10:56 |
|
|
start [/forum/topic.php?fid=59&fpage=21&tid=2121060]: |
0ms |
get settings: |
19ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
525ms |
get tp. blocked users: |
2ms |
others: | 319ms |
total: | 957ms |
0 / 0 |