diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-05-27 13:05:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-27 13:05:31 +0200 |
commit | c4f1deffdcab1a65d4aa64de840c909db929d4d4 (patch) | |
tree | 82018910c9c970d7cd3b3380621bedd2d8031b5c /container-search/src/main/java/com/yahoo/search | |
parent | a940c9883183a8697fc5fa389355789d1d47f5b6 (diff) |
Revert "Bratseth/iterate over indexes not fields 2"
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
5 files changed, 21 insertions, 25 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java index e9e4e34727c..1c6e92ebffc 100644 --- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java +++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java @@ -230,7 +230,7 @@ public class SearchHandler extends LoggingRequestHandler { return (e.getCause() instanceof IllegalArgumentException) ? invalidParameterResponse(request, e) : illegalQueryResponse(request, e); - } catch (RuntimeException e) { // Make sure we generate a valid response even on unexpected errors + } catch (RuntimeException e) { // Make sure we generate a valid XML response even on unexpected errors log.log(Level.WARNING, "Failed handling " + request, e); return internalServerErrorResponse(request, e); } diff --git a/container-search/src/main/java/com/yahoo/search/querytransform/NGramSearcher.java b/container-search/src/main/java/com/yahoo/search/querytransform/NGramSearcher.java index 399ff6194c8..2768a546cd0 100644 --- a/container-search/src/main/java/com/yahoo/search/querytransform/NGramSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/querytransform/NGramSearcher.java @@ -40,8 +40,8 @@ public class NGramSearcher extends Searcher { private final CharacterClasses characterClasses; public NGramSearcher(Linguistics linguistics) { - gramSplitter = linguistics.getGramSplitter(); - characterClasses = linguistics.getCharacterClasses(); + gramSplitter= linguistics.getGramSplitter(); + characterClasses= linguistics.getCharacterClasses(); } @Override @@ -54,7 +54,7 @@ public class NGramSearcher extends Searcher { if (rewritten) query.trace("Rewritten to n-gram matching",true,2); - Result result = execution.search(query); + Result result=execution.search(query); recombineNGrams(result.hits().deepIterator(), session); return result; } @@ -160,11 +160,10 @@ public class NGramSearcher extends Searcher { if (hit.isMeta()) continue; Object sddocname = hit.getField(Hit.SDDOCNAME_FIELD); if (sddocname == null) return; - for (Index index : session.getIndexes(sddocname.toString())) { + for (String fieldName : hit.fieldKeys()) { // TODO: Iterate over indexes instead + Index index = session.getIndex(fieldName, sddocname.toString()); if (index.isNGram() && (index.getHighlightSummary() || index.getDynamicSummary())) { - Object fieldValue = hit.getField(index.getName()); - if (fieldValue != null) - hit.setField(index.getName(), recombineNGramsField(fieldValue, index.getGramSize())); + hit.setField(fieldName, recombineNGramsField(hit.getField(fieldName), index.getGramSize())); } } } diff --git a/container-search/src/main/java/com/yahoo/search/result/Templating.java b/container-search/src/main/java/com/yahoo/search/result/Templating.java index 9e191a1219c..47f40f3c7f5 100644 --- a/container-search/src/main/java/com/yahoo/search/result/Templating.java +++ b/container-search/src/main/java/com/yahoo/search/result/Templating.java @@ -15,10 +15,8 @@ import com.yahoo.search.query.Presentation; * Helper methods and data store for result attributes geared towards result * rendering and presentation. * - * @author Steinar Knutsen - * @deprecated do not use + * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a> */ -@Deprecated // TODO: Remove on Vespa 7 public class Templating { private final Result result; diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java index 94fd9549939..fe3d48ccded 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java @@ -9,13 +9,10 @@ import com.yahoo.component.chain.model.ChainedComponentModel; import com.yahoo.search.Searcher; import com.yahoo.search.searchchain.model.federation.FederationSearcherModel; import com.yahoo.search.searchchain.model.federation.FederationSearcherModel.TargetSpec; +import org.apache.commons.collections.CollectionUtils; + +import java.util.*; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; /** * Defines the searcher models used in the vespa and native search chains, except for federation. @@ -26,6 +23,8 @@ import java.util.Set; public class VespaSearchers { public static final Collection<ChainedComponentModel> vespaSearcherModels = toSearcherModels( + com.yahoo.prelude.querytransform.IndexCombinatorSearcher.class, + //com.yahoo.prelude.querytransform.LocalitySearcher.class, com.yahoo.prelude.querytransform.PhrasingSearcher.class, com.yahoo.prelude.searcher.FieldCollapsingSearcher.class, com.yahoo.search.yql.MinimalQueryInserter.class, @@ -60,8 +59,8 @@ public class VespaSearchers { private static FederationSearcherModel federationSearcherModel() { return new FederationSearcherModel(new ComponentSpecification("federation"), - Dependencies.emptyDependencies(), - Collections.<TargetSpec>emptyList(), true); + Dependencies.emptyDependencies(), + Collections.<TargetSpec>emptyList(), true); } private static boolean allAdded(Collection<ChainedComponentModel> searcherModels, Set<ComponentId> componentIds) { @@ -83,4 +82,3 @@ public class VespaSearchers { return searcherModels; } } - diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/testutil/DocumentSourceSearcher.java b/container-search/src/main/java/com/yahoo/search/searchchain/testutil/DocumentSourceSearcher.java index f4973ba4239..56a6a702962 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/testutil/DocumentSourceSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/testutil/DocumentSourceSearcher.java @@ -28,7 +28,7 @@ import com.yahoo.search.searchchain.Execution; * Any field in the configured hits which has a name starting by attribute * will be returned when attribute prefetch filling is requested.</p> * - * @author bratseth + * @author bratseth */ public class DocumentSourceSearcher extends Searcher { @@ -85,6 +85,7 @@ public class DocumentSourceSearcher extends Searcher { private void addDefaultResults() { Query q = new Query("?query=default"); Result r = new Result(q); + // These four used to assign collapseId 1,2,3,4 - re-add that if needed r.hits().add(new Hit("http://default-1.html", 0)); r.hits().add(new Hit("http://default-2.html", 0)); r.hits().add(new Hit("http://default-3.html", 0)); @@ -96,7 +97,8 @@ public class DocumentSourceSearcher extends Searcher { @Override public Result search(Query query, Execution execution) { queryCount++; - Result r = unFilledResults.get(getQueryKeyClone(query)); + Result r; + r = unFilledResults.get(getQueryKeyClone(query)); if (r == null) { r = defaultFilledResult.clone(); } else { @@ -109,13 +111,12 @@ public class DocumentSourceSearcher extends Searcher { } /** - * Returns a query clone which has sourcr, offset and hits set to null. This is used by access to + * Returns a query clone which has offset and hits set to null. This is used by access to * the maps using the query as key to achieve lookup independent of offset/hits value */ private Query getQueryKeyClone(Query query) { - Query key = query.clone(); + Query key=query.clone(); key.setWindow(0,0); - key.getModel().setSources(""); return key; } |