Разделение логики на части понятно, но при разнесении этих части в отдельные сервисы, взаимодействующие по сети, появляется дополнительный пласт работ по развёртыванию, мониторингу, авторизации, обеспечению отказоустойчивости, которые в рамках MVP кажутся лишними. Про архитектуру не совсем понятно, ничего же не мешает разделить всё на модули (каждый со своей архитектурой, если необходимо).
Спасибо за статью. Подозреваю, что проблему рассинхронизации можно решить только если не склеивать все предложения в один документ, а поместить их также в nested поле. Рассматривали подобный вариант?
Правильно ли я понимаю, что вы пожертвовали корректностью работы пагинации и сортировок (не по популярности) на больших оффсетах?
В целом было бы интересно узнать, как у вас устроен анализатор в индексе: токенизация, нормализация лексем, синонимы, и т.д., особенно с учётом того, что данные для индекса вам поставляют левые люди - там же наверняка много дичи всякой встречается. Ну и про тестирование, ведь со всеми этими bm25 (хотя есть подозрение, что у вас половина коэффициентов равна нулю), приправленными ML, движок превращается в чёрный ящик, который надо как то тестировать и отлаживать.
Разделение логики на части понятно, но при разнесении этих части в отдельные сервисы, взаимодействующие по сети, появляется дополнительный пласт работ по развёртыванию, мониторингу, авторизации, обеспечению отказоустойчивости, которые в рамках MVP кажутся лишними.
Про архитектуру не совсем понятно, ничего же не мешает разделить всё на модули (каждый со своей архитектурой, если необходимо).
PS На последнем Хайлоаде был прикольный доклад на эту тему https://highload.ru/spb/2023/abstracts/10442 (смотреть за деньги, но там есть бесплатная презентация)
Интересно, почему решили начать сразу с микросервисной архитектуры?
Не, ну у вас вся статья из абсолютов состоит, как и эта фраза про ситхов. Вас раскусили, Дарт Nurked.
Спасибо за статью. Подозреваю, что проблему рассинхронизации можно решить только если не склеивать все предложения в один документ, а поместить их также в nested поле. Рассматривали подобный вариант?
Правильно ли я понимаю, что вы пожертвовали корректностью работы пагинации и сортировок (не по популярности) на больших оффсетах?
В целом было бы интересно узнать, как у вас устроен анализатор в индексе: токенизация, нормализация лексем, синонимы, и т.д., особенно с учётом того, что данные для индекса вам поставляют левые люди - там же наверняка много дичи всякой встречается.
Ну и про тестирование, ведь со всеми этими bm25 (хотя есть подозрение, что у вас половина коэффициентов равна нулю), приправленными ML, движок превращается в чёрный ящик, который надо как то тестировать и отлаживать.