Author: ssmiweve
Date: 2008-09-16 23:57:26 +0200 (Tue, 16 Sep 2008)
New Revision: 6819
Modified:
branches/2.17/core-api/src/main/java/no/sesat/search/run/RunningQueryImpl.java
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchMode.java
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java
Log:
Issue SKER5004: (Create option to disable the automatic rewrite of <multi-word
query> to (<multi-word query>) when there are zero hits across all verticals)
Modified:
branches/2.17/core-api/src/main/java/no/sesat/search/run/RunningQueryImpl.java
===================================================================
---
branches/2.17/core-api/src/main/java/no/sesat/search/run/RunningQueryImpl.java
2008-09-16 21:56:01 UTC (rev 6818)
+++
branches/2.17/core-api/src/main/java/no/sesat/search/run/RunningQueryImpl.java
2008-09-16 21:57:26 UTC (rev 6819)
@@ -657,7 +657,8 @@
final String queryStr = datamodel.getQuery().getString();
if (!queryStr.startsWith("(") && !queryStr.endsWith(")")
- && datamodel.getQuery().getQuery().getTermCount() > 1) {
+ && datamodel.getQuery().getQuery().getTermCount() > 1
+ && context.getSearchMode().isAutoBroadening()) {
// DataModel's ControlLevel will be RUNNING_QUERY_CONSTRUCTION
// Increment it onwards to SEARCH_COMMAND_CONSTRUCTION.
Modified:
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchMode.java
===================================================================
---
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchMode.java
2008-09-16 21:56:01 UTC (rev 6818)
+++
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchMode.java
2008-09-16 21:57:26 UTC (rev 6819)
@@ -1,5 +1,5 @@
/*
- * Copyright (2005-2007) Schibsted Søk AS
+ * Copyright (2005-2008) Schibsted Søk AS
* This file is part of SESAT.
*
* SESAT is free software: you can redistribute it and/or modify
@@ -80,6 +80,7 @@
private Collection<SearchConfiguration> searchConfigurations;
private SearchMode parentSearchMode;
private boolean queryAnalysisEnabled = false;
+ private boolean autoBroadening = true;
private String parentMode;
private String id;
private List<RunHandlerConfig> runHandlers;
@@ -106,6 +107,7 @@
parentMode = inherit.parentMode;
queryAnalysisEnabled = inherit.queryAnalysisEnabled;
searchCommandExecutor = inherit.searchCommandExecutor;
+ autoBroadening = inherit.autoBroadening;
}
}
@@ -165,6 +167,26 @@
}
/**
+ * Get the autoBroadening.
+ * Automatic broadening results in any query returning zero hits across
all commands will be wrapped in
+ * parenthesis () and re-executed. This changes any
DefaultOperatorClauses to OrClauses.
+ *
+ * @return the autoBroadening.
+ */
+ public boolean isAutoBroadening() {
+ return autoBroadening;
+ }
+
+ /**
+ * Set the autoBroadening.
+ *
+ * @param autoBroadening The autoBroadening to set.
+ */
+ public void setAutoBroadening(boolean autoBroadening) {
+ this.autoBroadening = autoBroadening;
+ }
+
+ /**
* Get the queryAnalysisEnabled.
*
* @return the queryAnalysisEnabled.
Modified:
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java
===================================================================
---
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java
2008-09-16 21:56:01 UTC (rev 6818)
+++
branches/2.17/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java
2008-09-16 21:57:26 UTC (rev 6819)
@@ -252,6 +252,7 @@
inherit != null ? inherit.getExecutor() :
SearchMode.SearchCommandExecutorConfig.SEQUENTIAL));
fillBeanProperty(mode, inherit, "analysis", ParseType.Boolean,
modeE, "false");
+ fillBeanProperty(mode, inherit, "autoBroadening",
ParseType.Boolean, modeE, "true");
mode.setRunTransformers(getRunTransformers(modeE, inherit));
mode.setRunHandlers(getRunHandlers(modeE, inherit));
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits