List of usage examples for com.liferay.portal.kernel.search BooleanQuery addTerm
public Query addTerm(String field, String value, boolean like) throws ParseException;
From source file:com.liferay.journal.search.JournalArticleIndexer.java
License:Open Source License
@Override protected Map<String, Query> addSearchLocalizedTerm(BooleanQuery searchQuery, SearchContext searchContext, String field, boolean like) throws Exception { if (Validator.isNull(field)) { return Collections.emptyMap(); }// w ww. j ava 2 s. co m String value = String.valueOf(searchContext.getAttribute(field)); if (Validator.isNull(value)) { value = searchContext.getKeywords(); } if (Validator.isNull(value)) { return Collections.emptyMap(); } String localizedField = DocumentImpl.getLocalizedName(searchContext.getLocale(), field); Map<String, Query> queries = new HashMap<>(); if (Validator.isNull(searchContext.getKeywords())) { BooleanQuery localizedQuery = new BooleanQueryImpl(); Query query = localizedQuery.addTerm(field, value, like); queries.put(field, query); Query localizedFieldQuery = localizedQuery.addTerm(localizedField, value, like); queries.put(field, localizedFieldQuery); BooleanClauseOccur booleanClauseOccur = BooleanClauseOccur.SHOULD; if (searchContext.isAndSearch()) { booleanClauseOccur = BooleanClauseOccur.MUST; } searchQuery.add(localizedQuery, booleanClauseOccur); } else { Query query = searchQuery.addTerm(localizedField, value, like); queries.put(field, query); } return queries; }
From source file:com.liferay.portlet.journal.util.JournalArticleIndexer.java
License:Open Source License
@Override protected void addSearchLocalizedTerm(BooleanQuery searchQuery, SearchContext searchContext, String field, boolean like) throws Exception { if (Validator.isNull(field)) { return;//from ww w. j a v a2 s .com } String value = String.valueOf(searchContext.getAttribute(field)); if (Validator.isNull(value)) { value = searchContext.getKeywords(); } if (Validator.isNull(value)) { return; } String localizedField = DocumentImpl.getLocalizedName(searchContext.getLocale(), field); if (Validator.isNull(searchContext.getKeywords())) { BooleanQuery localizedQuery = BooleanQueryFactoryUtil.create(searchContext); localizedQuery.addTerm(field, value, like); localizedQuery.addTerm(localizedField, value, like); BooleanClauseOccur booleanClauseOccur = BooleanClauseOccur.SHOULD; if (searchContext.isAndSearch()) { booleanClauseOccur = BooleanClauseOccur.MUST; } searchQuery.add(localizedQuery, booleanClauseOccur); } else { searchQuery.addTerm(localizedField, value, like); } }
From source file:com.liferay.portlet.usersadmin.util.OrganizationIndexer.java
License:Open Source License
@Override public void postProcessContextQuery(BooleanQuery contextQuery, SearchContext searchContext) throws Exception { LinkedHashMap<String, Object> params = (LinkedHashMap<String, Object>) searchContext.getAttribute("params"); if (params == null) { return;//from w ww.j a va 2s.c o m } List<Organization> organizationsTree = (List<Organization>) params.get("organizationsTree"); if ((organizationsTree != null) && !organizationsTree.isEmpty()) { BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext); for (Organization organization : organizationsTree) { String treePath = organization.buildTreePath(); booleanQuery.addTerm("treePath", treePath, true); } contextQuery.add(booleanQuery, BooleanClauseOccur.MUST); } }
From source file:com.liferay.so.hook.indexer.UserIndexerPostProcessor.java
License:Open Source License
@Override public void postProcessSearchQuery(BooleanQuery searchQuery, SearchContext searchContext) throws Exception { String keywords = searchContext.getKeywords(); if (Validator.isNotNull(keywords)) { searchQuery.addTerm("projectTitles", keywords, true); }//from www.j a va 2 s .co m }
From source file:com.slayer.service.impl.LMSBookLocalServiceImpl.java
License:Open Source License
private void appendSearchTerm(String field, String value, boolean isAndSearch, BooleanQuery searchQuery) { if (Validator.isNotNull(value)) { if (isAndSearch) { searchQuery.addRequiredTerm(field, value, true); } else {// w w w .j a v a2s . com try { searchQuery.addTerm(field, value, true); } catch (ParseException e) { e.printStackTrace(); } } } }
From source file:org.opencps.dossiermgt.search.DossierFileSearchUtil.java
License:Open Source License
public static BooleanQuery buildSearchQuery(String keywords, SearchContext searchContext) { BooleanQuery query = BooleanQueryFactoryUtil.create(searchContext); keywords = keywords.toLowerCase();/*from www. j a v a 2 s .c o m*/ try { query.addTerm(DossierFileDisplayTerms.DISPLAY_NAME, keywords, false); query.addTerm(DossierFileDisplayTerms.FORM_DATA, keywords, false); query.addTerm(DossierFileDisplayTerms.DOSSIER_FILE_NO, keywords, false); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } /* String[] terms = StringUtil.split(keywords); for (String term : terms) { TermQuery termDisplayName = TermQueryFactoryUtil.create( searchContext, DossierFileDisplayTerms.DISPLAY_NAME, term); TermQuery termFormData = TermQueryFactoryUtil.create(searchContext, DossierFileDisplayTerms.FORM_DATA, term); TermQuery termFileNo = TermQueryFactoryUtil.create(searchContext, DossierFileDisplayTerms.DOSSIER_FILE_NO, term); try { query.add(termDisplayName, BooleanClauseOccur.SHOULD); query.add(termFormData, BooleanClauseOccur.SHOULD); query.add(termFileNo, BooleanClauseOccur.SHOULD); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } */ return query; }
From source file:org.opencps.dossiermgt.search.DossierSearchUtil.java
License:Open Source License
public static BooleanQuery buildSearchQuery(String keywords, SearchContext searchContext) { BooleanQuery query = BooleanQueryFactoryUtil.create(searchContext); keywords = keywords.toLowerCase();/*from w ww. java 2 s . co m*/ String[] terms = StringUtil.split(keywords); try { query.addTerm(DossierDisplayTerms.RECEPTION_NO, keywords, false); query.addTerm(DossierDisplayTerms.CITY_NAME, keywords, false); query.addTerm(DossierDisplayTerms.EXTERNALREF_NO, keywords, false); query.addTerm(DossierDisplayTerms.EXTERNALREF_URL, keywords, false); query.addTerm(DossierDisplayTerms.GOVAGENCY_NAME, keywords, false); query.addTerm(DossierDisplayTerms.SUBJECT_NAME, keywords, false); query.addTerm(DossierDisplayTerms.CITY_NAME, keywords, false); query.addTerm(DossierDisplayTerms.ADDRESS, keywords, false); query.addTerm(DossierDisplayTerms.DISTRICT_NAME, keywords, false); query.addTerm(DossierDisplayTerms.WARD_NAME, keywords, false); query.addTerm(DossierDisplayTerms.CONTACT_NAME, keywords, false); query.addTerm(DossierDisplayTerms.CONTACT_TEL_NO, keywords, false); query.addTerm(DossierDisplayTerms.CONTACT_EMAIL, keywords, false); query.addTerm(DossierDisplayTerms.NOTE, keywords, false); query.addTerm(DossierDisplayTerms.DOSSIER_ID, keywords, false); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } /* for (String term : terms) { TermQuery termReceptionNo = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.RECEPTION_NO, term); TermQuery termCityName = TermQueryFactoryUtil.create(searchContext, DossierDisplayTerms.CITY_NAME, term); TermQuery termExternalRefNo = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.EXTERNALREF_NO, term); TermQuery termExternalRef = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.EXTERNALREF_URL, term); TermQuery termGovAgencyName = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.GOVAGENCY_NAME, term); TermQuery termSubjectName = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.SUBJECT_NAME, term); TermQuery termAddress = TermQueryFactoryUtil.create(searchContext, DossierDisplayTerms.ADDRESS, term); TermQuery termDistrictName = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.DISTRICT_NAME, term); TermQuery termWardName = TermQueryFactoryUtil.create(searchContext, DossierDisplayTerms.WARD_NAME, term); TermQuery termContactName = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.CONTACT_NAME, term); TermQuery termContactTelNo = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.CONTACT_TEL_NO, term); TermQuery termContactEmail = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.CONTACT_EMAIL, term); TermQuery termNote = TermQueryFactoryUtil.create(searchContext, DossierDisplayTerms.NOTE, term); TermQuery termDossierId = TermQueryFactoryUtil.create( searchContext, DossierDisplayTerms.DOSSIER_ID, term); try { query.add(termReceptionNo, BooleanClauseOccur.SHOULD); query.add(termCityName, BooleanClauseOccur.SHOULD); query.add(termExternalRefNo, BooleanClauseOccur.SHOULD); query.add(termExternalRef, BooleanClauseOccur.SHOULD); query.add(termGovAgencyName, BooleanClauseOccur.SHOULD); query.add(termSubjectName, BooleanClauseOccur.SHOULD); query.add(termAddress, BooleanClauseOccur.SHOULD); query.add(termDistrictName, BooleanClauseOccur.SHOULD); query.add(termWardName, BooleanClauseOccur.SHOULD); query.add(termContactName, BooleanClauseOccur.SHOULD); query.add(termContactEmail, BooleanClauseOccur.SHOULD); query.add(termContactTelNo, BooleanClauseOccur.SHOULD); query.add(termNote, BooleanClauseOccur.SHOULD); query.add(termDossierId, BooleanClauseOccur.SHOULD); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } */ return query; }