Example usage for com.liferay.portal.kernel.search Indexer reindex

List of usage examples for com.liferay.portal.kernel.search Indexer reindex

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search Indexer reindex.

Prototype

@Bufferable
    public void reindex(String className, long classPK) throws SearchException;

Source Link

Usage

From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java

License:Open Source License

protected void index() {
    for (Map.Entry<String, Set<Long>> primaryKeysEntry : _primaryKeys.entrySet()) {

        String className = primaryKeysEntry.getKey();

        Set<Long> primaryKeys = primaryKeysEntry.getValue();

        Indexer<?> indexer = indexerRegistry.getIndexer(className);

        if (indexer == null) {
            if (_log.isWarnEnabled()) {
                _log.warn("No indexer for " + className);
            }/*from  ww  w. j ava2 s .co  m*/

            continue;
        }

        if (_log.isDebugEnabled()) {
            _log.debug("Indexing " + className);
        }

        for (long primaryKey : primaryKeys) {
            try {
                indexer.reindex(className, primaryKey);
            } catch (SearchException se) {
                if (_log.isWarnEnabled()) {
                    _log.warn(StringBundler.concat("Unable to index entry for class name ", className,
                            " and primary key ", String.valueOf(primaryKey)), se);
                }
            }
        }
    }

    if (_ddmStructureKeys.isEmpty()) {
        return;
    }

    Set<Long> primaryKeys = _primaryKeys.get(JournalArticle.class.getName());

    Indexer<?> indexer = indexerRegistry.getIndexer(JournalArticle.class.getName());

    for (String ddmStructureKey : _ddmStructureKeys) {
        List<JournalArticle> journalArticles = journalArticleLocalService.getArticlesByStructureId(getGroupId(),
                ddmStructureKey, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);

        for (JournalArticle journalArticle : journalArticles) {
            if ((primaryKeys != null) && primaryKeys.contains(journalArticle.getPrimaryKey())) {

                continue;
            }

            try {
                indexer.reindex(JournalArticle.class.getName(), journalArticle.getPrimaryKey());
            } catch (SearchException se) {
                if (_log.isWarnEnabled()) {
                    StringBundler sb = new StringBundler(4);

                    sb.append("Cannot index entry: className=");
                    sb.append(JournalArticle.class.getName());
                    sb.append(", primaryKey=");
                    sb.append(journalArticle.getPrimaryKey());

                    _log.warn(sb.toString(), se);
                }
            }
        }
    }
}

From source file:com.liferay.journal.search.JournalArticleIndexer.java

License:Open Source License

@Override
public void reindexDDMStructures(List<Long> ddmStructureIds) throws SearchException {

    if (_indexStatusManager.isIndexReadOnly() || !isIndexerEnabled()) {
        return;/*from   ww  w .j  av a 2s.co m*/
    }

    try {
        final String[] ddmStructureKeys = new String[ddmStructureIds.size()];

        for (int i = 0; i < ddmStructureIds.size(); i++) {
            long ddmStructureId = ddmStructureIds.get(i);

            DDMStructure ddmStructure = _ddmStructureLocalService.getDDMStructure(ddmStructureId);

            ddmStructureKeys[i] = ddmStructure.getStructureKey();
        }

        final Indexer<JournalArticle> indexer = _indexerRegistry.nullSafeGetIndexer(JournalArticle.class);

        final ActionableDynamicQuery actionableDynamicQuery = _journalArticleLocalService
                .getActionableDynamicQuery();

        actionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

            @Override
            public void addCriteria(DynamicQuery dynamicQuery) {
                Property ddmStructureKey = PropertyFactoryUtil.forName("DDMStructureKey");

                dynamicQuery.add(ddmStructureKey.in(ddmStructureKeys));

                if (!isIndexAllArticleVersions()) {
                    Property statusProperty = PropertyFactoryUtil.forName("status");

                    Integer[] statuses = { WorkflowConstants.STATUS_APPROVED,
                            WorkflowConstants.STATUS_IN_TRASH };

                    dynamicQuery.add(statusProperty.in(statuses));
                }
            }

        });
        actionableDynamicQuery
                .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalArticle>() {

                    @Override
                    public void performAction(JournalArticle article) throws PortalException {

                        try {
                            indexer.reindex(indexer.getClassName(), article.getResourcePrimKey());
                        } catch (Exception e) {
                            throw new PortalException(e);
                        }
                    }

                });

        actionableDynamicQuery.performActions();
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.portlet.asset.service.impl.AssetEntryLocalServiceImpl.java

