Разжовувание...
Выше я писал, по какому пути пошел лично я, реализуя логику поиска - как хотел Сирин... Но то, что я реализовал - это лишь часть back-end(а) [серверной стороны]. Чтобы в целом запустить проект - надо:
1. Сделать сайт.
2. На сайте сделать вывод ленты публикаций (в данном случает
публикация - это книга).
3. Сделать поиск по физическим сущностям элементов публикаций (книг) и по физическим сущностям содержательной части.
Почему по физическим сущностям? Потому что поиск через %LIKE%, в рамках задуманного Сириным, сильно тормознет работу сайта и соответственно всех ресурсов на сервере - в том случае если нагрузка будет хоть сколько-то приличной... По очевидным причинам поиск через LIKE% или %LIKE не подходит, а %LIKE% при предполагаемых нагрузках будет работать медленно.
Так вот - выше перечисленными пунктами я точно заниматься не буду, как и писал выше.
4. Разработать базы под хранение публикаций исопутствующей информации (рубрикатор, теги, события и пр.).
5. Реализовать систему управления базой, систему наполнения базы.
В рамках пункта 5 следует отметить, что тексты публикаций могут содержать различную разметку, а потому для ее создания понадобится любой редактор, позволяющий создавать эту разметку.
По этому поводу я говорил - TinyMCE и все недостающие плагины под него я напишу.
Но через редактор мы получаем HTML-код, который предположительно может понадобится выводить в различные форматы (Word, PDF, fb2).
По этому поводу я говорил - парсеры из HTML в общий XML и из него в различные форматы (в том числе назад в HTML для редактора и назад в HTML для сайта) я предоставлю.
Так же понадобится реализовать механизм поиска по базе.
По этому поводу я говорил - реализацию этого механизма я предоставлю...
...
Вот как-то так... Что ж тут непонятного то?