Example usage for com.liferay.portal.kernel.search Document addKeyword

List of usage examples for com.liferay.portal.kernel.search Document addKeyword

Introduction

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

Prototype

public void addKeyword(String name, String value, boolean lowerCase);

Source Link

Usage

From source file:com.liferay.knowledgebase.admin.util.AdminIndexer.java

License:Open Source License

@Override
protected Document doGetDocument(Object obj) throws Exception {
    KBArticle kbArticle = (KBArticle) obj;

    Document document = getBaseModelDocument(PORTLET_ID, kbArticle);

    document.addText(Field.CONTENT, HtmlUtil.extractText(kbArticle.getContent()));
    document.addText(Field.DESCRIPTION, kbArticle.getDescription());
    document.addText(Field.TITLE, kbArticle.getTitle());

    document.addKeyword("titleKeyword", kbArticle.getTitle(), true);

    return document;
}

From source file:com.liferay.trash.internal.search.TrashedModelDocumentContributor.java

License:Open Source License

@Override
public void contribute(Document document, BaseModel baseModel) {
    if ((baseModel == null) || !(baseModel instanceof TrashedModel)) {
        return;//from   w  ww . ja  v  a 2  s.c om
    }

    TrashedModel trashedModel = (TrashedModel) baseModel;

    if (!trashedModel.isInTrash()) {
        return;
    }

    TrashEntry trashEntry = null;

    try {
        trashEntry = trashedModel.getTrashEntry();
    } catch (PortalException pe) {
        if (_log.isDebugEnabled()) {
            _log.debug("Unable to get trash entry for " + trashedModel, pe);
        }
    }

    if (trashEntry == null) {
        document.addDate(Field.REMOVED_DATE, new Date());

        ServiceContext serviceContext = ServiceContextThreadLocal.getServiceContext();

        if (serviceContext != null) {
            try {
                User user = _userLocalService.getUser(serviceContext.getUserId());

                document.addKeyword(Field.REMOVED_BY_USER_NAME, user.getFullName(), true);
            } catch (PortalException pe) {
                if (_log.isDebugEnabled()) {
                    _log.debug("Unable to locate user " + serviceContext.getUserId(), pe);
                }
            }
        }
    } else {
        document.addDate(Field.REMOVED_DATE, trashEntry.getCreateDate());
        document.addKeyword(Field.REMOVED_BY_USER_NAME, trashEntry.getUserName(), true);

        if (trashedModel.isInTrash() && !trashedModel.isInTrashExplicitly()) {

            document.addKeyword(Field.ROOT_ENTRY_CLASS_NAME, trashEntry.getClassName());
            document.addKeyword(Field.ROOT_ENTRY_CLASS_PK, trashEntry.getClassPK());
        }
    }

    TrashHandler trashHandler = trashedModel.getTrashHandler();

    try {
        TrashRenderer trashRenderer = null;

        if ((trashHandler != null) && (trashEntry != null)) {
            trashRenderer = trashHandler.getTrashRenderer(trashEntry.getClassPK());
        }

        if (trashRenderer != null) {
            document.addKeyword(Field.TYPE, trashRenderer.getType(), true);
        }
    } catch (PortalException pe) {
        if (_log.isDebugEnabled()) {
            _log.debug("Unable to get trash renderer for " + trashEntry.getClassName(), pe);
        }
    }
}