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

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

Introduction

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

Prototype

public String get(String name);

Source Link

Usage

From source file:com.bemis.portal.customer.service.impl.CustomerProfileLocalServiceImpl.java

License:Open Source License

@Override
public List<CustomerProfile> searchCustomer(String criteria, int start, int end) throws PortalException {

    long companyId = _bemisPortalService.getDefaultCompanyId();

    List<CustomerProfile> customerProfiles = new ArrayList<>();

    LinkedHashMap<String, Object> params = new LinkedHashMap<>();

    params.put(_EXPANDO_ATTRIBUTES, criteria);

    Hits hits = _organizationLocalService.search(companyId,
            OrganizationConstants.DEFAULT_PARENT_ORGANIZATION_ID, criteria, params, start, end, null);

    Document[] documents = hits.getDocs();

    for (Document doc : documents) {
        long orgId = GetterUtil.getLong(doc.get(Field.ORGANIZATION_ID));

        Organization org = _organizationLocalService.getOrganization(orgId);

        customerProfiles.add(asCustomerProfile(org));
    }//from w ww.j a v  a 2  s . c  om

    return customerProfiles;
}

From source file:com.cd.learning.hook.MBUtil.java

License:Open Source License

public static List<Object> getEntries(Hits hits) {
    List<Object> entries = new ArrayList<Object>();

    for (Document document : hits.getDocs()) {
        long categoryId = GetterUtil.getLong(document.get(Field.CATEGORY_ID));

        try {//ww  w.ja  va  2 s .  co  m
            MBCategoryLocalServiceUtil.getCategory(categoryId);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn("Message boards search index is stale and contains " + "category " + categoryId);
            }

            continue;
        }

        long threadId = GetterUtil.getLong(document.get("threadId"));

        try {
            MBThreadLocalServiceUtil.getThread(threadId);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn("Message boards search index is stale and contains " + "thread " + threadId);
            }

            continue;
        }

        String entryClassName = document.get(Field.ENTRY_CLASS_NAME);
        long entryClassPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK));

        Object obj = null;

        try {
            if (entryClassName.equals(DLFileEntry.class.getName())) {
                long classPK = GetterUtil.getLong(document.get(Field.CLASS_PK));

                MBMessageLocalServiceUtil.getMessage(classPK);

                obj = DLFileEntryLocalServiceUtil.getDLFileEntry(entryClassPK);
            } else if (entryClassName.equals(MBMessage.class.getName())) {
                obj = MBMessageLocalServiceUtil.getMessage(entryClassPK);
            }

            entries.add(obj);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn("Message boards search index is stale and contains " + "entry {className="
                        + entryClassName + ", " + "classPK=" + entryClassPK + "}");
            }

            continue;
        }
    }

    return entries;
}

From source file:com.idetronic.eprint.service.impl.EprintLocalServiceImpl.java

License:Open Source License

public List<Eprint> searchIndex(String keyword, long companyId, long groupId) throws SystemException {

    Hits hits = getHits(keyword, companyId, groupId);
    // 1. return null if no results
    if (Validator.isNull(hits) || hits.getLength() == 0)
        return null;

    List<Eprint> eprints = new ArrayList<Eprint>();
    for (Document document : hits.getDocs()) {
        long eprintId = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK));
        Eprint eprint = fetchEprint(eprintId);
        eprints.add(eprint);//  w w  w  .  java2 s .  c om
    }
    return eprints;
}

From source file:com.inkwell.internet.slogan.search.SloganIndexer.java

License:Open Source License

public Summary getSummary(Document document, String snippet, PortletURL portletURL) {

    String title = document.get(Field.TITLE);

    String content = snippet;//w w  w  .  j av a 2s . c  o  m

    if (Validator.isNull(snippet)) {
        content = document.get(Field.DESCRIPTION);

        if (Validator.isNull(content)) {
            content = StringUtil.shorten(document.get(Field.CONTENT), 200);
        }
    }

    String resourcePrimKey = document.get(Field.ENTRY_CLASS_PK);

    portletURL.setParameter("jspPage", "/admin/view_slogan.jsp");
    portletURL.setParameter("resourcePrimKey", resourcePrimKey);

    return new Summary(title, content, portletURL);

}

From source file:com.inkwell.internet.slogan.search.SloganIndexer.java

License:Open Source License

@Override
protected void doDelete(Object obj) throws Exception {

    Slogan slogan = (Slogan) obj;/*from  w  w w . j  ava2  s  .co  m*/
    Document document = new DocumentImpl();

    document.addUID(PORTLET_ID, slogan.getPrimaryKey());

    SearchEngineUtil.deleteDocument(slogan.getCompanyId(), document.get(Field.UID));

}

From source file:com.library.slayer.service.impl.LMSBookLocalServiceImpl.java

License:Open Source License

