mirror of https://github.com/apache/lucene.git
SOLR-1036: Change default QParser from "lucenePlusSort" to "lucene"
git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@748763 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
59cbcf51a7
commit
32c63cea8e
11
CHANGES.txt
11
CHANGES.txt
|
@ -32,6 +32,14 @@ the index smaller and faster. If you are upgrading from an earlier Solr
|
||||||
release and want to enable omitTf by default, change the schema version from
|
release and want to enable omitTf by default, change the schema version from
|
||||||
1.1 to 1.2 in schema.xml. Remove any existing index and restart Solr to ensure that omitTf completely takes affect.
|
1.1 to 1.2 in schema.xml. Remove any existing index and restart Solr to ensure that omitTf completely takes affect.
|
||||||
|
|
||||||
|
The default QParserPlugin used by the QueryComponent for parsing the "q" param
|
||||||
|
has been changed, to remove support for the deprecated use of ";" as a separator
|
||||||
|
between the query string and the sort options when no "sort" param was used.
|
||||||
|
Users who wish to continue using the semi-colon based method of specifying the
|
||||||
|
sort options should explicitly set the defType param to "lucenePlusSort" on all
|
||||||
|
requests. (The simplest way to do this is by specifying it as a default param
|
||||||
|
for your request handlers in solrconfig.xml, see the example solrconfig.xml for
|
||||||
|
sample syntax.)
|
||||||
|
|
||||||
Detailed Change List
|
Detailed Change List
|
||||||
----------------------
|
----------------------
|
||||||
|
@ -330,6 +338,9 @@ Other Changes
|
||||||
|
|
||||||
19. SOLR-967: New type-safe constructor for NamedList (Kay Kay via hossman)
|
19. SOLR-967: New type-safe constructor for NamedList (Kay Kay via hossman)
|
||||||
|
|
||||||
|
20. SOLR-1036: Change default QParser from "lucenePlusSort" to "lucene" to
|
||||||
|
reduce confusion of semicolon splitting behavior when no sort param is
|
||||||
|
specified (hossman)
|
||||||
|
|
||||||
Build
|
Build
|
||||||
----------------------
|
----------------------
|
||||||
|
|
|
@ -75,7 +75,7 @@ public class QueryComponent extends SearchComponent
|
||||||
rb.setFieldFlags( fieldFlags );
|
rb.setFieldFlags( fieldFlags );
|
||||||
|
|
||||||
String defType = params.get(QueryParsing.DEFTYPE);
|
String defType = params.get(QueryParsing.DEFTYPE);
|
||||||
defType = defType==null ? OldLuceneQParserPlugin.NAME : defType;
|
defType = defType==null ? QParserPlugin.DEFAULT_QTYPE : defType;
|
||||||
|
|
||||||
if (rb.getQueryString() == null) {
|
if (rb.getQueryString() == null) {
|
||||||
rb.setQueryString( params.get( CommonParams.Q ) );
|
rb.setQueryString( params.get( CommonParams.Q ) );
|
||||||
|
|
|
@ -22,11 +22,11 @@ import org.apache.solr.util.plugin.NamedListInitializedPlugin;
|
||||||
|
|
||||||
public abstract class QParserPlugin implements NamedListInitializedPlugin {
|
public abstract class QParserPlugin implements NamedListInitializedPlugin {
|
||||||
/** internal use - name of the default parser */
|
/** internal use - name of the default parser */
|
||||||
public static String DEFAULT_QTYPE="lucene";
|
public static String DEFAULT_QTYPE = LuceneQParserPlugin.NAME;
|
||||||
|
|
||||||
/** internal use - name to class mappings of builtin parsers */
|
/** internal use - name to class mappings of builtin parsers */
|
||||||
public static final Object[] standardPlugins = {
|
public static final Object[] standardPlugins = {
|
||||||
DEFAULT_QTYPE, LuceneQParserPlugin.class,
|
LuceneQParserPlugin.NAME, LuceneQParserPlugin.class,
|
||||||
OldLuceneQParserPlugin.NAME, OldLuceneQParserPlugin.class,
|
OldLuceneQParserPlugin.NAME, OldLuceneQParserPlugin.class,
|
||||||
FunctionQParserPlugin.NAME, FunctionQParserPlugin.class,
|
FunctionQParserPlugin.NAME, FunctionQParserPlugin.class,
|
||||||
PrefixQParserPlugin.NAME, PrefixQParserPlugin.class,
|
PrefixQParserPlugin.NAME, PrefixQParserPlugin.class,
|
||||||
|
|
|
@ -39,6 +39,7 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
SolrQueryRequest req = null;
|
SolrQueryRequest req = null;
|
||||||
Map<String,String> args = new HashMap<String,String>();
|
Map<String,String> args = new HashMap<String,String>();
|
||||||
lrf.args.put("version","2.0");
|
lrf.args.put("version","2.0");
|
||||||
|
lrf.args.put("defType","lucenePlusSort");
|
||||||
|
|
||||||
// compact the index, keep things from getting out of hand
|
// compact the index, keep things from getting out of hand
|
||||||
|
|
||||||
|
@ -222,6 +223,7 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
);
|
);
|
||||||
args = new HashMap<String,String>();
|
args = new HashMap<String,String>();
|
||||||
args.put("version","2.0");
|
args.put("version","2.0");
|
||||||
|
args.put("defType","lucenePlusSort");
|
||||||
req = new LocalSolrQueryRequest(h.getCore(), "val_s:[a TO z];val_s asc",
|
req = new LocalSolrQueryRequest(h.getCore(), "val_s:[a TO z];val_s asc",
|
||||||
"standard", 0, 0 , args);
|
"standard", 0, 0 , args);
|
||||||
assertQ(req
|
assertQ(req
|
||||||
|
@ -230,6 +232,7 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
);
|
);
|
||||||
args = new HashMap<String,String>();
|
args = new HashMap<String,String>();
|
||||||
args.put("version","2.0");
|
args.put("version","2.0");
|
||||||
|
args.put("defType","lucenePlusSort");
|
||||||
req = new LocalSolrQueryRequest(h.getCore(), "val_s:[a TO z];val_s desc",
|
req = new LocalSolrQueryRequest(h.getCore(), "val_s:[a TO z];val_s desc",
|
||||||
"standard", 0, 0 , args);
|
"standard", 0, 0 , args);
|
||||||
assertQ(req
|
assertQ(req
|
||||||
|
@ -1171,6 +1174,7 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
args = new HashMap<String,String>();
|
args = new HashMap<String,String>();
|
||||||
args.put("version","2.0");
|
args.put("version","2.0");
|
||||||
args.put("fl","score ");
|
args.put("fl","score ");
|
||||||
|
args.put("defType","lucenePlusSort");
|
||||||
req = new LocalSolrQueryRequest(h.getCore(), "id:44;id desc;",
|
req = new LocalSolrQueryRequest(h.getCore(), "id:44;id desc;",
|
||||||
"standard", 0, 10, args);
|
"standard", 0, 10, args);
|
||||||
assertQ(req
|
assertQ(req
|
||||||
|
@ -1179,6 +1183,7 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
args = new HashMap<String,String>();
|
args = new HashMap<String,String>();
|
||||||
args.put("version","2.0");
|
args.put("version","2.0");
|
||||||
args.put("fl","score ");
|
args.put("fl","score ");
|
||||||
|
args.put("defType","lucenePlusSort");
|
||||||
req = new LocalSolrQueryRequest(h.getCore(), "id:44;",
|
req = new LocalSolrQueryRequest(h.getCore(), "id:44;",
|
||||||
"standard", 0, 10, args);
|
"standard", 0, 10, args);
|
||||||
assertQ(req
|
assertQ(req
|
||||||
|
@ -1187,6 +1192,7 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
args = new HashMap<String,String>();
|
args = new HashMap<String,String>();
|
||||||
args.put("version","2.0");
|
args.put("version","2.0");
|
||||||
args.put("fl","score ");
|
args.put("fl","score ");
|
||||||
|
args.put("defType","lucenePlusSort");
|
||||||
req = new LocalSolrQueryRequest(h.getCore(), "id:44;id desc;",
|
req = new LocalSolrQueryRequest(h.getCore(), "id:44;id desc;",
|
||||||
"standard", 0, 10, args);
|
"standard", 0, 10, args);
|
||||||
assertQ(req
|
assertQ(req
|
||||||
|
@ -1195,6 +1201,7 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
args = new HashMap<String,String>();
|
args = new HashMap<String,String>();
|
||||||
args.put("version","2.0");
|
args.put("version","2.0");
|
||||||
args.put("fl","score");
|
args.put("fl","score");
|
||||||
|
args.put("defType","lucenePlusSort");
|
||||||
req = new LocalSolrQueryRequest(h.getCore(), "id:44;id desc;",
|
req = new LocalSolrQueryRequest(h.getCore(), "id:44;id desc;",
|
||||||
"standard", 0, 0 , args);
|
"standard", 0, 0 , args);
|
||||||
assertQ(req
|
assertQ(req
|
||||||
|
|
|
@ -25,6 +25,7 @@ import org.apache.solr.common.params.MapSolrParams;
|
||||||
import org.apache.solr.core.SolrCore;
|
import org.apache.solr.core.SolrCore;
|
||||||
import org.apache.solr.request.LocalSolrQueryRequest;
|
import org.apache.solr.request.LocalSolrQueryRequest;
|
||||||
import org.apache.solr.request.SolrQueryRequest;
|
import org.apache.solr.request.SolrQueryRequest;
|
||||||
|
import org.apache.solr.search.QueryParsing;
|
||||||
import org.apache.solr.util.AbstractSolrTestCase;
|
import org.apache.solr.util.AbstractSolrTestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -82,6 +83,7 @@ public class StandardRequestHandlerTest extends AbstractSolrTestCase {
|
||||||
|
|
||||||
// Using legacy ';' param
|
// Using legacy ';' param
|
||||||
args.remove( CommonParams.SORT );
|
args.remove( CommonParams.SORT );
|
||||||
|
args.put( QueryParsing.DEFTYPE, "lucenePlusSort" );
|
||||||
args.put( CommonParams.Q, "title:test; val_s desc" );
|
args.put( CommonParams.Q, "title:test; val_s desc" );
|
||||||
assertQ("with sort param [desc]", req
|
assertQ("with sort param [desc]", req
|
||||||
,"//*[@numFound='3']"
|
,"//*[@numFound='3']"
|
||||||
|
|
Loading…
Reference in New Issue