Example usage for com.liferay.portal.kernel.search Field NODE_ID

List of usage examples for com.liferay.portal.kernel.search Field NODE_ID

Introduction

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

Prototype

String NODE_ID

To view the source code for com.liferay.portal.kernel.search Field NODE_ID.

Click Source Link

Usage

From source file:com.liferay.portlet.wiki.util.WikiIndexer.java

License:Open Source License

@Override
public void postProcessContextQuery(BooleanQuery contextQuery, SearchContext searchContext) throws Exception {

    int status = GetterUtil.getInteger(searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_ANY);

    if (status != WorkflowConstants.STATUS_ANY) {
        contextQuery.addRequiredTerm(Field.STATUS, status);
    }//  w w w  .jav  a2s . c  o  m

    long[] nodeIds = searchContext.getNodeIds();

    if ((nodeIds != null) && (nodeIds.length > 0)) {
        BooleanQuery nodeIdsQuery = BooleanQueryFactoryUtil.create(searchContext);

        for (long nodeId : nodeIds) {
            try {
                WikiNodeServiceUtil.getNode(nodeId);
            } catch (Exception e) {
                continue;
            }

            nodeIdsQuery.addTerm(Field.NODE_ID, nodeId);
        }

        contextQuery.add(nodeIdsQuery, BooleanClauseOccur.MUST);
    }
}

From source file:com.liferay.portlet.wiki.util.WikiIndexer.java

License:Open Source License

@Override
protected Document doGetDocument(Object obj) throws Exception {
    WikiPage page = (WikiPage) obj;//from  ww  w. ja v  a2  s .  com

    Document document = getBaseModelDocument(PORTLET_ID, page);

    document.addUID(PORTLET_ID, page.getNodeId(), page.getTitle());

    String content = HtmlUtil.extractText(WikiUtil.convert(page, null, null, null));

    document.addText(Field.CONTENT, content);

    document.addKeyword(Field.NODE_ID, page.getNodeId());
    document.addText(Field.TITLE, page.getTitle());

    return document;
}

From source file:com.liferay.wiki.search.WikiPageIndexer.java

License:Open Source License

@Override
public void addRelatedEntryFields(Document document, Object obj) throws Exception {

    long classPK = 0;

    if (obj instanceof Comment) {
        Comment comment = (Comment) obj;

        classPK = comment.getClassPK();//from  w w w  .  j a va2 s  .  c o  m
    } else if (obj instanceof FileEntry) {
        FileEntry fileEntry = (FileEntry) obj;

        RelatedModelCapability relatedModelCapability = fileEntry
                .getRepositoryCapability(RelatedModelCapability.class);

        classPK = relatedModelCapability.getClassPK(fileEntry);
    }

    WikiPage page = null;

    try {
        page = _wikiPageLocalService.getPage(classPK);
    } catch (Exception e) {
        return;
    }

    document.addKeyword(Field.NODE_ID, page.getNodeId());
}

From source file:com.liferay.wiki.search.WikiPageIndexer.java

License:Open Source License

@Override
public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext)
        throws Exception {

    addStatus(contextBooleanFilter, searchContext);

    long[] nodeIds = searchContext.getNodeIds();

    if (ArrayUtil.isNotEmpty(nodeIds)) {
        TermsFilter nodesIdTermsFilter = new TermsFilter(Field.NODE_ID);

        for (long nodeId : nodeIds) {
            try {
                _wikiNodeService.getNode(nodeId);
            } catch (Exception e) {
                if (_log.isDebugEnabled()) {
                    _log.debug("Unable to get wiki node " + nodeId, e);
                }/*w ww  .  j a  va2  s  .  c  o m*/

                continue;
            }

            nodesIdTermsFilter.addValue(String.valueOf(nodeId));
        }

        if (!nodesIdTermsFilter.isEmpty()) {
            contextBooleanFilter.add(nodesIdTermsFilter, BooleanClauseOccur.MUST);
        }
    }
}

From source file:com.liferay.wiki.search.WikiPageIndexer.java

License:Open Source License

@Override
protected Document doGetDocument(WikiPage wikiPage) throws Exception {
    Document document = getBaseModelDocument(CLASS_NAME, wikiPage);

    try {//ww w.  java 2  s .co m
        String content = HtmlUtil.extractText(_wikiEngineRenderer.convert(wikiPage, null, null, null));

        document.addText(Field.CONTENT, content);
    } catch (WikiFormatException wfe) {
        if (_log.isDebugEnabled()) {
            _log.debug("Unable to get wiki engine for " + wikiPage.getFormat());
        }
    }

    document.addKeyword(Field.NODE_ID, wikiPage.getNodeId());

    String title = wikiPage.getTitle();

    if (wikiPage.isInTrash()) {
        title = TrashUtil.getOriginalTitle(title);
    }

    document.addText(Field.TITLE, title);

    return document;
}