Русский > Разработчикам
Связь связи с фильмом
Reset:
Nostra, расскажи, пожалуйста, по каким принципам происходит привязка связи, добавляемой к фильму, к собственно связываемому фильму.
В общем, насколько я знаю, по названию, оригинальному названию и году. Но интересую тонкости.
Каким образом происходит сравнение названий? Сравниваются только соостветствующие пары: название с названием, оригинальное название с оригинальным названием, год с годом? Или перекрестные сравнения тоже производятся: название с оригинальным названием, оригинальное название с названием?
Что происходит, если в фильме есть только одно название (собственно название или оригинальное название), а в связи - оба или другое? А если наоборот?
Каким образом происходит сравнение строк: побайтно безусловно, с учётом / без учёта регистра, без внимания на пробелы / с отбрасыванием конечных/начальных пробелов?
Может быть, ещё какие-нибудь нюансы.
Вопрос не праздный: меня интересует, на что надо обращать внимание разработчикам скриптов/плагинов при обновлении карточки фильма и добавлении связи? Возникают ситуации, когда скрипт пытается добавить связь на существующий фильм, но на существующий фильм она не добавляется, а создаётся новый фильм с таким же названием.
Самому разобраться не получается - нужны твои знания.
nostra:
Всегда когда нужно определить есть ли фильм в базе производятся следующие действия:
1.
(Если указано ориг. название, то сравнить его с ориг. названиями и названиями
ИЛИ
Если указано название, то сравнить его с ориг. названиями и названиями)
И
Если указан год, то сравнить его с годом или год у имеющегося фильма должен быть не указан
2. Если по указанным выше критериям были найдены совпадения, то проверяются URL-ы, т.е. при совпадении домена первого уровня оставшаяся часть адреса должна тоже совпасть.
Reset:
--- Цитата: nostra от 17 Февраля 2009, 00:51:13 ---Всегда когда нужно определить есть ли фильм в базе производятся следующие действия:
1.
(Если указано ориг. название, то сравнить его с ориг. названиями и названиями
ИЛИ
Если указано название, то сравнить его с ориг. названиями и названиями)
И
Если указан год, то сравнить его с годом или год у имеющегося фильма должен быть не указан
2. Если по указанным выше критериям были найдены совпадения, то проверяются URL-ы, т.е. при совпадении домена первого уровня оставшаяся часть адреса должна тоже совпасть.
--- Конец цитаты ---
Я не случайно акцентировал внимание на пробелах или других нюансах, которые могут не учитываться при поиске фильма. Даю ссылку на видео (4,5 Мб), которое снял NewSky (описание проблемы). Обрати внимание на то, что фильм "Кошмар на улице Вязов 3: Воины Сна", на который указывает ссылка, был создан намного позже, чем оригинальная карточка с фильмом, т.е. фильм с описанием уже существовал на момент добавления ссылки. Название, оригинальное название, год и URL новой карточки и старой совпадают с точностью до пробела. Но обращаю внимание, что в ссылке есть конечный пробел, а в названии фильма, IMHO, его нет. И хотя на синтетических тестах с добавлением фильмов с пробелами и без мне не удалось добиться их несвязываемости, но, видимо, что-то есть еще, что дает такой эффект. Вот посему и возник такой вопрос.
nostra:
Сейчас гляну видео.
А по поводу сравнения, то забыл ещё сказать, что:
1. Перед сравнениями перемещаются/удаляются артикли в зависимости от настроек
2. Применяется настройка "все слова с большой буквы" если она включена
3. Убираются пробелы с обоих сторон
4. Сравниваются только 125 первых знаков
5. Сравнение зависит от регистра
Reset:
--- Цитата: nostra от 17 Февраля 2009, 01:29:00 ---Сейчас гляну видео.
А по поводу сравнения, то забыл ещё сказать, что:
1. Перед сравнениями перемещаются/удаляются артикли в зависимости от настроек
2. Применяется настройка "все слова с большой буквы" если она включена
3. Убираются пробелы с обоих сторон
4. Сравниваются только 125 первых знаков
5. Сравнение зависит от регистра
--- Конец цитаты ---
Ты упомянул про зависимость от регистра и я обратил внимание, что настройка "все слова с большой буквы" сама по себе не распространяется на связи.
Так же как и настройка перемещения префиксов.
Так же как и убирание пробелов в связях.
Ни в коем случае не утверждаю, что это не происходит перед сравнением, но может быть что-то из этого оказывает косвенное влияние на несвязываемость?
Навигация
Перейти к полной версии