protected Map<String, Query> addSearchLocalizedTerm( BooleanQuery searchQuery, SearchContext searchContext, String field, boolean like) throws Exception { Map<String, Query> queries = new HashMap<>(); Query query = addSearchTerm(searchQuery, searchContext, field, like); queries.put(field, query); String localizedFieldName = Field.getLocalizedName( searchContext.getLocale(), field); Query localizedQuery = addSearchTerm( searchQuery, searchContext, localizedFieldName, like); queries.put(localizedFieldName, localizedQuery); return queries; }
@Override public void addSearchLocalizedTerm( BooleanQuery searchQuery, SearchContext searchContext, String field, boolean like) { addSearchTerm( searchQuery, searchContext, getLocalizedName(field, searchContext.getLocale()), like); }
@Override public void contribute( String keywords, BooleanQuery booleanQuery, KeywordQueryContributorHelper keywordQueryContributorHelper) { SearchContext searchContext = keywordQueryContributorHelper.getSearchContext(); Localization localization = getLocalization(); queryHelper.addSearchTerm( booleanQuery, searchContext, localization.getLocalizedName( Field.ASSET_TAG_NAMES, LocaleUtil.toLanguageId(searchContext.getLocale())), false); }
@Override public void contribute( String keywords, BooleanQuery booleanQuery, KeywordQueryContributorHelper keywordQueryContributorHelper) { SearchContext searchContext = keywordQueryContributorHelper.getSearchContext(); Localization localization = getLocalization(); queryHelper.addSearchTerm( booleanQuery, searchContext, localization.getLocalizedName( Field.ASSET_CATEGORY_TITLES, LocaleUtil.toLanguageId(searchContext.getLocale())), false); }
searchContext.getLocale(), field);
protected void addContentSearchTerm( BooleanQuery searchQuery, SearchContext searchContext) throws Exception { Locale locale = searchContext.getLocale(); StringBundler sb = new StringBundler(3); sb.append("ddmContent"); sb.append(StringPool.UNDERLINE); sb.append(LocaleUtil.toLanguageId(locale)); addSearchTerm(searchQuery, searchContext, sb.toString(), false); }
@Override public boolean process(SearchContext searchContext, Hits hits) throws SearchException { QueryConfig queryConfig = searchContext.getQueryConfig(); if (!queryConfig.isQueryIndexingEnabled()) { return true; } if (hits.getLength() >= queryConfig.getQueryIndexingThreshold()) { addDocument( searchContext.getCompanyId(), searchContext.getKeywords(), searchContext.getLocale()); } return true; }
@Override public void contribute( String keywords, BooleanQuery booleanQuery, KeywordQueryContributorHelper keywordQueryContributorHelper) { SearchContext searchContext = keywordQueryContributorHelper.getSearchContext(); ExpandoQueryContributorHelper expandoQueryContributorHelper = new ExpandoQueryContributorHelper( expandoBridgeFactory, expandoBridgeIndexer, expandoColumnLocalService, getLocalization()); expandoQueryContributorHelper.setAndSearch(searchContext.isAndSearch()); expandoQueryContributorHelper.setBooleanQuery(booleanQuery); expandoQueryContributorHelper.setClassNamesStream( keywordQueryContributorHelper.getSearchClassNamesStream()); expandoQueryContributorHelper.setCompanyId( searchContext.getCompanyId()); expandoQueryContributorHelper.setKeywords(keywords); expandoQueryContributorHelper.setLocale(searchContext.getLocale()); expandoQueryContributorHelper.contribute(); }
@Override public void postProcessContextBooleanFilter( BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { int status = GetterUtil.getInteger( searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED); if (status != WorkflowConstants.STATUS_ANY) { contextBooleanFilter.addRequiredTerm(Field.STATUS, status); } long ddmFormInstanceId = GetterUtil.getLong( searchContext.getAttribute("ddmFormInstanceId")); if (ddmFormInstanceId > 0) { contextBooleanFilter.addRequiredTerm( "ddmFormInstanceId", ddmFormInstanceId); } addSearchClassTypeIds(contextBooleanFilter, searchContext); String ddmStructureFieldName = (String)searchContext.getAttribute( "ddmStructureFieldName"); Serializable ddmStructureFieldValue = searchContext.getAttribute( "ddmStructureFieldValue"); if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) { QueryFilter queryFilter = ddmIndexer.createFieldValueQueryFilter( ddmStructureFieldName, ddmStructureFieldValue, searchContext.getLocale()); contextBooleanFilter.add(queryFilter, BooleanClauseOccur.MUST); } }
searchContext.getLocale());