Колонка word_count в таблицах Post и Topic, по-видимому, рассчитывается напрямую на основе количества пробелов, что совершенно неприемлемо для языков, таких как китайский, японский и корейский, где пробелы не используются.
Это не является большой проблемой, поскольку word_count используется редко, но я столкнулся с трудностями в функции AI summary backfill minimum word count. Длинные посты на китайском языке будут отфильтровываться, тогда как короткие посты со смешанным китайским и английским языком (с множеством пробелов) будут суммироваться.
Я считаю, что нам следует использовать сегментатор слов, поддерживающий несколько языков, или просто использовать подсчет символов в таких функциях, как AI summary backfill minimum word count.
Хм, если мы будем умны в отношении нашего пайплайна, мы могли бы использовать cppjieba.
Для этого потребовалось бы, чтобы метод update_index! занимался этим:
Подсчёт символов, вероятно, самое простое решение, учитывая, что чтение слова bla происходит гораздо быстрее, чем чтение supercalifragilisticexpialidocious.
Интересно, можно ли создать PR, который изменит логику так, чтобы мы опирались на подсчёт символов? Тогда мы могли бы делить количество символов на 4, скажем, для английского языка, и на 2 для китайского (через какое-то настройку).
Для китайского языка подсчёт количества иероглифов является наиболее распространённым методом измерения длины текста. С точки зрения реализации мы можем использовать регулярное выражение для фильтрации китайских иероглифов, а затем подсчитать их количество. Такой подход достаточно эффективен и соответствует привычкам использования китайского языка. Хотя название word_count вместо char_count может показаться немного запутанным, возможно, мы могли бы прояснить этот момент в описании соответствующих настроек.