Dr-Shaman написал:
[q]
Спасибо большое за такой поиск!
не знаю, это баг или фича, но поиск с языком запросов не работает.
Хотел посмотреть редкие отчества, в расчете найти женщин, вышедших замуж, но не получилось.
* тоже не помогает.
Есть ли возможность искать только по имени отчеству и другим параметрам без фамилии?[/q]
Есть. Ответ на Ваш вопрос на скриншоте.
Исходные данные, по которым осуществляется поиск, представлены виде строк, примерно как вы их видите на экране. В них не выделяется отдельно фамилия, отдельно имя, отдельно отчество. И даже, если указан год, то не указано, это год рождения или год смерти.
Например, в источнике может быть:
"Соколов Иван Иванович год 1950".
"Соколов Иван Иванович 12.1950 1960".
"Соколов И. ****ович 12.05".
"П. * Соколов 19*5"
Никаких отдельных полей тут нет. И даже, если пробовать нарезать каждую строку на кусочки, то сделать это крайне сложно и, главное, бесполезно.
Это существенное отличие от любых поисковых систем, в которых данные обычно структурированы.
99% записей начинаются с фамилии. И большинство пользователей ищет указывая как минимум фамилию.
Поэтому, чтобы получить наиболее приемлемый результат по умолчанию предполагается, что человек ввел фамилию и ее нужно искать в исходнике в начале строк.
Если искать по-другому, то, в примере выше поиск "Иванов" выберет Соколова Ивана Ивановича.
Но есть и редкие случаи. Когда в исходнике фамилия указана не на первой позиции. Может быть Имя, а потом Фамилия.
Для таких случаев, а также для поиска по отчествам или по именам как раз и предоставляется возможность выбрать "режим поиска".
Можете выбрать третий вариант и будет искать любые совпадения в любом месте.
А язык запросов на этой странице сокращенный. Под поисковой формой написано, что именно там работает.
"Поддержка "$", "~" ,"?" в языке запросов."
А что касается года, то с технической точки зрения в таком источнике его искать сложнее всего. Одно дело найти точное совпадение, а другое дело найти год из диапазона, который находится на той же строчке, что и фио. Т.е. если человек ищет по диапазону 1900-1950, то в базу данных нужно отправить запрос, чтобы она проверила все 50 значений в этом диапазоне. А если одновременно вводится два диапазона (год рождения 1920-1940) и год смерти (1970-1990), то запрос еще более сложный получается. Поэтому такие запросы с диапазонами могут быть заметно медленнее, чем запросы только по ФИО или только по фамилии.
И еще, раз уж начал делиться особенностями, хочу до всех донести важную деталь.
Современные пользователи избалованы Яндексом, Гуглом и другими подобными системами.
Некоторые из пользователей, когда вводят в поисковике текст в другой раскладке, с пропуском букв, с опечатками итп, понимают, что Яндекс все исправит.
На епоиске есть автоматическая подстановка окончаний и некоторые другие подстановки. Но на епоиске нет замены любых ошибок, а пользователи которые такие ошибочные запросы шлют, есть.
Я в редких случаях проверяю реальные запросы пользователей по данным Яндекс.Метрики, чтобы понимать как улучшить алгоритмы.
И встречаются вот такие запросы, например: "Соколовой Ирины Петровны". И вижу, что человек не нашел того, что искал. Беру его запрос, убираю окончания (или хотя бы в именительном падеже ставлю) и, оказывается, что нужная запись в базе есть. И да
Или другой еще более распространенный случай. Сразу после захода на страницу указывают полное ФИО, полные даты рождения и смерти, и сразу кладбище. Ничего не находят, вероятно, расстраиваются, и уходят. Беру чужой запрос, убираю пару параметров (кладбище или дату итп) и оказывается, что запись о человеке в базе есть. Или вместо точной даты 15.05.1973 оставляю только год 1973 и нахожу. По редким фамилиям я точно вижу, что пользователи при правильном запросе могли бы найти то, что искали. Любая информация, которая введена в поисковую форму, должна совпасть с источником, чтобы запись попала в результат выдачи... Поэтому начинайте с самых простых запросов, а потом дополнительно их усложняйте только при наличии большого количества результатов, которые трудно просмотреть глазами.