List of usage examples for com.liferay.portal.kernel.search SearchContext isAndSearch
public boolean isAndSearch()
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(); }/*from w ww .j av a 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;// w w w.jav a2 s. c om } 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.slayer.service.impl.LMSBookLocalServiceImpl.java
License:Open Source License
protected Hits getHits(long companyId, long groupId, String bookTitle, String author, boolean andSearch) throws SystemException { // 1. Preparing the Search Context SearchContext searchContext = new SearchContext(); searchContext.setAndSearch(andSearch); searchContext.setCompanyId(companyId); long[] groupIds = { groupId }; searchContext.setGroupIds(groupIds); BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(searchContext); appendSearchTerm(Field.TITLE, bookTitle, searchContext.isAndSearch(), searchQuery); appendSearchTerm("author", author, searchContext.isAndSearch(), searchQuery); // 2. Firing the query and getting the hits Hits hits = null;/*from w w w .j a va 2 s . co m*/ try { hits = SearchEngineUtil.search(searchContext, searchQuery); } catch (SearchException e) { e.printStackTrace(); } return hits; }