List of usage examples for com.liferay.portal.kernel.search SearchContext setSorts
public void setSorts(Sort... sorts)
From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected SearchContext buildSearchContext(long groupId, long userId, long creatorUserId, int status, int start, int end) throws PortalException { SearchContext searchContext = new SearchContext(); searchContext.setAttribute(Field.STATUS, status); searchContext.setAttribute("paginationType", "none"); if (creatorUserId > 0) { searchContext.setAttribute(Field.USER_ID, String.valueOf(creatorUserId)); }//w w w .j a v a 2s . c o m Group group = groupLocalService.getGroup(groupId); searchContext.setCompanyId(group.getCompanyId()); searchContext.setEnd(end); searchContext.setGroupIds(new long[] { groupId }); searchContext.setSorts(new Sort(Field.MODIFIED_DATE, true)); searchContext.setStart(start); searchContext.setUserId(userId); return searchContext; }
From source file:com.liferay.journal.web.internal.display.context.JournalDisplayContext.java
License:Open Source License
protected SearchContext buildSearchContext(long companyId, long groupId, List<java.lang.Long> folderIds, long classNameId, String ddmStructureKey, String ddmTemplateKey, String keywords, LinkedHashMap<String, Object> params, int start, int end, Sort sort, boolean showVersions) { String articleId = null;/* ww w .j a v a 2 s.c o m*/ String title = null; String description = null; String content = null; boolean andOperator = false; if (Validator.isNotNull(keywords)) { articleId = keywords; title = keywords; description = keywords; content = keywords; } else { andOperator = true; } if (params != null) { params.put("keywords", keywords); } SearchContext searchContext = new SearchContext(); searchContext.setAndSearch(andOperator); Map<String, Serializable> attributes = new HashMap<>(); attributes.put(Field.ARTICLE_ID, articleId); attributes.put(Field.CLASS_NAME_ID, classNameId); attributes.put(Field.CONTENT, content); attributes.put(Field.DESCRIPTION, description); attributes.put(Field.STATUS, getStatus()); attributes.put(Field.TITLE, title); attributes.put("ddmStructureKey", ddmStructureKey); attributes.put("ddmTemplateKey", ddmTemplateKey); attributes.put("params", params); searchContext.setAttributes(attributes); searchContext.setCompanyId(companyId); searchContext.setEnd(end); searchContext.setFolderIds(folderIds); searchContext.setGroupIds(new long[] { groupId }); searchContext.setIncludeDiscussions(GetterUtil.getBoolean(params.get("includeDiscussions"), true)); if (params != null) { keywords = (String) params.remove("keywords"); if (Validator.isNotNull(keywords)) { searchContext.setKeywords(keywords); } } searchContext.setAttribute("head", !showVersions); searchContext.setAttribute("params", params); searchContext.setEnd(end); searchContext.setFolderIds(folderIds); searchContext.setStart(start); QueryConfig queryConfig = new QueryConfig(); queryConfig.setHighlightEnabled(false); queryConfig.setScoreEnabled(false); searchContext.setQueryConfig(queryConfig); if (sort != null) { searchContext.setSorts(sort); } searchContext.setStart(start); return searchContext; }
From source file:com.liferay.mail.util.AccountIndexer.java
License:Open Source License
@Override protected void doDelete(Account account) throws Exception { SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(account.getCompanyId()); searchContext.setEnd(QueryUtil.ALL_POS); searchContext.setSearchEngineId(getSearchEngineId()); searchContext.setSorts(SortFactoryUtil.getDefaultSorts()); searchContext.setStart(QueryUtil.ALL_POS); BooleanQuery booleanQuery = new BooleanQueryImpl(); booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, CLASS_NAME); booleanQuery.addRequiredTerm("accountId", account.getAccountId()); Hits hits = IndexSearcherHelperUtil.search(searchContext, booleanQuery); List<String> uids = new ArrayList<>(hits.getLength()); for (int i = 0; i < hits.getLength(); i++) { Document document = hits.doc(i); uids.add(document.get(Field.UID)); }//from w w w. ja va 2 s . c o m IndexWriterHelperUtil.deleteDocuments(getSearchEngineId(), account.getCompanyId(), uids, isCommitImmediately()); }
From source file:com.liferay.mail.util.FolderIndexer.java
License:Open Source License
@Override protected void doDelete(Folder folder) throws Exception { SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(folder.getCompanyId()); searchContext.setEnd(QueryUtil.ALL_POS); searchContext.setSearchEngineId(getSearchEngineId()); searchContext.setSorts(SortFactoryUtil.getDefaultSorts()); searchContext.setStart(QueryUtil.ALL_POS); BooleanQuery booleanQuery = new BooleanQueryImpl(); booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, CLASS_NAME); booleanQuery.addRequiredTerm("folderId", folder.getFolderId()); Hits hits = IndexSearcherHelperUtil.search(searchContext, booleanQuery); List<String> uids = new ArrayList<>(hits.getLength()); for (int i = 0; i < hits.getLength(); i++) { Document document = hits.doc(i); uids.add(document.get(Field.UID)); }/* ww w .j a v a 2 s. com*/ IndexWriterHelperUtil.deleteDocuments(getSearchEngineId(), folder.getCompanyId(), uids, isCommitImmediately()); }
From source file:com.liferay.mail.util.MessageIndexer.java
License:Open Source License
@Override protected void doDelete(Object obj) throws Exception { SearchContext searchContext = new SearchContext(); searchContext.setSearchEngineId(getSearchEngineId()); if (obj instanceof Account) { Account account = (Account) obj; searchContext.setCompanyId(account.getCompanyId()); searchContext.setEnd(QueryUtil.ALL_POS); searchContext.setSorts(SortFactoryUtil.getDefaultSorts()); searchContext.setStart(QueryUtil.ALL_POS); BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext); booleanQuery.addRequiredTerm(Field.PORTLET_ID, PORTLET_ID); booleanQuery.addRequiredTerm("accountId", account.getAccountId()); Hits hits = SearchEngineUtil.search(searchContext, booleanQuery); List<String> uids = new ArrayList<String>(hits.getLength()); for (int i = 0; i < hits.getLength(); i++) { Document document = hits.doc(i); uids.add(document.get(Field.UID)); }//from w ww . j a v a2 s. c o m SearchEngineUtil.deleteDocuments(getSearchEngineId(), account.getCompanyId(), uids, isCommitImmediately()); } else if (obj instanceof Folder) { Folder folder = (Folder) obj; searchContext.setCompanyId(folder.getCompanyId()); searchContext.setEnd(QueryUtil.ALL_POS); searchContext.setSorts(SortFactoryUtil.getDefaultSorts()); searchContext.setStart(QueryUtil.ALL_POS); BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext); booleanQuery.addRequiredTerm(Field.PORTLET_ID, PORTLET_ID); booleanQuery.addRequiredTerm("folderId", folder.getFolderId()); Hits hits = SearchEngineUtil.search(searchContext, booleanQuery); List<String> uids = new ArrayList<String>(hits.getLength()); for (int i = 0; i < hits.getLength(); i++) { Document document = hits.doc(i); uids.add(document.get(Field.UID)); } SearchEngineUtil.deleteDocuments(getSearchEngineId(), folder.getCompanyId(), uids, isCommitImmediately()); } else if (obj instanceof Message) { Message message = (Message) obj; Document document = new DocumentImpl(); document.addUID(PORTLET_ID, message.getMessageId()); SearchEngineUtil.deleteDocument(getSearchEngineId(), message.getCompanyId(), document.get(Field.UID), isCommitImmediately()); } }
From source file:com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
public Hits search(long companyId, long groupId, long classNameId, String articleId, String title, String description, String content, String type, String status, String structureId, String templateId, LinkedHashMap<String, Object> params, boolean andSearch, int start, int end, Sort sort) throws SystemException { try {// www.j a v a 2 s. c om Map<String, Serializable> attributes = new HashMap<String, Serializable>(); attributes.put(Field.CLASS_NAME_ID, classNameId); attributes.put(Field.CONTENT, content); attributes.put(Field.DESCRIPTION, description); attributes.put(Field.STATUS, status); attributes.put(Field.TITLE, title); attributes.put(Field.TYPE, type); attributes.put("articleId", articleId); attributes.put("params", params); attributes.put("structureId", structureId); attributes.put("templateId", templateId); SearchContext searchContext = new SearchContext(); searchContext.setAndSearch(andSearch); searchContext.setAttributes(attributes); searchContext.setCompanyId(companyId); searchContext.setGroupIds(new long[] { groupId }); searchContext.setEnd(end); String keywords = (String) params.remove("keywords"); if (Validator.isNotNull(keywords)) { searchContext.setKeywords(keywords); } searchContext.setSorts(new Sort[] { sort }); QueryConfig queryConfig = new QueryConfig(); queryConfig.setHighlightEnabled(false); queryConfig.setScoreEnabled(false); searchContext.setQueryConfig(queryConfig); searchContext.setStart(start); Indexer indexer = IndexerRegistryUtil.getIndexer(JournalArticle.class); return indexer.search(searchContext); } catch (Exception e) { throw new SystemException(e); } }
From source file:com.liferay.trash.service.impl.TrashEntryLocalServiceImpl.java
License:Open Source License
protected SearchContext buildSearchContext(long companyId, long groupId, long userId, String keywords, int start, int end, Sort sort) { SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setEnd(end);/*from w w w. ja v a2s.co m*/ searchContext.setKeywords(keywords); searchContext.setGroupIds(new long[] { groupId }); if (sort != null) { searchContext.setSorts(sort); } searchContext.setStart(start); searchContext.setUserId(userId); QueryConfig queryConfig = searchContext.getQueryConfig(); queryConfig.setHighlightEnabled(false); queryConfig.setScoreEnabled(false); return searchContext; }