introduce clustering for query completion indices
This commit is contained in:
@@ -15,8 +15,13 @@ public class DateTimeRange {
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
public static DateTimeRange now() {
|
||||
return relativeMillis(0);
|
||||
}
|
||||
|
||||
public static DateTimeRange relative(final long amount, final TemporalUnit unit) {
|
||||
return new DateTimeRange(OffsetDateTime.now().minus(amount, unit), OffsetDateTime.now());
|
||||
final OffsetDateTime now = OffsetDateTime.now();
|
||||
return new DateTimeRange(now.minus(amount, unit), now);
|
||||
}
|
||||
|
||||
public static DateTimeRange relativeMillis(final long amount) {
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package org.lucares.pdb.api;
|
||||
|
||||
public interface QueryConstants {
|
||||
String CARET_MARKER = "\ue001"; // character in the private use area
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.lucares.pdb.api;
|
||||
|
||||
public class QueryWithCaretMarker extends Query implements QueryConstants {
|
||||
|
||||
private final int caretIndex;
|
||||
|
||||
public QueryWithCaretMarker(final String query, final DateTimeRange dateRange, final int caretIndex) {
|
||||
super(query, dateRange);
|
||||
this.caretIndex = caretIndex;
|
||||
}
|
||||
|
||||
public String getQueryWithCaretMarker() {
|
||||
final StringBuilder queryBuilder = new StringBuilder(getQuery());
|
||||
final StringBuilder queryWithCaretMarker = queryBuilder.insert(caretIndex, CARET_MARKER);
|
||||
return queryWithCaretMarker.toString();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user