Nova /
UserInputIndexUserInputIndex - API индексации данныхAPI UserInputIndex позволяет строить выборки из базы записей UserInput по заданным элементам сохраненных данных. (Поскольку при сохранении данных UserInput в базу они сериализуются, обычными средствами SQL и БД это сделать бывает либо неэффективно либо вообще проблематично.)
Эти значения могут быть использованы затем для быстрой выборки из базы стандартными средствами реляционной базы: LEFT JOIN, RIGHT JOIN и т.д. Например, sql запрос, выбирающий все записи у которых поле data['foo'] равно "bar" может быть таким: select * from userinput LEFT JOIN userinput_index_string as foo ON (userinput.userinput_id=foo.userinput_id AND foo.field_id=$field_id) WHERE foo.value="bar" Здесь $field_id - ИД индекса. Каждый UserInputIndex имеет запись в таблице userinput_index_fields и свой уникальный ИД. Также эта запись хранит название индекса, ключ ветки UserInput к которой он относится, а также perl_regexp выражения управляющие применением индекса к записям. |