Практически все что Вы запланировали у меня уже сделано и успешно используется но только не на PHP а на C без плюсов и обратные линки не обязательны.
Дайте ему адрес этого форума и пусть он его неделю сам почитает.
Та система за которую мне начислили штраф и так потиху продвигается, а просто линк этому не поможет потому что она внешне совсем не похожа на каталог и надо внимательно читать то что программа про себя пишет чтобы понять что это такое и как ею пользоваться.
P.S. Послал адрес всем кто спрашивал.
Послал адрес тем кто спрашивал.
Любые предложения обдумываются.
Я раньше тоже так думал, попробовал рассказать про один из моих сайтов с белым и пушистым каталогом, начислили 7 баллов штрафа за рекламу, а сам рассказ почистили.
Проще реализовать, быстрее искать, экономится память, но их не всегда есть смысл использовать.
У меня написано "самим словам идентификаторы нужны только для восстановления текста из прямого индекса" причем для поисковой системы а не про общий случай.
Может Вы того, объясните что значит слово "нечитабельна" по поводу мысли, а то я такого слова в словаре не нашел.
Вы вечный двигатель еще случаем не изобрели?
Любой нормальный учебник по проектированию баз данных причем самое его начало, декомпозиция, нормальная форма Бойса-Кодда, нормализация, почитайте внимательно для чего все это делается.
Мне Ваша путеводная задача пока что даже слабо не ясна.
При неявных идентификаторах слов система получается простой что хорошо для скорости и памяти но очень жесткой, и если например надо обновлять словарь для поисковой системы то придется обновлять его связь с инвертированным индексом, в отличии от случая когда идентификаторы слов явные и используются как указатели на инвертированный индекс то есть являются идентификаторами частей инвертированного индекса для слов, а самим словам идентификаторы нужны только для восстановления текста из прямого индекса но возможно проще хранить сам текст, то есть неявные идентификаторы слов есть смысл применять только в том случае когда словарь не планируется часто обновлять или можно обойтись обновлением отдельного малого словаря пользователя.
Все это написано в учебниках, а для Вашей задачи для начала было бы полезно точно ее задать и уже потом думать как ее решать, здесь много важных переменных которые влияют на выбор алгоритмов и их применение.
Все зависит от точной постановки задачи, можно вообще обойтись без явных идентификаторов и вместо них использовать номера слов в массивах отдельно для каждой длины слова.
@---,---`-----
Массивов может быть несколько для каждой длины слова отдельно что позволит как лучше использовать память при этом ускоряя поиск и обновление так возможно и обойтись 16 бит идентификаторами для слов при этом используя длину слова в качестве неявного расширения пространства идентификаторов. А если для Вашей задачи достаточно скорости последовательного поиска то словарь можно даже сжать причем намного плотнее чем обычный текст.