
Chuvi
01.07.2017
21:27:27

A16
01.07.2017
21:27:41

Eugene
01.07.2017
21:27:58

Серега
01.07.2017
21:28:01

Google

Eugene
01.07.2017
21:28:26

AlekVolsk
01.07.2017
21:28:30
воскресная ночь... какого хрена вы тут все делаете? а ну быстро пошли своих баб ебать!

A16
01.07.2017
21:28:40

Eugene
01.07.2017
21:28:47
мне тут пришлось подписывать 3 страницы!

A16
01.07.2017
21:28:49

Eugene
01.07.2017
21:28:55
бегать печатать, копировать

A16
01.07.2017
21:29:02
и?

Eugene
01.07.2017
21:29:37
оно существует и оно не просто так :)

Chuvi
01.07.2017
21:29:54

A16
01.07.2017
21:30:00

Серега
01.07.2017
21:30:12

Eugene
01.07.2017
21:30:18

A16
01.07.2017
21:30:25

Google

Chuvi
01.07.2017
21:30:45
Ясно, печаль, пойду в другом чате людей попытаю...

AlekVolsk
01.07.2017
21:31:02
Я спрашиваю как лучше нивелировать опечатки
ты хочешь свой орфословарь забабахать? ))) ну-ну )))

Eugene
01.07.2017
21:31:54
уверен есть готовые решения, которые поддерживаются комьюнити, а ты собираешься писать свое с 0

AlekVolsk
01.07.2017
21:32:21
вообще потому и используют браузерный автокомплит, потому что он зависит от словарей операционки, это, мать его, та еще технология

Chuvi
01.07.2017
21:32:54
Я и другую раскладку в этом случае учитываю даже.

AlekVolsk
01.07.2017
21:33:57
еще раз: самое быстрое - это регулярка, иначе то, что ты напишешь - по сути будет той же регуляркой, но сделанной через назад

Chuvi
01.07.2017
21:35:13
Ох, ну давай начнём ещё раз этот разговор.
Привет, чат!
Есть тут самураи регулярок?
Подскажите, пожалуйста, выражение, которое проверит строку на наличие всех символов из заданного набора.
Например: при наборе символов "опля", должны пройти проверку строки "поля","заполярный","яблопо" (я не опечатался), но не должны "тополь", "поле", "колбаса", "лоперамидол".

AlekVolsk
01.07.2017
21:36:34
да читал, там был нормальный пример

Chuvi
01.07.2017
21:36:49

AlekVolsk
01.07.2017
21:37:02
и онлайн-генератор тебе давали, давно бы сам тестами выявил бы

Chuvi
01.07.2017
21:38:06
Я тут три дня сидел, выявлял. Выяви мне, пожалуйста, если ты так хорош в них.

A16
01.07.2017
21:41:05

AlekVolsk
01.07.2017
21:41:27
http://baco.su/articles/regulyarnye-vyrajeniya/

Chuvi
01.07.2017
21:46:34

AlekVolsk
01.07.2017
21:47:40
а ты думал, за тебя все делать будут? на стакоферфлоу поищи тогда, там все халявщики тусуются

Chuvi
01.07.2017
21:52:38
Что за меня делать-то я кого-то попросил?
Нет регулярки которая мне бы подошла, понимаешь? Я попробовал все варианты из этого чата, которые мне предложили, весь стэк оверфлоу и вагон всякой хрени которая не сработала, или сработала, но не так как хотелось бы. Плюс они медленные.
Я переписал всё на for через массив, всё отлично, быстро, опечатки детектирует, раскладку переводит, но хотелось бы чуть более точного вычисления опечаток. И соответственно как результат - чуть более релевантную выдачу.

Google

Chuvi
01.07.2017
21:53:55
Поэтому я и пришёл с абстрактным вопросом о детектировании опечаток при вводе.

AlekVolsk
01.07.2017
21:54:55

Eugene
01.07.2017
21:55:27
https://en.wikipedia.org/wiki/Levenshtein_distance

Chuvi
01.07.2017
21:55:32


Кирилл
01.07.2017
21:55:45
Что за меня делать-то я кого-то попросил?
Нет регулярки которая мне бы подошла, понимаешь? Я попробовал все варианты из этого чата, которые мне предложили, весь стэк оверфлоу и вагон всякой хрени которая не сработала, или сработала, но не так как хотелось бы. Плюс они медленные.
Я переписал всё на for через массив, всё отлично, быстро, опечатки детектирует, раскладку переводит, но хотелось бы чуть более точного вычисления опечаток. И соответственно как результат - чуть более релевантную выдачу.
Я не читал тред и не знаю, что ты делаешь, но подойдет ли тебе индекс схожести? Можно условно обозвать процентом, если на 90% совпадает - то ок.
Сделать это не сложно. Оптимизировать тоже можно, сначала отбросить все слова, которые, отличаются по длине, возможно с амплитудой +-1, а дальше их сравнивать
Регуляркой "примерно подходит" не получится

