powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Расширенный Поиск подстроки
25 сообщений из 102, страница 1 из 5
Расширенный Поиск подстроки
    #39873511
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вечер добрый.

Как расширить значение поиска подстроки в строке
К примеру "поиск машины тоета" находит именно эту строку. Но если пользователь набрал: "оиск ашины тоет" (заметьте я специально пропустил некоторые буквы с начала и конца слов) то результат будет нулевым. Использую следующее:

If(subject.toString().toLowerCase().contained(charSequence))

Конечно можно использовать внутри условия некий условный цикл с перебором и придумывать алгоритм , но если есть "скоростное" решение. зачем заново велосипед придумывать.
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873519
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873520
soundex не поможет?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873528
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar ZК примеру "поиск машины тоета" находит именно эту строку. Но если пользователь набрал: "оиск ашины тоет" (заметьте я специально пропустил некоторые буквы с начала и конца слов) то результат будет нулевым. Использую следующее:вообще это поиск - в базе, там всё решено.
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873623
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873625
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873626
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873627
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873628
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873630
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось написать маленький алгоритм используя разбивку текста на слова (split) или же можно было сделать по другому?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873633
Zafar Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мои извинения отправлял с телефона. Надеюсь админы удалят повторные сообщения .
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873634
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zafar Z,

Твоя задача звучит как нечеткий текстовый поиск.

Ключевые слова: soundex, metaphone, bigram analyze, text index.

Гугли. Находи.

То что ты накодил - это туфта. Не обижайся за правду.
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873638
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonZafar Z,

Твоя задача звучит как нечеткий текстовый поиск.

Ключевые слова: soundex, metaphone, bigram analyze, text index.

Гугли. Находи.

То что ты накодил - это туфта. Не обижайся за правду. fuzzy search
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873642
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы конечно все правы, но есть ненулевая вероятность того, что ему достаточно like
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873677
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaно есть ненулевая вероятность того, что ему достаточно likeвероятность близка к 1,
такой
Zafar Z"оиск ашины тоет"
возможен с like, но это в базе.
странно искать так в java, это очень долго..., да и количество записей ограничено
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873708
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Like не является аналогом fuzzy - поиска.
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873741
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873743
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот у меня есть данные по времени поиск в mysql при помощи like & like &...
в 28 000 и 10 000 000 записях. а есть ли у кого подобный данные для java?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873762
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадявот у меня есть данные по времени поиск в mysql при помощи like & like &...
в 28 000 и 10 000 000 записях. а есть ли у кого подобный данные для java?
Типо ты сам не из java))
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873776
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну like это просто аналог substr, по 99% использований.

Поэтому если юзер тайпает "мос гор бол" имея в виду Московская Гордская Больница то чтобы
такой поиск работал нужна предобработка исходных данных для того чтоб они были подходящими
для индекса. Опять-же разбить на лексемы и проиндексировать каждую отдельно. Как - миллион
технологий есть но все они являются просто подмножеством fuzzy поиска.
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873804
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpТипо ты сам не из java))типо есть спецы и круче
maytonПоэтому если юзер тайпает "мос гор бол" имея в виду Московская Гордская Больница то чтобы
такой поиск работал нужна предобработка исходных данных для того чтоб они были подходящими
для индекса.вот тут есть интересное сравнение (опять таки на mysql)
если 5.7+ поиск в 10 000 000 длился 30 сек, то в 8.+ 4 сек (это когда вводится заведомо не существующее, т.е. поиск по все таблице)
maytonНу like это просто аналог substr, по 99% использований.
действительно, тогда такое "оиск ашины тоет" надо разбить на 3 substr и объединить по &
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873807
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя, при чем тут MySQL ?

Афтор пишет в форум Java. Логичным будет предлагать ему решение в контексте.
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873813
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonвадя, при чем тут MySQL ?

Афтор пишет в форум Java. Логичным будет предлагать ему решение в контексте.мне интересна причина постановки такой задачи на java и поэтому как вариант для сравнения - mysql.
судя по примеру поиска число записей у тс не маленькое. насколько оправдан такой поиск?
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873816
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Например в фирме только java разработчики
...
Рейтинг: 0 / 0
Расширенный Поиск подстроки
    #39873819
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неохота обсуждать MySQL пока автор не подтвердит что его такое решение тоже устроит.
...
Рейтинг: 0 / 0
25 сообщений из 102, страница 1 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / Расширенный Поиск подстроки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]