aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-05-27 13:05:31 +0200
committerGitHub <noreply@github.com>2018-05-27 13:05:31 +0200
commitc4f1deffdcab1a65d4aa64de840c909db929d4d4 (patch)
tree82018910c9c970d7cd3b3380621bedd2d8031b5c /container-search/src/main/java/com/yahoo/search
parenta940c9883183a8697fc5fa389355789d1d47f5b6 (diff)
Revert "Bratseth/iterate over indexes not fields 2"
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/querytransform/NGramSearcher.java13
-rw-r--r--container-search/src/main/java/com/yahoo/search/result/Templating.java4
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java16
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchchain/testutil/DocumentSourceSearcher.java11
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;
}