Перейти до вмісту

Блог ·

Тег, який несе половина корпусу

Один тег стояв на 75 зі 127 статей, тож блок «читайте далі» відступав до дати публікації, і 71 сторінка не діставала жодної вхідної плитки.

Автор: Provibr

Під кожною статтею на цьому сайті є блок із чотирьох плиток під заголовком читайте далі. Це є єдиним автоматичним внутрішнім перелінкуванням, яке ми маємо; усе інше є посиланням, що його хтось написав у реченні.

Блок стояв на місці місяцями, і ніхто не питав, що він обирає. Коли ми його зміряли, на відрендерених сторінках виробничої збірки, а не на функції, що їх наповнює, відповіддю було, що він не обирає майже нічого. Зі 127 англійських статей 71 не дістала жодної вхідної плитки. На медіанну статтю не посилався ніхто. Чотири статті дістали 304 з 508 наявних плиток, по 88, 76, 72 і 68 кожна.

Блок, який ніколи не називає 71 сторінку, не є внутрішнім перелінкуванням. Він є списком чотирьох найкращих із заголовком над ним.

Тег не робив жодної роботи

Старий вибір працював трьома родинними шарами: та сама родина зі спільним тегом, інша родина зі спільним тегом, та сама родина без нього. Усередині кожного шару він сортував за датою публікації і брав чотири.

Це читається як розважливий порядок, а на цьому корпусі було машиною для виробництва сиріт, з причини, що не має нічого спільного із сортуванням: proxmox стоїть на 75 зі 127 англійських статей, тобто на 59 відсотках. Майже кожну технічну нотатку цей проєкт пише на Proxmox, тож майже кожна нотатка діставала цей тег.

Тег, який несе половина корпусу, не розрізняє нічого. Тому перший шар майже завжди був повним, а всередині повного шару за датою означає чотири найновіші статті. 300 з 508 сусідніх пар ділили той один тег і більше нічого, а для 75 статей це було правдою про всіх чотирьох сусідів воднораз. Найяснішим симптомом були сторінки порівнянь: чотири статті про альтернативи конкурентним продуктам викладали ті самі чотири свіжі нотатки, а отже ніколи одна одну і ніколи власне пряме порівняння.

Друге вимірювання каже те саме з іншого боку, і воно вирішило, як ми затегували статті, які ви читаєте зараз. Із 75 англійських статей, що несуть proxmox, 43 ніде в тілі не містять слова Proxmox. Тег перестав означати це про Proxmox і почав означати це є однією з наших.

Одна оцінка, три різновиди терма, жодних ручних надбавок

Заміною є одна оцінка. Дві статті є сусідами тією мірою, якою вони ділять терми, а терм вартий ln(N / df): класична обернена документна частота, де N є числом статей тією мовою, а df числом тих, що несуть терм.

Три різновиди термів живуть в одному просторі, з префіксами, щоб вони не могли зіткнутися: tag: із фронтматера, vorm: із форми статті, як її читають зі слага та родини, і over: зі слів предмета в слагу.

Вага випадає сама, а не встановлюється. На корпусі, який ми зміряли, tag:proxmox вартий 0,53, а tag:dedicated 2,45. Жодного з цих чисел ніхто не набирав, і нікому не треба памʼятати про зниження першого, коли надійде шістнадцята нотатка про Proxmox.

Словник предметів є похідним, а не набраним. Він є обʼєднанням слагів інтеграцій, які сайт уже тримає, і значень about із блоків тверджень про конкурентів, звідки й походять такі назви, як solusvm, tenantos, virtfusion та virtualizor: саме ті слова, що є предметом сторінки і не є інтеграцією. Третій написаний рукою список був би четвертим місцем, де живе та сама назва, і першим, що застаріє.

Зважити самі теги є гіршим, а не наполовину кращим

Спокусливою малою зміною є лишити тег єдиним сигналом і просто його зважити. Ми зміряли цей варіант, перш ніж обрати, бо саме це запропонує хтось наступного разу, коли про це зайде мова.

Він дає 74 сироти замість 71, і з 22 сторінок альтернатив та порівнянь рівно одна втримала двох сусідів власної форми, замість девʼяти. Зважування сигналу, що не розрізняє, не змушує його розрізняти. Розрізнення походить із vorm: та over:; обернена документна частота лише вирішує, як поділити вагу.

Якщо ознака майже не має розкиду, її не рятує жодна схема зважування, а хитра формула над поганою ознакою виглядає поступом, бо числа рухаються.

Розвʼязання нічиєї є половиною ремонту

Ось частина, якої ми б не передбачили. На 75 статтях, що не ділять нічого, крім форми нотатки та спільного тега, оцінка є тотожною. Кожна з тих пар є нічиєю, тож усе вирішує розвʼязання нічиєї, а не крайні випадки.

Сортувати нічиї за датою є старою поведінкою в новому пальті: знову чотири найновіші. Розвʼязанням нічиєї тепер є найменш викладена стаття першою, з датою та слагом позаду неї як сталим завершенням.

