DEV: Некоторые планы в следующий релиз
Первое, что стоит изменить — поиск. Я не смог добиться «нормального» поиска используя индекс FULLTEXT для этого. Я так понимаю, что возможно этот вариант на случай «чтобы был» более-менее. Кстати, это не только проблема mysql, в Discourse используя PostgreSQL за эти 10 лет, поиск не очень у них. В разных местах, на разных платформах смотрел, где идет поиск по базе, не очень хорошо это дело работает.
Хотя, я возможно просто многого хочу. И стоп-слова используются и корни слов и…, не важно, это не то всё. Да. есть специализированные версии поиска на C++ и Java, но я не хочу тут «прыгать» на разные языки.
Поиск по умолчанию должен быть на php. И я не верю, что ничего нельзя сделать.
Начал искать, нашел хорошее описание, подумал, — оно!
https://github.com/VincentFoulon80/php-search
A Lucene-inspired PHP Search engine library
Библиотека поисковой системы PHP, вдохновленная Lucene.
Читаю, а вижу другое. Дело в том, что Lucene породила ряд подпроектов, например Hadoop и Nutch. А вот с Nutch очень хорошо знаком. И подумал, это и есть что-то близкое.
Нет. Это чуток другое, но меня заинтересовал подход. Собственно, а что теряем, ведь поиск в том виде, что сейчас не совсем устраивает. И если будет новый, он просто обязан быть лучше. Иначе, какой был смысл связываться?
Решил попробовать, сделал, тестирую. Есть некоторые наблюдения, но напишу про них позже.
Вот так это приблизительно выглядит.
> Вот почему, когда получаются графики, происходит такой ужас? :)
Автор сам пишет, мол вы не пугайтесь, потихоньку идите по цепочкам и всё будет ясно.

Не, серьзно, с этими графиками что-то не то. :) Читаешь про «плотность лайков» статью, где графики есть, — ужас. Читаешь про фасеты, кошмар. И тут. Чуть со стула не упал, а на деле, всё куда проще.
В общем, давайте поменяем поиск. Он будет индексировать базу и искать по своей. Будут механизмы управления этим. Поиск будет рассчитывать «вес», расстояние между словами и т.д.
Тестирую на 200.000 записях в 2 независимых схемах. Пока, мне нравится результат. Скорость для PHP приличная и релевантность.
И когда начал делать этот поиск, обратил внимание на локализацию. Её надо изменить.
sprintf(Translate::get('main.title'), 'LibArea');
'main.title' => '%1$s — все посты',
Хоть так:
Translate::get('main.title'', ['name' => 'LibArea']);
'main.title' => '{name} — все посты',
Альтернативный вариант:
__('main.title'', ['name' => 'LibArea']);
// пример
__('key', ['a' => $a, 'b' => $b, 'c' => $c]);
И добавить более гибкую работу с модулями, плюс автоопределение и т.д.
Вот это надо будет сделать в новом релизе.
А мне нравятся такие графики, их в статьи включать хорошо, статьи сразу прилично выглядят. :)
Путаю все, запутать хотят. Ишь ты, нарисовали… ))