public List<LMSBook> AdvanceSearchAny(long companyId, long groupId, String title, String author, String desc) {

    SearchContext searchContext = new SearchContext();
    searchContext.setCompanyId(companyId);
    searchContext.setEntryClassNames(CLASS_NAMES);
    BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(searchContext);
    Hits hits = null;/*from w  ww. j  av a2s.c om*/
    try {
        String[] terms = { Field.TITLE, Field.DESCRIPTION, Field.NAME };
        searchQuery.addTerms(terms, getModelClassName());
        searchQuery = createQuery(getModelClassName(), getModelClassName(), searchContext, searchQuery);
        hits = SearchEngineUtil.search(searchContext, searchQuery);
    } catch (SearchException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    List<LMSBook> books = null;

    if (hits != null && hits.getLength() > 0) {
        books = new ArrayList<LMSBook>();
        for (Document document : hits.getDocs()) {

            long bookId = Long.parseLong(document.get(Field.ENTRY_CLASS_PK));
            try {
                LMSBook book = LMSBookLocalServiceUtil.getLMSBook(bookId);
                books.add(book);
            } catch (PortalException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SystemException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    return books;

}

From source file:com.library.slayer.service.impl.LMSBookLocalServiceImpl.java

License:Open Source License

public List<LMSBook> advanceSearchAll(long companyId, long groupId, String title, String author, String desc,
        String type) {//from   w w w  .j a va 2 s  .  co m

    SearchContext searchContext = new SearchContext();
    searchContext.setCompanyId(companyId);
    searchContext.setEntryClassNames(CLASS_NAMES);

    BooleanQuery contextQuery = BooleanQueryFactoryUtil.create(searchContext);
    contextQuery.addRequiredTerm(Field.COMPANY_ID, companyId);
    contextQuery.addRequiredTerm(Field.PORTLET_ID,
            Long.toString(ClassNameLocalServiceUtil.getClassNameId(LMSBook.class)));

    BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    fullQuery.setQueryConfig(searchContext.getQueryConfig());
    try {
        fullQuery.add(contextQuery, BooleanClauseOccur.MUST);
    } catch (ParseException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(searchContext);
    Hits hits = null;

    if (Validator.isNotNull(title)) {
        Sort sort = new Sort(Field.TITLE, true);
        searchContext.setSorts(new Sort[] { sort });

        fullQuery = createQuery(Field.TITLE, title, searchContext, fullQuery);

    }
    if (Validator.isNotNull(author)) {
        fullQuery = createQuery(Field.NAME, author, searchContext, fullQuery);
    }
    if (Validator.isNotNull(desc)) {
        fullQuery = createQuery(Field.DESCRIPTION, desc, searchContext, fullQuery);
    }

    if (searchQuery.clauses().size() > 0) {
        try {
            fullQuery.add(searchQuery, BooleanClauseOccur.MUST);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    try {
        hits = SearchEngineUtil.search(searchContext, fullQuery);
    } catch (SearchException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    List<LMSBook> books = new ArrayList<LMSBook>();

    if (hits != null && hits.getLength() > 0) {
        for (Document document : hits.getDocs()) {

            long bookId = Long.parseLong(document.get(Field.ENTRY_CLASS_PK));
            try {
                LMSBook book = LMSBookLocalServiceUtil.getLMSBook(bookId);
                books.add(book);
            } catch (PortalException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SystemException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    return books;
}

From source file:com.library.slayer.service.impl.LMSBookLocalServiceImpl.java

License:Open Source License

public List<LMSBook> searchBooks(long companyId, String keywords) {

    SearchContext searchContext = new SearchContext();
    searchContext.setCompanyId(companyId);
    searchContext.setEntryClassNames(CLASS_NAMES);

    BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(searchContext);

    Hits hits = null;// ww  w  . jav a 2s  . c  o  m

    try {
        String[] terms = { Field.TITLE, Field.DESCRIPTION };
        searchQuery.addTerms(terms, keywords);
        hits = SearchEngineUtil.search(searchContext, searchQuery);
    } catch (SearchException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    List<LMSBook> books = null;

    if (hits != null && hits.getLength() > 0) {
        books = new ArrayList<LMSBook>();
        for (Document document : hits.getDocs()) {

            long bookId = Long.parseLong(document.get(Field.ENTRY_CLASS_PK));
            try {
                LMSBook book = LMSBookLocalServiceUtil.getLMSBook(bookId);
                books.add(book);
            } catch (PortalException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SystemException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    return books;

}

From source file:com.liferay.alloy.mvc.AlloySearchResult.java

License:Open Source License

public List<BaseModel<?>> getBaseModels() throws Exception {
    if (baseModels != null) {
        return baseModels;
    }/*from w ww . j  a v a  2s. com*/

    List<BaseModel<?>> baseModels = new ArrayList<BaseModel<?>>();

    Document[] documents = hits.getDocs();

    for (int i = 0; i < documents.length; i++) {
        Document document = hits.doc(i);

        long entryClassPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK));

        BaseModel<?> baseModel = alloyServiceInvoker.fetchModel(entryClassPK);

        if (baseModel == null) {
            continue;
        }

        baseModels.add(baseModel);
    }

    this.baseModels = baseModels;

    return baseModels;
}

From source file:com.liferay.alloy.mvc.BaseAlloyIndexer.java

License:Open Source License

@Override
protected void doDelete(Object obj) throws Exception {
    BaseModel<?> baseModel = (BaseModel<?>) obj;

    Document document = new DocumentImpl();

    document.addUID(portletId, String.valueOf(baseModel.getPrimaryKeyObj()));

    AuditedModel auditedModel = (AuditedModel) obj;

    SearchEngineUtil.deleteDocument(getSearchEngineId(), auditedModel.getCompanyId(), document.get(Field.UID));
}