License:Open Source License

@Override
public void reindex(List<AssetEntry> entries) throws PortalException {
    for (AssetEntry entry : entries) {
        String className = PortalUtil.getClassName(entry.getClassNameId());

        Indexer indexer = IndexerRegistryUtil.nullSafeGetIndexer(className);

        indexer.reindex(className, entry.getClassPK());
    }/*from  ww w .j ava  2s. com*/
}

From source file:com.liferay.portlet.expando.model.impl.ExpandoBridgeImpl.java

License:Open Source License

public void reindex() {
    if (!isIndexEnabled()) {
        return;/*  ww  w .  j  a  v  a  2s.  c om*/
    }

    Indexer indexer = IndexerRegistryUtil.getIndexer(_className);

    if (indexer != null) {
        try {
            indexer.reindex(_className, _classPK);
        } catch (Exception e) {
            _log.error(e, e);
        }
    }
}

From source file:com.liferay.resourcesimporter.util.FileSystemImporter.java

License:Open Source License

protected void index() {
    for (Map.Entry<String, Set<Long>> primaryKeysEntry : _primaryKeys.entrySet()) {

        String className = primaryKeysEntry.getKey();

        Set<Long> primaryKeys = primaryKeysEntry.getValue();

        Indexer indexer = IndexerRegistryUtil.getIndexer(className);

        if (indexer == null) {
            if (_log.isWarnEnabled()) {
                _log.warn("No indexer within the IndexerRegistry for: " + className);
            }//  ww w  .ja  va 2 s. c  o m

            continue;
        }

        if (_log.isDebugEnabled()) {
            _log.debug("Indexing: " + className);
        }

        for (long primaryKey : primaryKeys) {
            try {
                indexer.reindex(className, primaryKey);
            } catch (SearchException e) {
                if (_log.isWarnEnabled()) {
                    _log.warn("Cannot index entry: className=" + className + ", primaryKey=" + primaryKey, e);
                }
            }
        }
    }

    if (_ddmStructures.isEmpty()) {
        return;
    }

    Set<Long> primaryKeys = _primaryKeys.get(JournalArticle.class.getName());

    Indexer indexer = IndexerRegistryUtil.getIndexer(JournalArticle.class.getName());

    for (String ddmStructureKey : _ddmStructures) {
        List<JournalArticle> journalArticles = JournalArticleServiceUtil.getArticlesByStructureId(getGroupId(),
                ddmStructureKey, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);

        for (JournalArticle journalArticle : journalArticles) {
            if ((primaryKeys != null) && primaryKeys.contains(journalArticle.getPrimaryKey())) {

                continue;
            }

            try {
                indexer.reindex(JournalArticle.class.getName(), journalArticle.getPrimaryKey());
            } catch (SearchException e) {
                if (_log.isWarnEnabled()) {
                    _log.warn("Cannot index entry: className=" + JournalArticle.class.getName()
                            + ", primaryKey=" + journalArticle.getPrimaryKey(), e);
                }
            }
        }
    }
}

From source file:com.liferay.trash.test.util.BaseTrashHandlerTestCase.java

License:Open Source License

protected void reindex(ClassedModel classedModel) throws Exception {
    Indexer<?> indexer = IndexerRegistryUtil.nullSafeGetIndexer(classedModel.getModelClassName());

    long classPK = (Long) classedModel.getPrimaryKeyObj();

    indexer.reindex(classedModel.getModelClassName(), classPK);
}