а занимался ли кто-то этим всерьез?
т.е. я разбираю текст стеммером и добавляю новые корни в таблицу.
word, wordid
и обновляю кросс-таблицу связей
wordid, documid
все было хорошо на маленьких объемах.
сейчас у меня миллионы документов, а с количеством слов все плохо
единичные закааз меня не напрягают (возможно зря).
а вот любое число это отдельное слово. люди ищут по ИНН, сумме и еще хз чему. отказываться от этого нельзя
в общем сейчас в справочнике слов порядка 8М записей.
сколько записей в кросс-таблице я не знаю - count сделаю только в выходные, сейчас это положит базу.
индекс wordid,documid весит порядка 17ГБ.
почистить справочник слов возможно, но не в разы. а удаление закаазов вряд ли серьезно уменьшит кросс-таблицу.
поиск пока работает терпимо (в справочнике слов есть doccnt и я сортирую джойны по нему), за исключением вариантов, когда люди набирают "клиент кредит ООО" и по каждому слову миллионы пересечений
(это отдельный вопрос как победить)
добавление в кросс-таблицу уже начинает напрягать по времени перестройки индекса.
ну и основной вопрос - что она растет бесконтрольно и уже вызывает вопросы по объему памяти на сервере
https://ru-mysql.livejournal.com/295951.html