Skip to content

Commit 731d7bf

Browse files
committed
feat(search-engine): Support for user queries over multiple fields
1 parent ddbfef2 commit 731d7bf

24 files changed

+465
-148
lines changed

silo-search-api/src/main/java/se/l4/silo/index/search/internal/UserQueryMatcherImpl.java

-30
This file was deleted.

silo-search-api/src/main/java/se/l4/silo/index/search/query/UserQuery.java

+18-1
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,25 @@
66
import se.l4.silo.index.search.QueryClause;
77
import se.l4.silo.index.search.internal.UserQueryImpl;
88

9+
/**
10+
* Query from a user that applies to one or more fields.
11+
*/
912
public interface UserQuery
1013
extends QueryClause
1114
{
15+
/**
16+
* Context to apply.
17+
*/
1218
enum Context
1319
{
20+
/**
21+
* Standard context, perform a full-text search.
22+
*/
1423
STANDARD,
1524

25+
/**
26+
* Type ahead context.
27+
*/
1628
TYPE_AHEAD
1729
}
1830

@@ -64,7 +76,7 @@ static Matcher matcher(String query, Context context)
6476
* single field.
6577
*/
6678
interface Matcher
67-
extends se.l4.silo.index.Matcher
79+
extends se.l4.silo.index.Matcher<String>
6880
{
6981
/**
7082
* Get the context of this query.
@@ -114,6 +126,11 @@ public interface Builder
114126
*/
115127
Builder withContext(Context context);
116128

129+
/**
130+
* Build the instance.
131+
*
132+
* @return
133+
*/
117134
UserQuery build();
118135
}
119136
}

silo-search-api/src/main/java/se/l4/silo/index/search/query/UserQueryMatcher.java

-45
This file was deleted.

silo-search-engine/src/main/java/se/l4/silo/engine/index/search/internal/MappedSearchFieldType.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public V read(StreamingInput in)
7474
@SuppressWarnings({ "unchecked", "rawtypes" })
7575
public Query createQuery(
7676
QueryEncounter<?> encounter,
77-
String field,
77+
SearchFieldDef<?> fieldDef,
7878
Matcher<V> matcher
7979
)
8080
{
@@ -89,7 +89,7 @@ public Query createQuery(
8989
converted = (Matcher) matcher;
9090
}
9191

92-
return originalType.createQuery(encounter, field, converted);
92+
return originalType.createQuery(encounter, fieldDef, converted);
9393
}
9494

9595
@Override

silo-search-engine/src/main/java/se/l4/silo/engine/index/search/internal/SearchIndexDefImpl.java

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import se.l4.silo.engine.index.search.config.IndexCacheConfig;
2020
import se.l4.silo.engine.index.search.config.IndexCommitConfig;
2121
import se.l4.silo.engine.index.search.facets.FacetDef;
22+
import se.l4.silo.engine.index.search.internal.query.QueryBuildersImpl;
2223
import se.l4.silo.engine.index.search.locales.Locales;
2324
import se.l4.silo.index.search.SearchIndexException;
2425

0 commit comments

Comments
 (0)