Я создаю это приложение для Библии с помощью Datatables.
Моя проблема в том, что данные большие. Всего около 500 МБ.
Это всего около 32 000 строк, но это абзацы текста с разметкой html / css.
Поиск должен быть «умным поиском» (частичное совпадение слов).
Похоже, есть 2 возможных варианта хранения данных:
Я могу иметь данные жить в таблице MySQL. Я знаю, как реализовать обработку на стороне сервера, но я не знаю, как реализовать поиск по регулярным выражениям. Это было успешно сделано несколькими способами здесь: https://datatables.net/forums/discussion/3343/server-side-processing-and-regex-search-filter/p1 (Я не знаю достаточно PHP, чтобы понять, как).
Я могу хранить данные в одном или нескольких файлах JSON. Затем попросите пользователя загрузить все данные в локальное хранилище. Затем выполните интеллектуальный поиск в Datatables. Я не уверен, что поиск будет хорошим, хотя. Я пробовал это в автономном режиме, загрузка только 50 МБ, и поиск уже довольно медленно. (Опять же, мои знания в области программирования очень ограничены).
Пожалуйста, посмотрите и не стесняйтесь направлять меня в правильном направлении 🙂
http://torah.byethost14.com/AdminLTE-master/pages/tables/_talmidimEdition.html
«Тяжелая разметка HTML / CSS»? Будете ли вы искать HTML-теги? Возможно нет. Так…
Есть еще один столбец, который представляет собой чистый текст — без разметки, без HTML, без CSS, даже с номерами стихов. (Номер книги должен быть в отдельных столбцах.)
Затем добавьте FULLTEXT
индекс этого столбца чистого текста. Помните об ограничениях полного текста.
REGEXP
работает медленно и всегда сканирует все строки в таблице.
Есть также несколько полнотекстовых поисковых систем, которые могут быть добавлены в MySQL. (У меня нет совета относительно того, применимы ли они к вашему приложению.)
Других решений пока нет …