parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

я не могу себе представить что такое "одноуровневое дерево" :)

Misha v.3 15.06.2005 13:08

и продолжаю считать что вы решили пойти неверной дорогой.

вместо того, чтобы структурировать данные на одном уровне вы делаете это на нескольких, т.е. все усложняете.
WHERE big_field like "%<adr%>%Ленина%</adr%>%"
не будет работать например на такой структуре:
<adr>Маркса 666</adr>
<post-adr>Ленина 44</post-adr>
<adr>Энгельса 13</adr>

к чему это я? к тому, что вы или вынуждены будете писать rlike и искать нормальными регулярными выражениями (т.е. забудьте про индексы в любом их проявлении) или вводить дополнительную типизацию вашего xml-я. т.е. это должен будет быть не просто валидный xml но и xml удовлетворяющий определенным критериям.

при тех исключениях, о которых я говорил выше, возможно хранить "структуры" в одном поле, но вы от этих исключений ушли.

к слову замечу, что получаемый "движок" не есть универсальный. для больших струкрут он не годится в принципе, т.к. как только вы (или тот, кто будет пользоваться им и не знать специфики) захотите сделать первый поиск - все ляжет.

мне кажется более прямым путь, когда разные данные разнесены в разные поля. для унификации "движка" список полей может храниться отдельно (файл, БД, xml - не важно, можно с комментариями если вы забываете какое поле что означает), и инсталяция "движка" подразумевает разовую процедуру создания таблиц/нужных индексов, при этом типовая его инсталяция уже имеет поля, необходимые в большинстве случаев.