БД для хранения XML

Stydent

Новичок
БД для хранения XML

У меня есть XML документы. Надо организовать поиск по ним. Оптимальным вариантом будет использование БД для хранения XML документов (м.б. надстройки к существующей БД), которая будет использовать индексирование документов.
Подскажите каким образом это сделать. Или open-source БД.
ОС Windows, Apache, PHP, MySQL
 

Alexandre

PHPПенсионер
Stydentсамое простое (и неправильное) - это организовать полный контекстный поиск. При этом все XML документы необходимо привести в нормальную форму - Cn14, в соответствии с Рекомендациями W3c
более менее правильное хранение XML документов - это сформировать таблицу, в которой основопологающие поля (по которым будет идти максимальная нагрузка при поиске) запихнуть в отдельные поля. Ну и отдельным текстовым полем - сам документ.

XML ориентированные БД - есть, но они только в стадии разработок и испытаний (сейчас я затруднюь ответить название).

Ну и последнее - если все документы одной структуры, то парсить все в соответсвующие поля. Но тут тебя поджидает другая опастность - это автоматическое формирование правильного поискового запроса.
 

slach

Новичок
Alexandre ;)) вот насчет XML ориентированных баз данных
ты сильно не прав

Cache 5.1, Virtuoso, Tamino... инструментов с XQuery вполне даже толпа... и они развиваются, только в сторону PHP никто из них не смотрит =) скорее смотрят в сторону .NET
 

Alexandre

PHPПенсионер
только в сторону PHP никто из них не смотрит =) скорее смотрят в сторону .NET
Я не вижу в этом проблемы, у каждой БД должно быть АПИ, а раз еть АПИ, значить всегда можно его использовать, путей три (четыре)
- написать свое расширение (замутисть свой ОпенСоурсе )
- использовать стандартного клиента БД через командную строчку ( возможно, но много возни)
- использовать часть АПИ через phpswig
- использовать АПИ через Джаву (как правило большинство БД поддерживают Ждабовское АПИ)
- использовать АПИ БД через .NET (если XML сервак на Win)
 
Сверху