Описание

Класс для генерации индекса фильтруемых полей сущностей (объектов и страниц) системы. Собранный индекс хранится в отдельной таблице.

Варианты использования:

  • Создать индекс для сущностей определенного иерархического типа:

    
    $indexGenerator = new FilterIndexGenerator(56, 'objects');
    $indexGenerator->run();
    
    
  • Создать индекс для страниц с ограничением по иерархии:

    
    $indexGenerator = new FilterIndexGenerator(56, 'pages');
    $indexGenerator->setHierarchyCondition(4, 100);
    $indexGenerator->run();
    
    
  • Создать индекс в несколько итераций:

    
    $indexGenerator = new FilterIndexGenerator(56, 'pages');
    $indexGenerator->setLimit(50);
    for ($i = 0; !$indexGenerator->isDone(); $i++) {
        $indexGenerator->run();
    }
    
    
  • __construct()
  • setLimit()
  • run()
  • getHierarchyTypeId()
  • getEntitiesType()
  • flushIndex()
  • getTableName()
  • getFilteredFields()
  • getSystemFields()
  • isDone()
  • setHierarchyCondition()
  • updateEntityIndex()
  • dropEntityIndex()
  • dropTable()
  • deleteStoredOffset()
  • deleteSavedFilteredFields()