Саме ця одна зміна звела число сиріт до нуля, і коштує вона чогось справжнього у формі: її не можна обчислити для однієї статті. Треба обійти цілу мову один раз, у сталому порядку, лічачи те, що вже роздано.

В англійській мові: медіана 0 стає 4, максимум 88 стає 12, 71 сирота стає 0. Кожна інша мова виходить на ту саму медіану й той самий нуль, з максимумом 13. Із 46 сусідніх пар, що не ділять жодного тега, усі 46 тепер ділять форму, тоді як раніше 37 пар не ділили геть нічого.

Ми зміряли також штраф усередині самої оцінки, що віднімає чверть наявної лічби плиток статті. Він вирівнює трохи далі, мінімум два замість одного, і купує це за рахунок доречності: частка сусідів, що не мають нічого спільного, зростає з 9,1 до 12,2 відсотка. Розвʼязання нічиєї за побудовою може лише переставити кандидатів, які вже дістали однакову оцінку, тож воно ніколи не може виштовхнути кращого сусіда. Штраф може.

Що сторожа може тут чесно стверджувати

Наявний тест для цього блоку перевіряв, що блок є повним. Він проходив увесь час, і мав рацію: на кожній сторінці рендерилося чотири плитки. Він не мав жодної думки про те, чи є вони бодай про щось.

Очевидне суворе правило для заміни є хибним. Кожна сторінка альтернатив і порівнянь мусить мати щонайменше двох сусідів власної форми звучить як властивість, якої ми хочемо, і змусило б до гірших сусідів: одна з тих сторінок є про альтернативи cPanel, а її чотирма найкращими сусідами є чотири статті про cPanel із нульовим збігом форми. Це є правильним, і правило, що вимагає іншого, це зламало б. Тому сторожа називає ті девʼять сторінок, про які раунд справді був.

А властивості, якої ви хочете, може просто не існувати на ваших даних. Жодна пара не сміє ділити лише найпоширеніший тег є тут нездійсненним. Чесною формою є порівняльна: жоден необраний кандидат не має оцінки, вищої за найслабшого обраного сусіда. Це можна перевірити, це є справжнім визначенням правильності, і воно не вдає, що корпус є чимось, чим він не є.

Що ми б записали

  1. Міряйте відрендерені сторінки, а не функцію. Дефектом є розподіл; функція виглядала добре.
  2. Тег на 59 відсотках корпусу не є сигналом. Він є позначкою фірмового стилю.
  3. Перевірте, чи ваш тег досі означає те, що каже його назва. 43 із 75 не означали.
  4. Шаруватий вибір із сортуванням усередині кожного шару є сортуванням. Першого шару майже завжди вистачало.
  5. Сортування нічиїх за датою повертає перекіс у бік свіжості всюди, де нічиї є частими, а на однорідному корпусі нічия є звичайним випадком.
  6. Розвʼязання нічиєї може бути цілим ремонтом. Наше звело сиріт із 71 до нуля.
  7. Зважування ознаки без розкиду не змінює нічого. Зміряйте спокусливе половинчасте виправлення, перш ніж відкинути його міркуванням.
  8. Віддавайте перевагу розвʼязанню нічиєї перед штрафом. Розвʼязання нічиєї не може витіснити кращого кандидата; наше коштувало б 3,1 пункту доречності, якби могло.
  9. Виводьте свій словник із реєстру, який ви вже тримаєте. Четверта копія назви продукту застаріває першою.
  10. Якщо властивість, якої ви хочете, є нездійсненною, запишіть порівняльну. Ніщо необране не перевершує найслабшого обраного можна перевірити, і воно є правдивим.

Для ясності про те, чим це є: розподіли до і після зчитано з DOM двох виробничих збірок, 20 із 20 сторінок узгодилися з функцією вибору напряму, дві окремі збірки того самого коміту були байт у байт тотожними на 18 секціях плиток, обхід 1758 сторінок не знайшов ні сиріт, ні мертвих посилань, нова сторожа несе 13 тестів, з яких 5 спершу доведено червоними, набір вебу завершився на 4703 зелених, а перевірка вмісту на 923 із 923. Не доведено: вплив усього цього на ранжування, що є вимірним через чотири-шість тижнів і не раніше, проти записаного списку тих 71 сторінки, які раніше не діставали нічого.

Із платформної роботи над Provibr. Що завинили одне одному назва і посилання, які на неї вказують, описано в Три вади, яких не міг побачити жоден скрипт, чому та сама стаття може дістати дві назви, описано в Дві назви для однієї статті, а випадок, коли назва сторінки і заголовок мусять різнитися, описано в Коли назва не може бути заголовком.

Читати далі

Почніть з одного хоста й одного агента

Створіть обліковий запис, встановіть агента однією командою та підключіть свій перший хост Proxmox. Пробний період триває 14 днів і не потребує платіжних даних.