protected Summary createSummary( Document document, String titleField, String contentField) { String prefix = Field.SNIPPET + StringPool.UNDERLINE; String title = document.get(prefix + titleField, titleField); String content = document.get(prefix + contentField, contentField); return new Summary(title, content); }
protected void populateUID(Document document, QueryConfig queryConfig) { Field uidField = document.getField(Field.UID); if (uidField != null) { return; } if (Validator.isNull(queryConfig.getAlternateUidFieldName())) { return; } String uidValue = document.get(queryConfig.getAlternateUidFieldName()); if (Validator.isNotNull(uidValue)) { uidField = new Field(Field.UID, uidValue); document.add(uidField); } }
Document result = results.doc(i); String snippet = result.get(Field.SNIPPET); result.get(Field.GROUP_ID)); result.get(Field.SCOPE_GROUP_ID)); className = result.get(Field.ENTRY_CLASS_NAME); String entryClassName = result.get(Field.ENTRY_CLASS_NAME); long entryClassPK = GetterUtil.getLong( result.get(Field.ENTRY_CLASS_PK));
@Override public int compare(Document doc1, Document doc2) { for (DocumentComparatorOrderBy orderBy : _columns) { String value1 = doc1.get(orderBy.getName()); String value2 = doc2.get(orderBy.getName()); if (!orderBy.isAsc()) { String temp = value1; value1 = value2; value2 = temp; } int result = 0; if ((value1 != null) && (value2 != null)) { if (orderBy.isCaseSensitive()) { result = value1.compareTo(value2); } else { result = value1.compareToIgnoreCase(value2); } } if (result != 0) { return result; } } return 0; }
protected void deleteDocument(long companyId, String field1) throws Exception { Document document = new DocumentImpl(); document.addUID(getClassName(), field1); IndexWriterHelperUtil.deleteDocument( getSearchEngineId(), companyId, document.get(Field.UID), _commitImmediately); }
protected void deleteDocument(long companyId, String field1, String field2) throws Exception { Document document = new DocumentImpl(); document.addUID(getClassName(), field1, field2); IndexWriterHelperUtil.deleteDocument( getSearchEngineId(), companyId, document.get(Field.UID), _commitImmediately); }
protected SearchResultContributor getSearchResultContributor( Document document) { String entryClassName = GetterUtil.getString( document.get(Field.ENTRY_CLASS_NAME)); return _searchResultContributors.get(entryClassName); }
@Override public <T extends BaseModel<?>> String getDocumentUID(T baseModel) { Document document = _baseModelDocumentFactory.createDocument(baseModel); return document.get(Field.UID); }
protected Summary getSummaryWithEntryClass( Document document, Locale locale, PortletRequest portletRequest, PortletResponse portletResponse) throws PortalException { String entryClassName = GetterUtil.getString( document.get(Field.ENTRY_CLASS_NAME)); long entryClassPK = GetterUtil.getLong( document.get(Field.ENTRY_CLASS_PK)); return _summaryFactory.getSummary( document, entryClassName, entryClassPK, locale, portletRequest, portletResponse); }
@Override public void contribute(Document document, BaseModel baseModel) { String className = document.get(Field.ENTRY_CLASS_NAME); long classPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK)); List<AssetCategory> assetCategories = assetCategoryLocalService.getCategories(className, classPK); long[] assetCategoryIds = ListUtil.toLongArray( assetCategories, AssetCategory.CATEGORY_ID_ACCESSOR); document.addKeyword(Field.ASSET_CATEGORY_IDS, assetCategoryIds); addAssetCategoryTitles( document, Field.ASSET_CATEGORY_TITLES, assetCategories); }
protected SearchResult createSearchResultWithClass(Document document) throws PortalException { long classNameId = GetterUtil.getLong( document.get(Field.CLASS_NAME_ID)); ClassName className = _classNameLocalService.getClassName(classNameId); if (className == null) { throw new PortalException( "Unable to get class name from class name ID " + classNameId); } long classPK = GetterUtil.getLong(document.get(Field.CLASS_PK)); return new SearchResult(className.getClassName(), classPK); }
@Override public Summary getSummary( Document document, String className, long classPK, Locale locale, PortletRequest portletRequest, PortletResponse portletResponse) throws PortalException { Indexer<?> indexer = _indexerRegistry.getIndexer(className); if (indexer != null) { String snippet = document.get(Field.SNIPPET); return indexer.getSummary( document, snippet, portletRequest, portletResponse); } return getSummary(className, classPK, locale); }
@Override public void contribute(Document document, BaseModel baseModel) { String className = document.get(Field.ENTRY_CLASS_NAME); long classNameId = portal.getClassNameId(className); long classPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK)); List<AssetTag> assetTags = assetTagLocalService.getTags( classNameId, classPK); if (ListUtil.isEmpty(assetTags)) { return; } contributeAssetTagIds(document, assetTags); contributeAssetTagNamesLocalized(document, assetTags, baseModel); contributeAssetTagNamesRaw(document, assetTags); }
@Override protected Summary doGetSummary( Document document, Locale locale, String snippet, PortletRequest portletRequest, PortletResponse portletResponse) { long ddmFormInstanceId = GetterUtil.getLong( document.get("formInstanceId")); String title = getTitle(ddmFormInstanceId, locale); Summary summary = createSummary( document, Field.TITLE, Field.DESCRIPTION); summary.setMaxContentLength(200); summary.setTitle(title); return summary; }
@Override protected void doDelete(Object obj) throws Exception { Idea idea = (Idea) obj; Document document = new DocumentImpl(); document.addUID(PORTLET_ID, idea.getId()); SearchEngineUtil.deleteDocument(idea.getCompanyId(), document.get(IdeaField.UID)); }
@Override public String getSearchEngineId(Document document) { String entryClassName = document.get("entryClassName"); Indexer<?> indexer = IndexerRegistryUtil.getIndexer(entryClassName); String searchEngineId = indexer.getSearchEngineId(); if (_log.isDebugEnabled()) { _log.debug( StringBundler.concat( "Search engine ID ", searchEngineId, " is associated with ", ClassUtil.getClassName(indexer))); } return searchEngineId; }
@Override protected void doReindex(JournalArticle article) throws Exception { if (_portal.getClassNameId(DDMStructure.class) == article.getClassNameId()) { Document document = getDocument(article); _indexWriterHelper.deleteDocument( getSearchEngineId(), article.getCompanyId(), document.get(Field.UID), isCommitImmediately()); return; } reindexArticleVersions(article); }