Download - Про качественный поиск
![Page 1: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/1.jpg)
Про качественный поиск
Андрей Аксенов,Sphinx Technologies Inc
![Page 2: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/2.jpg)
PARENTAL WARNINGADULT CONTENT
![Page 3: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/3.jpg)
[0/4] Зачем это все?
![Page 4: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/4.jpg)
Зачем этот доклад?• Скорости растут => скорости… неважны
• Ну, в жизни, а не синтетических бенчмарках
• Людей-посетителей приучают к “плохому”• Google, Yandex, итп
• Из коробки получается не очень• Из коробки не может получаться, надо по-разному тюнить• Ну и это просто интересная в целом тема!
![Page 5: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/5.jpg)
Почему этот доклад?• Коротенький блиц-доклад с РИТ ‘2011…
![Page 6: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/6.jpg)
Почему этот доклад?• Коротенький блиц-доклад с РИТ ‘2011…
![Page 7: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/7.jpg)
Почему этот доклад?• Коротенький блиц-доклад с РИТ ‘2011…• …за год успел вырасти!
![Page 8: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/8.jpg)
[1/4] Что такое релевантность
![Page 9: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/9.jpg)
Релевантность, это –• Такой спец-термин из поиска• Такое большое человеческое заблуждение• Щаз будем заменять одно заблуждение набором
других!• Возникает т.н. «релевантность» ровно в тот
момент…
![Page 10: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/10.jpg)
…когда кто-нибудь…
![Page 11: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/11.jpg)
…где-нибудь…
![Page 12: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/12.jpg)
…что-нибудь…
![Page 13: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/13.jpg)
…ищет и, увы (*),находит
![Page 14: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/14.jpg)
![Page 15: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/15.jpg)
…ищет и, увы (*),
находит
*) – самый быстрый запрос – пустой!!!
![Page 16: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/16.jpg)
…и приходится ранжировать
![Page 17: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/17.jpg)
![Page 18: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/18.jpg)
Один Случайный Запрос
![Page 19: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/19.jpg)
[battleship]
![Page 20: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/20.jpg)
![Page 21: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/21.jpg)
![Page 22: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/22.jpg)
Правила игры“Морской бой”?
![Page 23: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/23.jpg)
![Page 24: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/24.jpg)
[battle sheep]?
![Page 25: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/25.jpg)
![Page 26: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/26.jpg)
Внезапно, шокирующая истина!!!
![Page 27: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/27.jpg)
![Page 28: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/28.jpg)
“Нет никакой ложки”
![Page 29: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/29.jpg)
![Page 30: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/30.jpg)
И никакой “релевантности” – тоже нет
![Page 31: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/31.jpg)
“Красота – в глазах смотрящего.”
![Page 32: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/32.jpg)
Но ранжировать таки надо!!!
![Page 33: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/33.jpg)
Как же это таки устроено?
![Page 34: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/34.jpg)
Документ"The time has come," the Walrus said,"To talk of many things:Of shoes, and ships, and sealing-wax,Of cabbages, and kings,And why the sea is boiling hot-And whether pigs have wings."
![Page 35: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/35.jpg)
Запрос"The time has come," the Walrus said,"To talk of many things:Of shoes, and ships, and sealing-wax,Of cabbages, and kings,And why the sea is boiling hot-And whether pigs have wings."
![Page 36: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/36.jpg)
1 (один) фактор, BM25
![Page 37: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/37.jpg)
Факторов больше
PageRank DomainAge DocLength
IsSpam IsPorn HITSAuthority
NumIncomingLinks NumOutgoingLinks
WhateverOtherFactor1 WhateverOtherFactor2
![Page 38: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/38.jpg)
И даже еще больше
![Page 39: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/39.jpg)
(btw, фактор == сигнал)
![Page 40: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/40.jpg)
Что и зачем, таки, считаем?
![Page 41: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/41.jpg)
Целевая функция• На входе – куча чиселок, факторов• На выходе – одно число• Rel = Rel(f1, f2, …, f200, …): RNumFactors R
• Ш.И.: но конкретные числа… неважны!• Ш.И.: важен… порядок документов
![Page 42: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/42.jpg)
Метрики качества• Все начинается с оценок
• Теплых, ламповых, человеческих
• Оценивается всегда пара запрос+документ• Бинарные (0/1), “просто” числа, и т.п.• Для простоты, пусть будут тупо бинарные• Bсе это вводится, впрочем, чтобы как-то сравнивать
разные отклики
![Page 43: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/43.jpg)
Пример отклика 11. Sphinx | Open Source Search Server2. Sphinx - Wikipedia, the free encyclopedia3. Great Sphinx of Giza - Wikipedia, the free encyclopedia4. Overview - Sphinx 1.1.2 documentation
![Page 44: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/44.jpg)
Пример отклика 21. Great Sphinx of Giza - Wikipedia, the free encyclopedia 2. Sphinx - Wikipedia, the free encyclopedia3. Sphinx | Open Source Search Server4. Overview - Sphinx 1.1.2 documentation
![Page 45: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/45.jpg)
Пример отклика 31. Sphinx - Wikipedia, the free encyclopedia2. Sphinx | Open Source Search Server3. Overview - Sphinx 1.1.2 documentation4. Great Sphinx of Giza - Wikipedia, the free encyclopedia
![Page 46: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/46.jpg)
Метрики качества• Без учета порядка – Precision, Recall• С учетом порядка – Average Precision, AP
• Или DCG, BPREF, pFound, и т.п.
• Усредняем кучу запросов – Mean AP, MAP• Или средний DCG, BPREF, pFound, и т.п.
• Все, теперь это наша заветная цель• Чем больше, например MAP
=> тем больше Среднее Счастье Пользователя
![Page 47: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/47.jpg)
Извилистый путь релевантности• Есть мега-функция Rel()
• Есть куча документов
• Есть куча запросов
• Есть куча пользовательских оценок
• Считаем Rel (по функции и факторам)=> генерируем отклики (сортировка по Rel)
=> считаем MAP, DCG итп (по оценкам)=> усредняем и сравниваем
![Page 48: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/48.jpg)
Rel(D,Q) = Rel(f1, f2, …, f200, …)
![Page 49: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/49.jpg)
Ш.И.: аналитически – невозможно
![Page 50: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/50.jpg)
![Page 51: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/51.jpg)
Поэтому – машинное обучение…
![Page 52: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/52.jpg)
![Page 53: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/53.jpg)
…считай – регрессия,на вагоне стероидов.
![Page 54: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/54.jpg)
![Page 55: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/55.jpg)
Что подвергается “регрессии”?• Оптимизируем – MAP, например
• Известны – факторы, оценки
• Найти – вид (!), коэффициенты Rel()
• Rel = a1f1 + a2f2 + … ?
• Rel = a1exp(f1) + 1/(a2-f2) + … ?
• …
• См. аналитически невозможно, ага
![Page 56: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/56.jpg)
Засада!!! Вид идеальной функции – неизвестен
![Page 57: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/57.jpg)
![Page 58: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/58.jpg)
Ш.И. – поэтому, вид функции типично берем...
![Page 59: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/59.jpg)
Тупо кусочно-линейный!!!
![Page 60: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/60.jpg)
Я ненавижу математику!
![Page 61: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/61.jpg)
![Page 62: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/62.jpg)
Зачем мне этот хардкор?!
![Page 63: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/63.jpg)
Метрикам – да, ML – тоже да!!!• Если хочется качества, знать таки нужно• Проверять качество вручную нереально
• Быстрая, но болезненная смерть
• Подгонять формулы вручную таки можно!• Мелкие уж точно, да и Google врет
• Но почему не опробовать готовый мат/статпакет?
![Page 64: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/64.jpg)
“Итоги подведем” (с) Гамлет• Релевантность в мире веб-поиска?• Все начинается с оценок, и все оценки субъективные• Оценок и факторов на входе УУУ МНОГО
• Рукой уже никак, обязательно машинное обучение• Обучение == “умная” “регрессия”, условно
• На выходе – ну, какая-то мега-функция• Которая – максимизирует Метрику Счастья
![Page 65: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/65.jpg)
“Итоги подведем” (с) Гамлет• Релевантность в мире веб-поиска для простых людей?• Все начинается с оценок, и все оценки субъективные• Оценок и факторов на входе УУУ МНОГО МАЛО
• Формулу рукой еще можно, но можно и машинное обучение• А вот проверять метрики сразу автоматом, но это просто!
• На выходе – ну, какая-то мега-функция• Которая – максимизирует Метрику Счастья
![Page 66: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/66.jpg)
[2/4] Sphinx, ранкеры
![Page 67: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/67.jpg)
Или…• Как все (теперь) “хорошо” в веб-поиске• Как все (пока еще) “плохо” в менее
затейливых движках• особенно опен-сорсных
![Page 68: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/68.jpg)
![Page 69: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/69.jpg)
“Не было ни единого разрыва!”Все остальные Веб-поиск
1-10… факторов 100-1000+ факторов
0 оценок? 1-10M+ оценок
Ad-hoc функции(см. левая пятка)
Специально обученные функции(см. маш. обучение)
![Page 70: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/70.jpg)
Не все так плохо!• Вы не Google!• А, скажем, сайт про запчасти для Белазов• Незначительно поменьше данных• Чуть пореже запросы• Отклики потоньше• Ad-hoc может приемлемо сработать
![Page 71: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/71.jpg)
![Page 72: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/72.jpg)
Vanilla (!) Lucene @ ROMIP
![Page 73: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/73.jpg)
Как это делает Sphinx• Ранкер: какая-то функция ранжирования• Только харкод: заранее встроенная в Sphinx• Можно выбирать на лету, 1 строкой
• $client->SetRankingMode(SPH_RANK_BM25)• SELECT … OPTION ranker=bm25
![Page 74: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/74.jpg)
Осторожно, скользкая ступенька!• $client->SetRankingMode(SPH_RANK_BM25)
• Через API только в режиме extended• $client->SetMatchMode(SPH_MATCH_EXTENDED)
![Page 75: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/75.jpg)
Кого хотеть?• BM25 – грубо говоря, аналог Lucene• PROXIMITY_BM25 – бустит (под)фразы
• Но однако не смотрит на частоты слов в подфразе
• SPH04 – еще бустит начало поля, точное совпадения поля
• Других встроенных ”про качество” пока нет• И, возможно, уже (почти) не будет…
![Page 76: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/76.jpg)
[3/4] Sphinx, expression ranker
![Page 77: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/77.jpg)
Expression ranker, 2.0.2+
SELECT *, WEIGHT() FROM myindexWHERE MATCH('hello world')OPTION ranker=expr('sum(lcs*user_weight) *
1000+bm25')
![Page 78: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/78.jpg)
Expression ranker, 2.0.2+
SELECT *, WEIGHT() FROM myindexWHERE MATCH('hello world')OPTION ranker=expr('sum(lcs*user_weight) *
1000+bm25')
![Page 79: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/79.jpg)
Да, настолько просто!• Пользоваться – вот так, буквально
• Через API тоже можно
• Дефолтная формула proximity_bm25– вот такая, буквально• sum(lcs*user_weight) * 1000 + bm25
• Как я раньше и говорил, Целых Два Фактора!!!
![Page 80: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/80.jpg)
Просто было в учении• Кучка новых факторов• Document Level:
• bm25, max_lcs, query_word_count, doc_word_count
• Field Level:• lcs, user_weight, hit_count, word_count, tf_idf, min_hit_pos,
min_best_span_pos, exact_hit
• Планируются (и нетяжело) делать еще – звоните
![Page 81: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/81.jpg)
Просто было в учении• Field level обязательно агрегировать
• Функция пока только SUM, но звоните
• Доступны все атрибуты документа• Доступны все встроенные математические функции• Кажется, доступны UDF (не проверял)• Работает подозрительно быстро
![Page 82: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/82.jpg)
Наш самый сложный ранкер• SPH_RANK_SPH04 =
sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25
• Уверен, вы можете лучше :)• Тем более, что теперь все знаете всё :)
![Page 83: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/83.jpg)
[4/4] “Низколетящие фрукты”...
![Page 84: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/84.jpg)
[4/4] …или, что еще можно сделать
![Page 85: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/85.jpg)
Качество != ранжирование• Еще опечатки• Еще “занудность” поиска• Еще морфология• Еще синонимы, расширение запросов• Еще номера моделей, и т.п. вертикали• Еще анализ запросов (натягивание на фильтры)
![Page 86: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/86.jpg)
Ш.И.: уже (давно) МОЖНО
![Page 87: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/87.jpg)
Как бороться “легко”?• Опечатки? sphinx/misc/suggest/• Занудность? Оператор кворума• Анализ запросов? regexps, SHOW KEYWORDS
![Page 88: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/88.jpg)
Как бороться “тяжело”?• Морфология, синонимы – wordforms, stemmer,
expansions, index_exact_words• Местами неудобно, но таки можно
• Номера моделей – препроцессинг, и-или танцы с blend_chars, stopword_step, и т.п.• Нужен ряд ручных правил под предметку, не избежать
![Page 89: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/89.jpg)
Качество != ранжирование• Еще опечатки• Еще “занудность” поиска• Еще морфология• Еще синонимы, расширение запросов• Еще номера моделей, и т.п. вертикали• Еще анализ запросов (натягивание на фильтры)
![Page 90: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/90.jpg)
Итого
![Page 91: Про качественный поиск](https://reader033.vdocuments.pub/reader033/viewer/2022052621/558b3cf5d8b42a0b058b4648/html5/thumbnails/91.jpg)
Итого• Вот как устроена релевантность – вообще• Вот что уже встроено – конкретно в Сфинкс• Вот как теперь бороть релевантность – у нас• Вот какие еще есть беды с качеством – вообще• Вот как можно их тоже забарывать – в целом• Почему ваш поиск до сих пор… так себе?!