private FulltextSearchQuery createIndexQuery(final String observedUserId, String userId, Date fromDate, Date toDate) { final List<FieldRequest> fieldRequestList = new ArrayList<FieldRequest>(); fieldRequestList.add(new FieldRequest(PublicationIndexFieldConstants.FIELD_EXID)); fieldRequestList.add(new FieldRequest(PublicationIndexFieldConstants.FIELD_CREATED_BY_USER_TIMESTAMP)); final ResultsFormat resultsFormat = new ResultsFormat(fieldRequestList); final List<SearchCriterion> fieldCriterionList = new ArrayList<SearchCriterion>(); fieldCriterionList.add(new FieldCriterion(PublicationIndexFieldConstants.FIELD_USER_UID_CREATOR, observedUserId, SearchOperator.AND)); String fromDateString = IndexUtils.dateToString(new DateTime(fromDate)); String toDateString = IndexUtils.dateToString(new DateTime(toDate)); fieldCriterionList.add(new FieldRangeCriterion(PublicationIndexFieldConstants.FIELD_CREATED_BY_USER_TIMESTAMP, fromDateString, toDateString)); final List<Order> orderList = new ArrayList<Order>(); orderList.add(new Order(PublicationIndexFieldConstants.FIELD_CREATED_BY_USER_TIMESTAMP)); orderList.add(Order.relevanceOrder()); final FulltextSearchQuery searchQuery = new FulltextSearchQuery(0, getAggregationNumberLimit()+1, resultsFormat, orderList, fieldCriterionList); return searchQuery; }
private FulltextSearchQuery createIndexQuery(final String journalId, String userId, Date fromDate, Date toDate) { final List<FieldRequest> fieldRequestList = new ArrayList<FieldRequest>(); fieldRequestList.add(new FieldRequest(PublicationIndexFieldConstants.FIELD_EXID)); fieldRequestList.add(new FieldRequest(PublicationIndexFieldConstants.FIELD_DATE + SEP + "creationTimestamp")); final ResultsFormat resultsFormat = new ResultsFormat(fieldRequestList); final List<SearchCriterion> fieldCriterionList = new ArrayList<SearchCriterion>(); fieldCriterionList.add(new FieldCriterion(PublicationIndexFieldConstants.FIELD_ANCESTOR_ID + SEP + HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_JOURNAL, journalId, SearchOperator.AND)); fieldCriterionList.add(new FieldCriterion(PublicationIndexFieldConstants.FIELD_USER_UID_CREATOR, userId, SearchOperator.NOT)); String fromDateString = IndexUtils.dateToString(new DateTime(fromDate)); String toDateString = IndexUtils.dateToString(new DateTime(toDate)); fieldCriterionList.add(new FieldRangeCriterion(PublicationIndexFieldConstants.FIELD_DATE + SEP + "creationTimestamp", fromDateString, toDateString)); final List<Order> orderList = new ArrayList<Order>(); orderList.add(new Order(PublicationIndexFieldConstants.FIELD_DATE + SEP + "creationTimestamp")); orderList.add(Order.relevanceOrder()); final FulltextSearchQuery searchQuery = new FulltextSearchQuery(0, getAggregationNumberLimit()+1, resultsFormat, orderList, fieldCriterionList); return searchQuery; }
private FulltextSearchQuery createIndexQuery(final String publicationId, String userId, Date fromDate, Date toDate) { final List<FieldRequest> fieldRequestList = new ArrayList<FieldRequest>(); fieldRequestList.add(new FieldRequest(PublicationIndexFieldConstants.FIELD_CONTENT_LAST_MODIFICATION_USER)); fieldRequestList.add(new FieldRequest(PublicationIndexFieldConstants.FIELD_CONTENT_LAST_MODIFICATION_TIMESTAMP)); final ResultsFormat resultsFormat = new ResultsFormat(fieldRequestList); final List<SearchCriterion> fieldCriterionList = new ArrayList<SearchCriterion>(); fieldCriterionList.add(new FieldCriterion(PublicationIndexFieldConstants.FIELD_EXID, publicationId, SearchOperator.AND)); fieldCriterionList.add(new FieldCriterion(PublicationIndexFieldConstants.FIELD_CONTENT_LAST_MODIFICATION_USER, userId, SearchOperator.NOT)); String fromDateString = IndexUtils.dateToString(new DateTime(fromDate)); String toDateString = IndexUtils.dateToString(new DateTime(toDate)); fieldCriterionList.add(new FieldRangeCriterion(PublicationIndexFieldConstants.FIELD_CONTENT_LAST_MODIFICATION_TIMESTAMP, fromDateString, toDateString)); final List<Order> orderList = new ArrayList<Order>(); orderList.add(new Order(PublicationIndexFieldConstants.FIELD_CONTENT_LAST_MODIFICATION_TIMESTAMP)); orderList.add(Order.relevanceOrder()); final FulltextSearchQuery searchQuery = new FulltextSearchQuery(0, 1, resultsFormat, orderList, fieldCriterionList); return searchQuery; }
private FulltextSearchQuery prepareSearchQuery(final List<SearchCriterion> fieldCriterionList) { final SearchCriterion fieldRangeCriterion = new FieldRangeCriterion(FIELD_DESCRIPTION, ALL, ALL); fieldRangeCriterion.setOperator(SearchOperator.AND); fieldCriterionList.add(fieldRangeCriterion); final List<Order> orderList = new ArrayList<Order>(); orderList.add(Order.relevanceOrder()); final ResultsFormat resultsFormat = new ResultsFormat(new FieldRequest(FIELD_EXID, true)); return new FulltextSearchQuery(0, searchedElementSize, resultsFormat, orderList, fieldCriterionList); }
private FulltextSearchQuery createIndexQuery(final String collectionId, String userId, Date fromDate, Date toDate) { final List<FieldRequest> fieldRequestList = new ArrayList<FieldRequest>(); fieldRequestList.add(new FieldRequest(CollectionContentIndexFieldConstants.FIELD_CONTENT_ID)); fieldRequestList.add(new FieldRequest(CollectionContentIndexFieldConstants.FIELD_TYPE)); fieldRequestList.add(new FieldRequest(CollectionContentIndexFieldConstants.FIELD_CONTENT_ATTACHED_BY_USER)); fieldRequestList.add(new FieldRequest(CollectionContentIndexFieldConstants.FIELD_CONTENT_ATTACHED_BY_USER_TIMESTAMP)); final ResultsFormat resultsFormat = new ResultsFormat(fieldRequestList); final List<SearchCriterion> fieldCriterionList = new ArrayList<SearchCriterion>(); fieldCriterionList.add(new FieldCriterion(CollectionContentIndexFieldConstants.FIELD_COLLECTION_ID, collectionId, SearchOperator.AND)); fieldCriterionList.add(new FieldCriterion(CollectionContentIndexFieldConstants.FIELD_CONTENT_ATTACHED_BY_USER, userId, SearchOperator.NOT)); String fromDateString = IndexUtils.dateToString(new DateTime(fromDate)); String toDateString = IndexUtils.dateToString(new DateTime(toDate)); fieldCriterionList.add(new FieldRangeCriterion(CollectionContentIndexFieldConstants.FIELD_CONTENT_ATTACHED_BY_USER_TIMESTAMP, fromDateString, toDateString)); final List<Order> orderList = new ArrayList<Order>(); orderList.add(new Order(CollectionContentIndexFieldConstants.FIELD_CONTENT_ATTACHED_BY_USER_TIMESTAMP)); orderList.add(Order.relevanceOrder()); final FulltextSearchQuery searchQuery = new FulltextSearchQuery(0, getAggregationNumberLimit()+1, resultsFormat, orderList, fieldCriterionList); return searchQuery; }
private void applyOrder(AdvancedSearchRequest request, FulltextSearchQuery searchQuery, SearchScheme scheme) { if (StringUtils.isNotEmpty(request.getOrderField())) { String orderField = request.getOrderField(); List<String> fields = getSortByFieldName(scheme, orderField); applyOrderFields(request, searchQuery, scheme, fields, request.isOrderAscending()); } if (CollectionUtils.isEmpty(searchQuery.getOrders())) { searchQuery.addOrder(Order.relevanceOrder()); List<String> fields = getSortByFieldName(scheme, "sortdate"); if (!fields.isEmpty()) { applyOrderFields(request, searchQuery, scheme, fields, true); } } }
orderList.add(Order.relevanceOrder());
private Order transformOrder(final OrderProto orderProto) { Order order; if (orderProto.getRelevance()) { order = Order.relevanceOrder(); } else { order = new Order(); order.setField(orderProto.getField()); order.setAscending(orderProto.getAscending()); } return order; }
orderList.add(Order.relevanceOrder());