19
19
import org .atlasapi .equiv .query .MergeOnOutputQueryExecutor ;
20
20
import org .atlasapi .feeds .www .DispatchingAtlasModelWriter ;
21
21
import org .atlasapi .persistence .content .ScheduleResolver ;
22
+ import org .atlasapi .persistence .content .SearchResolver ;
22
23
import org .atlasapi .persistence .content .mongo .MongoDBQueryExecutor ;
23
24
import org .atlasapi .persistence .content .mongo .MongoDbBackedContentStore ;
24
25
import org .atlasapi .persistence .content .query .KnownTypeQueryExecutor ;
25
26
import org .atlasapi .persistence .logging .AdapterLog ;
26
27
import org .atlasapi .query .content .ApplicationConfigurationQueryExecutor ;
27
28
import org .atlasapi .query .content .CurieResolvingQueryExecutor ;
28
29
import org .atlasapi .query .content .UriFetchingQueryExecutor ;
29
- import org .atlasapi .query .content .fuzzy .DefuzzingQueryExecutor ;
30
30
import org .atlasapi .query .content .fuzzy .FuzzySearcher ;
31
31
import org .atlasapi .query .content .fuzzy .RemoteFuzzySearcher ;
32
+ import org .atlasapi .query .content .search .ContentResolvingSearcher ;
33
+ import org .atlasapi .query .content .search .DummySearcher ;
32
34
import org .atlasapi .query .uri .canonical .CanonicalisingFetcher ;
33
35
import org .atlasapi .query .v2 .PeopleController ;
34
36
import org .atlasapi .query .v2 .QueryController ;
35
37
import org .atlasapi .query .v2 .ScheduleController ;
38
+ import org .atlasapi .query .v2 .SearchController ;
36
39
import org .springframework .beans .factory .annotation .Autowired ;
37
40
import org .springframework .beans .factory .annotation .Qualifier ;
38
41
import org .springframework .beans .factory .annotation .Value ;
@@ -53,24 +56,9 @@ public class QueryModule {
53
56
private @ Autowired AdapterLog log ;
54
57
55
58
private @ Value ("${atlas.search.host}" ) String searchHost ;
56
-
57
- @ Bean KnownTypeQueryExecutor mongoQueryExecutor () {
58
- return new MongoDBQueryExecutor (store );
59
- }
60
-
61
- @ Bean KnownTypeQueryExecutor mongoDbQueryExcutorThatFiltersUriQueries () {
62
- MongoDBQueryExecutor executor = new MongoDBQueryExecutor (store );
63
- executor .setFilterUriQueries (true );
64
- return executor ;
65
- }
66
59
67
60
@ Bean KnownTypeQueryExecutor queryExecutor () {
68
- KnownTypeQueryExecutor defuzzingExecutor = mongoQueryExecutor ();
69
-
70
- if (!Strings .isNullOrEmpty (searchHost )) {
71
- FuzzySearcher titleSearcher = new RemoteFuzzySearcher (searchHost );
72
- defuzzingExecutor = new DefuzzingQueryExecutor (mongoQueryExecutor (), mongoDbQueryExcutorThatFiltersUriQueries (), titleSearcher );
73
- }
61
+ KnownTypeQueryExecutor defuzzingExecutor = new MongoDBQueryExecutor (store );
74
62
75
63
UriFetchingQueryExecutor uriFetching = new UriFetchingQueryExecutor (localOrRemoteFetcher , defuzzingExecutor );
76
64
@@ -84,17 +72,30 @@ public class QueryModule {
84
72
}
85
73
}
86
74
75
+ @ Bean SearchResolver searchResolver () {
76
+ if (! Strings .isNullOrEmpty (searchHost )) {
77
+ FuzzySearcher titleSearcher = new RemoteFuzzySearcher (searchHost );
78
+ return new ContentResolvingSearcher (titleSearcher , queryExecutor ());
79
+ }
80
+
81
+ return new DummySearcher ();
82
+ }
83
+
87
84
@ Bean QueryController queryController () {
88
85
return new QueryController (queryExecutor (), configFetcher , log , atlasModelOutputter ());
89
86
}
90
87
91
88
@ Bean ScheduleController schedulerController () {
92
- return new ScheduleController (scheduleResolver , queryExecutor (), configFetcher , log , atlasModelOutputter ());
89
+ return new ScheduleController (scheduleResolver , configFetcher , log , atlasModelOutputter ());
93
90
}
94
91
95
92
@ Bean PeopleController peopleController () {
96
93
return new PeopleController (queryExecutor (), configFetcher , log , atlasModelOutputter ());
97
94
}
95
+
96
+ @ Bean SearchController searchController () {
97
+ return new SearchController (searchResolver (), configFetcher , log , atlasModelOutputter ());
98
+ }
98
99
99
100
@ Bean AtlasModelWriter atlasModelOutputter () {
100
101
return new DispatchingAtlasModelWriter ();
0 commit comments