List of usage examples for com.liferay.portal.kernel.search Field TITLE
String TITLE
To view the source code for com.liferay.portal.kernel.search Field TITLE.
Click Source Link
From source file:com.liferay.docs.guestbook.search.GuestbookKeywordQueryContributor.java
License:Open Source License
@Override public void contribute(String keywords, BooleanQuery booleanQuery, KeywordQueryContributorHelper keywordQueryContributorHelper) { SearchContext searchContext = keywordQueryContributorHelper.getSearchContext(); queryHelper.addSearchLocalizedTerm(booleanQuery, searchContext, Field.TITLE, false); }
From source file:com.liferay.docs.guestbook.search.GuestbookModelDocumentContributor.java
License:Open Source License
@Override public void contribute(Document document, Guestbook guestbook) { try {/*from w ww .j av a 2s . co m*/ document.addDate(Field.MODIFIED_DATE, guestbook.getModifiedDate()); Locale defaultLocale = PortalUtil.getSiteDefaultLocale(guestbook.getGroupId()); String localizedTitle = LocalizationUtil.getLocalizedName(Field.TITLE, defaultLocale.toString()); document.addText(localizedTitle, guestbook.getName()); } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to index guestbook " + guestbook.getGuestbookId(), pe); } } }
From source file:com.liferay.docs.guestbook.search.GuestbookModelSummaryContributor.java
License:Open Source License
private Summary createSummary(Document document) { String prefix = Field.SNIPPET + StringPool.UNDERLINE; String title = document.get(prefix + Field.TITLE, Field.TITLE); return new Summary(title, StringPool.BLANK); }
From source file:com.liferay.docs.guestbook.search.GuestbookSearchRegistrar.java
License:Open Source License
@Activate protected void activate(BundleContext bundleContext) { _serviceRegistration = modelSearchRegistrarHelper.register(Guestbook.class, bundleContext, modelSearchDefinition -> { modelSearchDefinition.setDefaultSelectedFieldNames(Field.ASSET_TAG_NAMES, Field.COMPANY_ID, Field.CONTENT, Field.ENTRY_CLASS_NAME, Field.ENTRY_CLASS_PK, Field.GROUP_ID, Field.MODIFIED_DATE, Field.SCOPE_GROUP_ID, Field.TITLE, Field.UID); modelSearchDefinition.setModelIndexWriteContributor(modelIndexWriterContributor); modelSearchDefinition.setModelSummaryContributor(modelSummaryContributor); });//from w ww . j a v a 2s . c om }
From source file:com.liferay.document.library.repository.cmis.internal.CMISRepository.java
License:Open Source License
protected Hits doSearch(SearchContext searchContext, Query query) throws Exception { long startTime = System.currentTimeMillis(); Session session = getSession();// ww w. j a va2 s . c o m RepositoryInfo repositoryInfo = session.getRepositoryInfo(); RepositoryCapabilities repositoryCapabilities = repositoryInfo.getCapabilities(); QueryConfig queryConfig = searchContext.getQueryConfig(); CapabilityQuery capabilityQuery = repositoryCapabilities.getQueryCapability(); queryConfig.setAttribute("capabilityQuery", capabilityQuery.value()); String productName = repositoryInfo.getProductName(); String productVersion = repositoryInfo.getProductVersion(); queryConfig.setAttribute("repositoryProductName", productName); queryConfig.setAttribute("repositoryProductVersion", productVersion); String queryString = _cmisSearchQueryBuilder.buildQuery(searchContext, query); if (_cmisRepositoryDetector.isNuxeo5_4()) { queryString += " AND (" + PropertyIds.IS_LATEST_VERSION + " = true)"; } if (_log.isDebugEnabled()) { _log.debug("CMIS search query: " + queryString); } boolean searchAllVersions = _cmisRepositoryDetector.isNuxeo5_5OrHigher(); ItemIterable<QueryResult> queryResults = session.query(queryString, searchAllVersions); int start = searchContext.getStart(); int end = searchContext.getEnd(); if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS)) { start = 0; } int total = 0; List<com.liferay.portal.kernel.search.Document> documents = new ArrayList<>(); List<String> snippets = new ArrayList<>(); List<Float> scores = new ArrayList<>(); for (QueryResult queryResult : queryResults) { total++; if (total <= start) { continue; } if ((total > end) && (end != QueryUtil.ALL_POS)) { continue; } com.liferay.portal.kernel.search.Document document = new DocumentImpl(); String objectId = queryResult.getPropertyValueByQueryName(PropertyIds.OBJECT_ID); if (_log.isDebugEnabled()) { _log.debug("Search result object ID " + objectId); } FileEntry fileEntry = null; try { fileEntry = toFileEntry(objectId, true); } catch (Exception e) { if (_log.isDebugEnabled()) { Throwable cause = e.getCause(); if (cause != null) { cause = cause.getCause(); } if (cause instanceof CmisObjectNotFoundException) { _log.debug("Search result ignored for CMIS document which " + "has a version with an invalid object ID " + cause.getMessage()); } else { _log.debug("Search result ignored for invalid object ID", e); } } total--; continue; } DocumentHelper documentHelper = new DocumentHelper(document); documentHelper.setEntryKey(fileEntry.getModelClassName(), fileEntry.getFileEntryId()); document.addKeyword(Field.TITLE, fileEntry.getTitle()); documents.add(document); if (queryConfig.isScoreEnabled()) { Object scoreObj = queryResult.getPropertyValueByQueryName("HITS"); if (scoreObj != null) { scores.add(Float.valueOf(scoreObj.toString())); } else { scores.add(1.0F); } } else { scores.add(1.0F); } snippets.add(StringPool.BLANK); } float searchTime = (float) (System.currentTimeMillis() - startTime) / Time.SECOND; Hits hits = new HitsImpl(); hits.setDocs(documents.toArray(new com.liferay.portal.kernel.search.Document[documents.size()])); hits.setLength(total); hits.setQuery(query); hits.setQueryTerms(new String[0]); hits.setScores(ArrayUtil.toFloatArray(scores)); hits.setSearchTime(searchTime); hits.setSnippets(snippets.toArray(new String[snippets.size()])); hits.setStart(startTime); return hits; }
From source file:com.liferay.document.library.repository.external.ExtRepositoryAdapter.java
License:Open Source License
@Override public Hits search(SearchContext searchContext, Query query) throws SearchException { long startTime = System.currentTimeMillis(); List<ExtRepositorySearchResult<?>> extRepositorySearchResults = null; try {/*from ww w.j ava 2s.c om*/ extRepositorySearchResults = _extRepository.search(searchContext, query, new ExtRepositoryQueryMapperImpl(this)); } catch (PortalException | SystemException e) { throw new SearchException("Unable to perform search", e); } QueryConfig queryConfig = searchContext.getQueryConfig(); List<Document> documents = new ArrayList<>(); List<String> snippets = new ArrayList<>(); List<Float> scores = new ArrayList<>(); int total = 0; for (ExtRepositorySearchResult<?> extRepositorySearchResult : extRepositorySearchResults) { try { ExtRepositoryObjectAdapter<?> extRepositoryEntryAdapter = _toExtRepositoryObjectAdapter( ExtRepositoryObjectAdapterType.OBJECT, extRepositorySearchResult.getObject()); Document document = new DocumentImpl(); document.addKeyword(Field.ENTRY_CLASS_NAME, extRepositoryEntryAdapter.getModelClassName()); document.addKeyword(Field.ENTRY_CLASS_PK, extRepositoryEntryAdapter.getPrimaryKey()); document.addKeyword(Field.TITLE, extRepositoryEntryAdapter.getName()); documents.add(document); if (queryConfig.isScoreEnabled()) { scores.add(extRepositorySearchResult.getScore()); } else { scores.add(1.0F); } snippets.add(extRepositorySearchResult.getSnippet()); total++; } catch (PortalException | SystemException e) { if (_log.isWarnEnabled()) { _log.warn("Invalid entry returned from search", e); } } } float searchTime = (float) (System.currentTimeMillis() - startTime) / Time.SECOND; Hits hits = new HitsImpl(); hits.setDocs(documents.toArray(new Document[documents.size()])); hits.setLength(total); hits.setQueryTerms(new String[0]); hits.setScores(ArrayUtil.toFloatArray(scores)); hits.setSearchTime(searchTime); hits.setSnippets(snippets.toArray(new String[snippets.size()])); hits.setStart(startTime); return hits; }
From source file:com.liferay.document.library.repository.search.internal.RepositorySearchQueryBuilderImpl.java
License:Open Source License
protected void addSearchKeywords(BooleanQuery searchQuery, SearchContext searchContext) throws Exception { String keywords = searchContext.getKeywords(); if (Validator.isNull(keywords)) { return;//w w w. j a va2 s . c o m } BooleanQuery titleQuery = new BooleanQueryImpl(); _repositorySearchQueryTermBuilder.addTerm(titleQuery, searchContext, Field.TITLE, keywords); if (titleQuery.hasClauses() && !contains(searchQuery, titleQuery)) { searchQuery.add(titleQuery, BooleanClauseOccur.SHOULD); } BooleanQuery userNameQuery = new BooleanQueryImpl(); _repositorySearchQueryTermBuilder.addTerm(userNameQuery, searchContext, Field.USER_NAME, keywords); if (userNameQuery.hasClauses() && !contains(searchQuery, userNameQuery)) { searchQuery.add(userNameQuery, BooleanClauseOccur.SHOULD); } BooleanQuery contentQuery = new BooleanQueryImpl(); _repositorySearchQueryTermBuilder.addTerm(contentQuery, searchContext, Field.CONTENT, keywords); if (contentQuery.hasClauses() && !contains(searchQuery, contentQuery)) { searchQuery.add(contentQuery, BooleanClauseOccur.SHOULD); } }
From source file:com.liferay.dynamic.data.lists.internal.search.DDLRecordIndexer.java
License:Open Source License
public DDLRecordIndexer() { setDefaultSelectedFieldNames(Field.COMPANY_ID, Field.ENTRY_CLASS_NAME, Field.ENTRY_CLASS_PK, Field.UID); setDefaultSelectedLocalizedFieldNames(Field.DESCRIPTION, Field.TITLE); setPermissionAware(true);//from w w w. j a v a 2 s. com }
From source file:com.liferay.dynamic.data.lists.internal.search.DDLRecordIndexer.java
License:Open Source License
@Override protected Summary doGetSummary(Document document, Locale locale, String snippet, PortletRequest portletRequest, PortletResponse portletResponse) { long recordSetId = GetterUtil.getLong(document.get("recordSetId")); String title = getTitle(recordSetId, locale); Summary summary = createSummary(document, Field.TITLE, Field.DESCRIPTION); summary.setMaxContentLength(200);//from w w w.ja v a 2s . c om summary.setTitle(title); return summary; }
From source file:com.liferay.dynamic.data.lists.internal.search.DDLRecordSetIndexer.java
License:Open Source License
@Override protected Summary doGetSummary(Document document, Locale locale, String snippet, PortletRequest portletRequest, PortletResponse portletResponse) throws Exception { return createSummary(document, Field.TITLE, Field.DESCRIPTION); }