List of usage examples for org.apache.lucene.search SortField setMissingValue
public void setMissingValue(Object missingValue)
From source file:com.epam.catgenome.dao.index.FeatureIndexDao.java
License:Open Source License
private void setMissingValuesOrder(SortField sf, SortField.Type type, boolean desc) { switch (type) { case STRING:// w ww. ja va 2 s . com sf.setMissingValue(desc ? SortField.STRING_FIRST : SortField.STRING_LAST); break; case FLOAT: sf.setMissingValue(Float.MIN_VALUE); break; case INT: sf.setMissingValue(Integer.MIN_VALUE); break; default: throw new IllegalArgumentException("Unexpected sort type: " + type); } }
From source file:com.qwazr.search.field.SortUtils.java
License:Apache License
final static void sortStringMissingValue(QueryDefinition.SortEnum sortEnum, SortField sortField) { if (sortEnum == null) return;/*from www. ja va 2s . co m*/ switch (sortEnum) { case ascending: case descending: return; case ascending_missing_last: case descending_missing_first: sortField.setMissingValue(SortField.STRING_LAST); case ascending_missing_first: case descending_missing_last: sortField.setMissingValue(SortField.STRING_FIRST); } }
From source file:com.qwazr.search.field.SortUtils.java
License:Apache License
final static void sortDoubleMissingValue(QueryDefinition.SortEnum sortEnum, SortField sortField) { if (sortEnum == null) return;//from w ww. j a v a2 s . c om switch (sortEnum) { case ascending: case descending: return; case ascending_missing_last: case descending_missing_first: sortField.setMissingValue(Double.MAX_VALUE); case ascending_missing_first: case descending_missing_last: sortField.setMissingValue(Double.MIN_VALUE); } }
From source file:com.qwazr.search.field.SortUtils.java
License:Apache License
final static void sortLongMissingValue(QueryDefinition.SortEnum sortEnum, SortField sortField) { if (sortEnum == null) return;//from w ww . j av a 2 s .c o m switch (sortEnum) { case ascending: case descending: return; case ascending_missing_last: case descending_missing_first: sortField.setMissingValue(Long.MAX_VALUE); case ascending_missing_first: case descending_missing_last: sortField.setMissingValue(Long.MIN_VALUE); } }
From source file:com.qwazr.search.field.SortUtils.java
License:Apache License
final static void sortFloatMissingValue(QueryDefinition.SortEnum sortEnum, SortField sortField) { if (sortEnum == null) return;/*from ww w. j a v a2s . c om*/ switch (sortEnum) { case ascending: case descending: return; case ascending_missing_last: case descending_missing_first: sortField.setMissingValue(Float.MAX_VALUE); case ascending_missing_first: case descending_missing_last: sortField.setMissingValue(Float.MIN_VALUE); } }
From source file:com.qwazr.search.field.SortUtils.java
License:Apache License
final static void sortIntMissingValue(QueryDefinition.SortEnum sortEnum, SortField sortField) { if (sortEnum == null) return;// w ww . j a v a2 s . co m switch (sortEnum) { case ascending: case descending: return; case ascending_missing_last: case descending_missing_first: sortField.setMissingValue(Integer.MAX_VALUE); case ascending_missing_first: case descending_missing_last: sortField.setMissingValue(Integer.MIN_VALUE); } }
From source file:io.crate.execution.engine.collect.collectors.LuceneOrderedDocCollectorTest.java
License:Apache License
private Long[] nextPageQuery(IndexReader reader, FieldDoc lastCollected, boolean reverseFlag, @Nullable Boolean nullFirst) throws IOException { OrderBy orderBy = new OrderBy(ImmutableList.of(REFERENCE), new boolean[] { reverseFlag }, new Boolean[] { nullFirst }); SortField sortField = new SortedNumericSortField("value", SortField.Type.LONG, reverseFlag); Long missingValue = (Long) LuceneMissingValue.missingValue(orderBy, 0); sortField.setMissingValue(missingValue); Sort sort = new Sort(sortField); OptimizeQueryForSearchAfter queryForSearchAfter = new OptimizeQueryForSearchAfter(orderBy, mock(QueryShardContext.class), name -> valueFieldType); Query nextPageQuery = queryForSearchAfter.apply(lastCollected); TopFieldDocs result = search(reader, nextPageQuery, sort); Long results[] = new Long[result.scoreDocs.length]; for (int i = 0; i < result.scoreDocs.length; i++) { Long value = (Long) ((FieldDoc) result.scoreDocs[i]).fields[0]; results[i] = value.equals(missingValue) ? null : value; }//from ww w .j a v a2s. c o m return results; }
From source file:io.crate.operation.collect.collectors.LuceneOrderedDocCollectorTest.java
License:Apache License
private Long[] nextPageQuery(IndexReader reader, FieldDoc lastCollected, boolean reverseFlag, @Nullable Boolean nullFirst) throws IOException { OrderBy orderBy = new OrderBy(ImmutableList.<Symbol>of(REFERENCE), new boolean[] { reverseFlag }, new Boolean[] { nullFirst }); SortField sortField = new SortedNumericSortField("value", SortField.Type.LONG, reverseFlag); Long missingValue = (Long) LuceneMissingValue.missingValue(orderBy, 0); sortField.setMissingValue(missingValue); Sort sort = new Sort(sortField); Query nextPageQuery = LuceneOrderedDocCollector.nextPageQuery(lastCollected, orderBy, new Object[] { missingValue }, name -> valueFieldType); TopFieldDocs result = search(reader, nextPageQuery, sort); Long results[] = new Long[result.scoreDocs.length]; for (int i = 0; i < result.scoreDocs.length; i++) { Long value = (Long) ((FieldDoc) result.scoreDocs[i]).fields[0]; results[i] = value.equals(missingValue) ? null : value; }/*from w w w. ja v a 2 s. c om*/ return results; }
From source file:io.crate.operation.collect.LuceneDocCollectorTest.java
License:Apache License
private Long[] nextPageQuery(IndexReader reader, FieldDoc lastCollected, boolean reverseFlag, @Nullable Boolean nullFirst) throws IOException { OrderBy orderBy = new OrderBy(ImmutableList.<Symbol>of(new Reference(info)), new boolean[] { reverseFlag }, new Boolean[] { nullFirst }); SortField sortField = new SortField("value", SortField.Type.LONG, reverseFlag); Long missingValue = (Long) LuceneMissingValue.missingValue(orderBy, 0); sortField.setMissingValue(missingValue); Sort sort = new Sort(sortField); Query nextPageQuery = OrderedDocCollector.nextPageQuery(lastCollected, orderBy, new Object[] { missingValue }); TopFieldDocs result = search(reader, nextPageQuery, sort); Long results[] = new Long[result.scoreDocs.length]; for (int i = 0; i < result.scoreDocs.length; i++) { Long value = (Long) ((FieldDoc) result.scoreDocs[i]).fields[0]; results[i] = value.equals(missingValue) ? null : value; }//from ww w . j a v a 2s .c om return results; }
From source file:io.vertigo.dynamo.plugins.collections.lucene.RamLuceneIndex.java
License:Apache License
private static Optional<Sort> createSort(final DtListState dtListState) { if (dtListState.getSortFieldName().isPresent()) { final String sortFieldName = dtListState.getSortFieldName().get(); final boolean sortDesc = dtListState.isSortDesc().get(); final SortField.Type luceneType = SortField.Type.STRING; //TODO : check if other type are necessary final SortField sortField = new SortField(sortFieldName, luceneType, sortDesc); sortField.setMissingValue(SortField.STRING_LAST); return Optional.of(new Sort(sortField)); }//from ww w . ja v a 2s.c o m return Optional.empty(); }