Eugene
01.07.2017
21:56:22
для мисспелов обычно используют алгоритм - "Расстояние Левенштейна"
ну так говорит stackoverflow :)

Chuvi
01.07.2017
21:57:31
Вот тут уже стало интереснее, спасибо братцы, ща вкурю.

Eugene
01.07.2017
21:58:04
https://gist.github.com/andrei-m/982927 вот реализация на js, есть еще на mysql
https://github.com/gustf/js-levenshtein

Chuvi
01.07.2017
22:00:50
Ну, да, то что надо. )
Щас погоняю.

Eugene
01.07.2017
22:01:21
удачи :)

Chuvi
01.07.2017
22:19:59
удачи :)
Ну чо. Производительность упала всего в два раза, а точность... Ну я хз во сколько раз выросла. )
Спасибо огромное за идею с расстоянием Левенштейна. Чот как то раньше не встречалс мне этот принцип.

Eugene
01.07.2017
22:21:41
просто интересно если будет 500+ городов/объектов, как оно будет отрабатывать
можешь на генерировать ?)

Chuvi
01.07.2017
22:24:41

Eugene
01.07.2017
22:25:14
просто у меня плохая ассоциация с браузерами и их производительностью, мне кажется такой алгоритм должен на бэкэнде обрабатывать и отдавать результат
о, а пробовал в localstorage? xd

Chuvi
01.07.2017
22:26:15
По слову из десяти букв с двумя опечатками поиск отлично отрабатывает за 55 мсек.

Google

Chuvi
01.07.2017
22:26:26
Всё равно сбрасывать.
о, а пробовал в localstorage? xd
Ну и sessionStrage доступен всегда, если поддерживается, а localStorage - нет. В incognito-mode например, он закрыт вообще, ни записать ни прочитать...

Eugene
01.07.2017
22:28:11
ах да

Chuvi
01.07.2017
22:29:32

Admin
ERROR: S client not available

Chuvi
01.07.2017
22:29:55
15346 записей.
В связи с тем что темпы появления новых географических объектов на территории России невысок (вроде после Крыма ничего отжать не планируют же) да и всяких баз отдыха тоже не плодится как грибов после дождя - я не ожидаю взрывного роста базы в ближайшее время. Если что-то поменяется, возмжно придётся пересмотреть алгоритм. )))

A16
01.07.2017
22:33:11
кто нибудь расскажет мне про печенья?

Chuvi
01.07.2017
22:33:43

A16
01.07.2017
22:34:02

Chuvi
01.07.2017
22:34:23

A16
01.07.2017
22:34:55

Eugene
01.07.2017
22:36:47
ток не путай куки серверные и браузерные ;0

Chuvi
01.07.2017
22:37:11
вобще в каких ситуациях лучше их использовать
В тех, когда надо что-то хранить у пользователя из того, что надо бы получить на сервере без лишнего мозготрахства. Идентификаторы какие-нить некритичные. Настройки интерфейса, например. Ну или когда ничего более емкого нет. Типа localStorage того же. Но он только для js, на сервер из него передавать придётся аяксом...

A16
01.07.2017
22:38:27

Chuvi
01.07.2017
22:40:27

A16
01.07.2017
22:40:50

Chuvi
01.07.2017
22:42:03
Да. И куки тоже не помешают. С такими целями чем больше загородок тем лучше. )

Google

A16
01.07.2017
22:42:35
это сила )
вроде все сказал?

Chuvi
01.07.2017
22:43:03
Обойти всё равно не проблема, но чем больше заборов, тем дольше обходить. )

A16
01.07.2017
22:43:41
и как же обойти VPS? ))

Chuvi
01.07.2017
22:44:07
Ты имеешь ввиду VPN всё же наверное...

A16
01.07.2017
22:44:27

Chuvi
01.07.2017
22:45:53
Если браузер тот же, то смена IP не сильно поможет. Можно ж по куки, по local/sessionStorage, по user-agent проверять. Есть вон методики сверки пользователя по железу в его компе, но она посложнее конечно. )))

A16
01.07.2017
22:47:10
думаю той 3-ки хватит )))

Chuvi
01.07.2017
22:49:13
В зависимости от потребностей - её обычно хватает чтобы усложнить жизнь неискушённым пользователям...
думаю той 3-ки хватит )))
Если интересно как вообще можно затрэкать кого угодно - сходи проверься на https://panopticlick.eff.org/, там результаты фингерпринта показывают, по ним понятно как именно отслеживают пользователей в сети. )

A16
01.07.2017
22:53:01
BOM?
я про сам браузер
устройство там
и вроде OC

Chuvi
01.07.2017
22:54:47
Не понял вопроса. Можешь в одном предложении?

A16
01.07.2017
22:58:34