У меня мало проблем с семантическим веб-поиском.Я создаю приложение на PHP / MySQL, которое будет работать как «семантическая» поисковая система.Эта проблема, как правило, очень сложная, но моя ситуация немного проще.Мне нужно будет выполнять поиск только по данным на моем веб-сайте и только по данным, которые я добавлю в базу данных.
Идея состоит в том, что somoene ищет еду, поэтому система возвращает рядом с документами еды также документ, который содержит слово Pizza, потому что Pizzaэто еда.Мой сайт будет действительно специфичным, поэтому можно смоделировать все эти отношения (по крайней мере, я так думаю), но я ожидаю, что не будет всего.Первая проблема заключается в том, что я не знаю, как сохранить эти данные в базе данных, я имею в виду эти отношения, потому что это будут отношения N: M, и они должны быть действительно гибкими, потому что они будут использоваться для каждого поиска на сайте.Это будет «как дерево», от самых абстрактных до самых специфических, например Food -> pizza -> margherita, а также food-> vegetarian -> margherita.Моя идея состоит в том, чтобы использовать тройки из семантической сети и сохранять все отношения как обоснованные тройки.
Следующая проблема связана с вводом пользовательских данных.Допустим, пользователи смогут добавлять некоторые «теги» в свой документ, и мое приложение должно было соединить их с моими тройками.Поэтому, если пользователь вводит Pizza, в первую очередь мое приложение должно предложить ему все известные пиццы, и если он выберет margherita, то его документ будет связан с pizza margherita, но если он добавит неизвестную пиццу, мое приложение свяжет его документ с Puzza.только (высшая абстракция).
Позже каждый поисковый запрос будет искать лучшее совпадение в моей модели троек и в документе, связанном с поиском, это хорошая идея?
Мой вопрос действительно общий, как разработать это приложение, что должно быть первымидея или какой-то первый толчок.
Спасибо за любые идеи, как решить эту проблему.