mirror of https://github.com/apache/lucene.git
SOLR-1339: fix dismax to handle parse exceptions, change types in tests to use new numeric types
git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@801786 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b33318f06e
commit
ce84cfc655
|
@ -359,6 +359,7 @@
|
||||||
<field name="features" type="text" indexed="true" stored="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
<field name="features" type="text" indexed="true" stored="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
||||||
<field name="includes" type="text" indexed="true" stored="true"/>
|
<field name="includes" type="text" indexed="true" stored="true"/>
|
||||||
|
|
||||||
|
|
||||||
<field name="weight" type="float" indexed="true" stored="true"/>
|
<field name="weight" type="float" indexed="true" stored="true"/>
|
||||||
<field name="price" type="float" indexed="true" stored="true"/>
|
<field name="price" type="float" indexed="true" stored="true"/>
|
||||||
<!-- "default" values can be specified for fields, indicating which
|
<!-- "default" values can be specified for fields, indicating which
|
||||||
|
@ -367,6 +368,9 @@
|
||||||
<field name="popularity" type="int" indexed="true" stored="true"/>
|
<field name="popularity" type="int" indexed="true" stored="true"/>
|
||||||
<field name="inStock" type="boolean" indexed="true" stored="true"/>
|
<field name="inStock" type="boolean" indexed="true" stored="true"/>
|
||||||
|
|
||||||
|
|
||||||
|
<field name="title" type="text" indexed="true" stored="true"/>
|
||||||
|
|
||||||
<!-- Some sample docs exists solely to demonstrate the spellchecker
|
<!-- Some sample docs exists solely to demonstrate the spellchecker
|
||||||
functionality, this is the only field they contain.
|
functionality, this is the only field they contain.
|
||||||
Typically you might build the spellchecker off "catchall" type field
|
Typically you might build the spellchecker off "catchall" type field
|
||||||
|
@ -409,6 +413,13 @@
|
||||||
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
|
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
|
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
|
||||||
|
|
||||||
|
<!-- some trie-coded dynamic fields for faster range queries -->
|
||||||
|
<dynamicField name="*_ti" type="tint" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_tl" type="tlong" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_tf" type="tfloat" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_td" type="tdouble" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_tdt" type="tdate" indexed="true" stored="true"/>
|
||||||
|
|
||||||
<dynamicField name="*_pi" type="pint" indexed="true" stored="true"/>
|
<dynamicField name="*_pi" type="pint" indexed="true" stored="true"/>
|
||||||
|
|
||||||
<dynamicField name="ignored_*" type="ignored" multiValued="true"/>
|
<dynamicField name="ignored_*" type="ignored" multiValued="true"/>
|
||||||
|
|
|
@ -218,16 +218,24 @@ public class DocumentAnalysisRequestHandler extends AnalysisRequestHandlerBase {
|
||||||
|
|
||||||
Set<String> termsToMatch = new HashSet<String>();
|
Set<String> termsToMatch = new HashSet<String>();
|
||||||
if (request.getQuery() != null && request.isShowMatch()) {
|
if (request.getQuery() != null && request.isShowMatch()) {
|
||||||
|
try {
|
||||||
List<Token> tokens = analyzeValue(request.getQuery(), fieldType.getQueryAnalyzer());
|
List<Token> tokens = analyzeValue(request.getQuery(), fieldType.getQueryAnalyzer());
|
||||||
for (Token token : tokens) {
|
for (Token token : tokens) {
|
||||||
termsToMatch.add(token.term());
|
termsToMatch.add(token.term());
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
// ignore analysis exceptions since we are applying arbitrary text to all fields
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (request.getQuery() != null) {
|
if (request.getQuery() != null) {
|
||||||
|
try {
|
||||||
AnalysisContext analysisContext = new AnalysisContext(fieldType, fieldType.getQueryAnalyzer(), Collections.EMPTY_SET);
|
AnalysisContext analysisContext = new AnalysisContext(fieldType, fieldType.getQueryAnalyzer(), Collections.EMPTY_SET);
|
||||||
NamedList<List<NamedList>> tokens = analyzeValue(request.getQuery(), analysisContext);
|
NamedList<List<NamedList>> tokens = analyzeValue(request.getQuery(), analysisContext);
|
||||||
fieldTokens.add("query", tokens);
|
fieldTokens.add("query", tokens);
|
||||||
|
} catch (Exception e) {
|
||||||
|
// ignore analysis exceptions since we are applying arbitrary text to all fields
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Analyzer analyzer = fieldType.getAnalyzer();
|
Analyzer analyzer = fieldType.getAnalyzer();
|
||||||
|
|
|
@ -777,7 +777,7 @@ public class SolrPluginUtils {
|
||||||
DisjunctionMaxQuery q = new DisjunctionMaxQuery(a.tie);
|
DisjunctionMaxQuery q = new DisjunctionMaxQuery(a.tie);
|
||||||
|
|
||||||
/* we might not get any valid queries from delegation,
|
/* we might not get any valid queries from delegation,
|
||||||
* in which we should return null
|
* in which case we should return null
|
||||||
*/
|
*/
|
||||||
boolean ok = false;
|
boolean ok = false;
|
||||||
|
|
||||||
|
@ -795,7 +795,11 @@ public class SolrPluginUtils {
|
||||||
return ok ? q : null;
|
return ok ? q : null;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
try {
|
||||||
return super.getFieldQuery(field, queryText);
|
return super.getFieldQuery(field, queryText);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -591,47 +591,47 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
// test binary float ranges and sorting
|
// test binary float ranges and sorting
|
||||||
|
|
||||||
assertU("<delete><id>44</id></delete>");
|
assertU("<delete><id>44</id></delete>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">1.4142135</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">1.4142135</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">Infinity</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">Infinity</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">-Infinity</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-Infinity</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">NaN</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">NaN</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">2</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">2</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">-1</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-1</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">-987654321</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-987654321</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">-999999.99</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-999999.99</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">-1e20</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">-1e20</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_f\">0</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sf\">0</field></doc></add>");
|
||||||
assertU("<commit/>");
|
assertU("<commit/>");
|
||||||
assertQ(req("id:44")
|
assertQ(req("id:44")
|
||||||
,"*[count(//doc)=10]"
|
,"*[count(//doc)=10]"
|
||||||
);
|
);
|
||||||
assertQ(req("num_f:Infinity")
|
assertQ(req("num_sf:Infinity")
|
||||||
,"//@numFound[.='1'] "
|
,"//@numFound[.='1'] "
|
||||||
,"//float[.='Infinity']"
|
,"//float[.='Infinity']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_f:\"-Infinity\"")
|
assertQ(req("num_sf:\"-Infinity\"")
|
||||||
,"//@numFound[.='1'] "
|
,"//@numFound[.='1'] "
|
||||||
,"//float[.='-Infinity']"
|
,"//float[.='-Infinity']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_f:\"NaN\"")
|
assertQ(req("num_sf:\"NaN\"")
|
||||||
,"//@numFound[.='1'] "
|
,"//@numFound[.='1'] "
|
||||||
,"//float[.='NaN']"
|
,"//float[.='NaN']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_f:\"-1e20\"")
|
assertQ(req("num_sf:\"-1e20\"")
|
||||||
,"//@numFound[.='1']"
|
,"//@numFound[.='1']"
|
||||||
);
|
);
|
||||||
assertQ(req("id:44;num_f asc;")
|
assertQ(req("id:44;num_sf asc;")
|
||||||
,"//doc[1]/float[.='-Infinity'] "
|
,"//doc[1]/float[.='-Infinity'] "
|
||||||
,"//doc[last()]/float[.='NaN']"
|
,"//doc[last()]/float[.='NaN']"
|
||||||
);
|
);
|
||||||
assertQ(req("id:44;num_f desc;")
|
assertQ(req("id:44;num_sf desc;")
|
||||||
,"//doc[1]/float[.='NaN'] "
|
,"//doc[1]/float[.='NaN'] "
|
||||||
,"//doc[last()]/float[.='-Infinity']"
|
,"//doc[last()]/float[.='-Infinity']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_f:[-1 TO 2]")
|
assertQ(req("num_sf:[-1 TO 2]")
|
||||||
,"*[count(//doc)=4]"
|
,"*[count(//doc)=4]"
|
||||||
);
|
);
|
||||||
assertQ(req("num_f:[-Infinity TO Infinity]")
|
assertQ(req("num_sf:[-Infinity TO Infinity]")
|
||||||
,"*[count(//doc)=9]"
|
,"*[count(//doc)=9]"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -640,50 +640,50 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
// test binary double ranges and sorting
|
// test binary double ranges and sorting
|
||||||
|
|
||||||
assertU("<delete><id>44</id></delete>");
|
assertU("<delete><id>44</id></delete>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">1.4142135</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">1.4142135</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">Infinity</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">Infinity</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">-Infinity</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-Infinity</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">NaN</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">NaN</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">2</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">2</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">-1</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-1</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">1e-100</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">1e-100</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">-999999.99</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-999999.99</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">-1e100</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">-1e100</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_d\">0</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id\">44</field><field name=\"num_sd\">0</field></doc></add>");
|
||||||
assertU("<commit/>");
|
assertU("<commit/>");
|
||||||
assertQ(req("id:44")
|
assertQ(req("id:44")
|
||||||
,"*[count(//doc)=10]"
|
,"*[count(//doc)=10]"
|
||||||
);
|
);
|
||||||
assertQ(req("num_d:Infinity")
|
assertQ(req("num_sd:Infinity")
|
||||||
,"//@numFound[.='1'] "
|
,"//@numFound[.='1'] "
|
||||||
,"//double[.='Infinity']"
|
,"//double[.='Infinity']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_d:\"-Infinity\"")
|
assertQ(req("num_sd:\"-Infinity\"")
|
||||||
,"//@numFound[.='1'] "
|
,"//@numFound[.='1'] "
|
||||||
,"//double[.='-Infinity']"
|
,"//double[.='-Infinity']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_d:\"NaN\"")
|
assertQ(req("num_sd:\"NaN\"")
|
||||||
,"//@numFound[.='1'] "
|
,"//@numFound[.='1'] "
|
||||||
,"//double[.='NaN']"
|
,"//double[.='NaN']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_d:\"-1e100\"")
|
assertQ(req("num_sd:\"-1e100\"")
|
||||||
,"//@numFound[.='1']"
|
,"//@numFound[.='1']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_d:\"1e-100\"")
|
assertQ(req("num_sd:\"1e-100\"")
|
||||||
,"//@numFound[.='1']"
|
,"//@numFound[.='1']"
|
||||||
);
|
);
|
||||||
assertQ(req("id:44;num_d asc;")
|
assertQ(req("id:44;num_sd asc;")
|
||||||
,"//doc[1]/double[.='-Infinity'] "
|
,"//doc[1]/double[.='-Infinity'] "
|
||||||
,"//doc[last()]/double[.='NaN']"
|
,"//doc[last()]/double[.='NaN']"
|
||||||
);
|
);
|
||||||
assertQ(req("id:44;num_d desc;")
|
assertQ(req("id:44;num_sd desc;")
|
||||||
,"//doc[1]/double[.='NaN'] "
|
,"//doc[1]/double[.='NaN'] "
|
||||||
,"//doc[last()]/double[.='-Infinity']"
|
,"//doc[last()]/double[.='-Infinity']"
|
||||||
);
|
);
|
||||||
assertQ(req("num_d:[-1 TO 2]")
|
assertQ(req("num_sd:[-1 TO 2]")
|
||||||
,"*[count(//doc)=5]"
|
,"*[count(//doc)=5]"
|
||||||
);
|
);
|
||||||
assertQ(req("num_d:[-Infinity TO Infinity]")
|
assertQ(req("num_sd:[-Infinity TO Infinity]")
|
||||||
,"*[count(//doc)=9]"
|
,"*[count(//doc)=9]"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -736,32 +736,32 @@ public class ConvertedLegacyTest extends AbstractSolrTestCase {
|
||||||
assertU("<delete><query>id_i:[1000 TO 1010]</query></delete>");
|
assertU("<delete><query>id_i:[1000 TO 1010]</query></delete>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1000</field><field name=\"a_i\">1</field><field name=\"nullfirst\">Z</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1000</field><field name=\"a_i\">1</field><field name=\"nullfirst\">Z</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1001</field><field name=\"a_i\">10</field><field name=\"nullfirst\">A</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1001</field><field name=\"a_i\">10</field><field name=\"nullfirst\">A</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1002</field><field name=\"a_i\">1</field><field name=\"b_i\">100</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1002</field><field name=\"a_i\">1</field><field name=\"b_si\">100</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1003</field><field name=\"a_i\">-1</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1003</field><field name=\"a_i\">-1</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1004</field><field name=\"a_i\">15</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1004</field><field name=\"a_i\">15</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1005</field><field name=\"a_i\">1</field><field name=\"b_i\">50</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1005</field><field name=\"a_i\">1</field><field name=\"b_si\">50</field></doc></add>");
|
||||||
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1006</field><field name=\"a_i\">0</field></doc></add>");
|
assertU("<add allowDups=\"true\"><doc><field name=\"id_i\">1006</field><field name=\"a_i\">0</field></doc></add>");
|
||||||
assertU("<commit/>");
|
assertU("<commit/>");
|
||||||
assertQ(req("id_i:[1000 TO 1010]")
|
assertQ(req("id_i:[1000 TO 1010]")
|
||||||
,"*[count(//doc)=7]"
|
,"*[count(//doc)=7]"
|
||||||
);
|
);
|
||||||
assertQ(req("id_i:[1000 TO 1010]; b_i asc")
|
assertQ(req("id_i:[1000 TO 1010]; b_si asc")
|
||||||
,"*[count(//doc)=7] "
|
,"*[count(//doc)=7] "
|
||||||
,"//doc[1]/int[.='50'] "
|
,"//doc[1]/int[.='50'] "
|
||||||
,"//doc[2]/int[.='100']"
|
,"//doc[2]/int[.='100']"
|
||||||
);
|
);
|
||||||
assertQ(req("id_i:[1000 TO 1010]; b_i desc")
|
assertQ(req("id_i:[1000 TO 1010]; b_si desc")
|
||||||
,"*[count(//doc)=7] "
|
,"*[count(//doc)=7] "
|
||||||
,"//doc[1]/int[.='100'] "
|
,"//doc[1]/int[.='100'] "
|
||||||
,"//doc[2]/int[.='50']"
|
,"//doc[2]/int[.='50']"
|
||||||
);
|
);
|
||||||
assertQ(req("id_i:[1000 TO 1010]; a_i asc,b_i desc")
|
assertQ(req("id_i:[1000 TO 1010]; a_i asc,b_si desc")
|
||||||
,"*[count(//doc)=7] "
|
,"*[count(//doc)=7] "
|
||||||
,"//doc[3]/int[.='100'] "
|
,"//doc[3]/int[.='100'] "
|
||||||
,"//doc[4]/int[.='50'] "
|
,"//doc[4]/int[.='50'] "
|
||||||
,"//doc[5]/int[.='1000']"
|
,"//doc[5]/int[.='1000']"
|
||||||
);
|
);
|
||||||
assertQ(req("id_i:[1000 TO 1010]; a_i asc,b_i asc")
|
assertQ(req("id_i:[1000 TO 1010]; a_i asc,b_si asc")
|
||||||
,"*[count(//doc)=7] "
|
,"*[count(//doc)=7] "
|
||||||
,"//doc[3]/int[.='50'] "
|
,"//doc[3]/int[.='50'] "
|
||||||
,"//doc[4]/int[.='100'] "
|
,"//doc[4]/int[.='100'] "
|
||||||
|
|
|
@ -146,7 +146,7 @@ public class DisMaxRequestHandlerTest extends AbstractSolrTestCase {
|
||||||
|
|
||||||
assertQ("explicit ALTQ",
|
assertQ("explicit ALTQ",
|
||||||
req( "qt", "dismax",
|
req( "qt", "dismax",
|
||||||
"q.alt", "id:blahbalh",
|
"q.alt", "id:9999",
|
||||||
"fq", "id:666",
|
"fq", "id:666",
|
||||||
"facet", "false" )
|
"facet", "false" )
|
||||||
,"//*[@numFound='0']"
|
,"//*[@numFound='0']"
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class TestDistributedSearch extends TestCase {
|
||||||
|
|
||||||
String id="id";
|
String id="id";
|
||||||
String t1="a_t";
|
String t1="a_t";
|
||||||
String i1="a_i";
|
String i1="a_si";
|
||||||
String tlong = "tlong";
|
String tlong = "tlong";
|
||||||
String oddField="oddField_s";
|
String oddField="oddField_s";
|
||||||
String missingField="missing_but_valid_field_t";
|
String missingField="missing_but_valid_field_t";
|
||||||
|
|
|
@ -42,10 +42,20 @@
|
||||||
These are provided more for backward compatability, allowing one
|
These are provided more for backward compatability, allowing one
|
||||||
to create a schema that matches an existing lucene index.
|
to create a schema that matches an existing lucene index.
|
||||||
-->
|
-->
|
||||||
<fieldType name="integer" class="solr.IntField"/>
|
<fieldType name="pint" class="solr.IntField"/>
|
||||||
<fieldType name="long" class="solr.LongField"/>
|
<fieldType name="plong" class="solr.LongField"/>
|
||||||
<fieldtype name="float" class="solr.FloatField"/>
|
<fieldtype name="pfloat" class="solr.FloatField"/>
|
||||||
<fieldType name="double" class="solr.DoubleField"/>
|
<fieldType name="pdouble" class="solr.DoubleField"/>
|
||||||
|
|
||||||
|
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
|
||||||
|
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
<fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
|
||||||
|
|
||||||
<!-- numeric field types that manipulate the value into
|
<!-- numeric field types that manipulate the value into
|
||||||
a string value that isn't human readable in it's internal form,
|
a string value that isn't human readable in it's internal form,
|
||||||
|
@ -110,6 +120,9 @@
|
||||||
seconds part (.999) is optional.
|
seconds part (.999) is optional.
|
||||||
-->
|
-->
|
||||||
<fieldtype name="date" class="solr.DateField" sortMissingLast="true"/>
|
<fieldtype name="date" class="solr.DateField" sortMissingLast="true"/>
|
||||||
|
<fieldtype name="tdate" class="solr.TrieDateField" sortMissingLast="true" precisionStep="6"/>
|
||||||
|
<fieldtype name="pdate" class="solr.DateField" sortMissingLast="true"/>
|
||||||
|
|
||||||
|
|
||||||
<!-- solr.TextField allows the specification of custom
|
<!-- solr.TextField allows the specification of custom
|
||||||
text analyzers specified as a tokenizer and a list
|
text analyzers specified as a tokenizer and a list
|
||||||
|
@ -343,12 +356,11 @@
|
||||||
|
|
||||||
<fieldType name="uuid" class="solr.UUIDField" />
|
<fieldType name="uuid" class="solr.UUIDField" />
|
||||||
|
|
||||||
<fieldType name="tlong" class="solr.TrieField" type="long" omitNorms="true" positionIncrementGap="0" indexed="true" stored="false" />
|
|
||||||
</types>
|
</types>
|
||||||
|
|
||||||
|
|
||||||
<fields>
|
<fields>
|
||||||
<field name="id" type="integer" indexed="true" stored="true" multiValued="false" required="false"/>
|
<field name="id" type="int" indexed="true" stored="true" multiValued="false" required="false"/>
|
||||||
<field name="signatureField" type="string" indexed="true" stored="false"/>
|
<field name="signatureField" type="string" indexed="true" stored="false"/>
|
||||||
<field name="uuid" type="uuid" stored="true" />
|
<field name="uuid" type="uuid" stored="true" />
|
||||||
<field name="name" type="nametext" indexed="true" stored="true"/>
|
<field name="name" type="nametext" indexed="true" stored="true"/>
|
||||||
|
@ -373,8 +385,8 @@
|
||||||
<field name="bind" type="boolean" indexed="true" stored="false"/>
|
<field name="bind" type="boolean" indexed="true" stored="false"/>
|
||||||
<field name="bsto" type="boolean" indexed="false" stored="true"/>
|
<field name="bsto" type="boolean" indexed="false" stored="true"/>
|
||||||
<field name="bindsto" type="boolean" indexed="true" stored="true"/>
|
<field name="bindsto" type="boolean" indexed="true" stored="true"/>
|
||||||
<field name="isto" type="integer" indexed="false" stored="true"/>
|
<field name="isto" type="int" indexed="false" stored="true"/>
|
||||||
<field name="iind" type="integer" indexed="true" stored="false"/>
|
<field name="iind" type="int" indexed="true" stored="false"/>
|
||||||
<field name="ssto" type="string" indexed="false" stored="true"/>
|
<field name="ssto" type="string" indexed="false" stored="true"/>
|
||||||
<field name="sind" type="string" indexed="true" stored="false"/>
|
<field name="sind" type="string" indexed="true" stored="false"/>
|
||||||
<field name="sindsto" type="string" indexed="true" stored="true"/>
|
<field name="sindsto" type="string" indexed="true" stored="true"/>
|
||||||
|
@ -429,7 +441,7 @@
|
||||||
|
|
||||||
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
|
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
|
||||||
<field name="multiDefault" type="string" indexed="true" stored="true" default="muLti-Default" multiValued="true"/>
|
<field name="multiDefault" type="string" indexed="true" stored="true" default="muLti-Default" multiValued="true"/>
|
||||||
<field name="intDefault" type="sint" indexed="true" stored="true" default="42" multiValued="false"/>
|
<field name="intDefault" type="int" indexed="true" stored="true" default="42" multiValued="false"/>
|
||||||
|
|
||||||
|
|
||||||
<field name="tlong" type="tlong" indexed="true" stored="true" />
|
<field name="tlong" type="tlong" indexed="true" stored="true" />
|
||||||
|
@ -442,17 +454,29 @@
|
||||||
Longer patterns will be matched first. if equal size patterns
|
Longer patterns will be matched first. if equal size patterns
|
||||||
both match, the first appearing in the schema will be used.
|
both match, the first appearing in the schema will be used.
|
||||||
-->
|
-->
|
||||||
<dynamicField name="*_i" type="sint" indexed="true" stored="true"/>
|
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_s" type="string" indexed="true" stored="true"/>
|
<dynamicField name="*_s" type="string" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_s1" type="string" indexed="true" stored="true" multiValued="false"/>
|
<dynamicField name="*_s1" type="string" indexed="true" stored="true" multiValued="false"/>
|
||||||
<dynamicField name="*_l" type="slong" indexed="true" stored="true"/>
|
<dynamicField name="*_l" type="long" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_t" type="text" indexed="true" stored="true"/>
|
<dynamicField name="*_t" type="text" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
|
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_f" type="sfloat" indexed="true" stored="true"/>
|
<dynamicField name="*_f" type="float" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_d" type="sdouble" indexed="true" stored="true"/>
|
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
|
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_bcd" type="bcdstr" indexed="true" stored="true"/>
|
<dynamicField name="*_bcd" type="bcdstr" indexed="true" stored="true"/>
|
||||||
|
|
||||||
|
<dynamicField name="*_si" type="sint" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_sl" type="slong" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_sf" type="sfloat" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_sd" type="sdouble" indexed="true" stored="true"/>
|
||||||
|
|
||||||
|
<dynamicField name="*_pi" type="pint" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_pf" type="pfloat" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_pl" type="plong" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_pd" type="pdouble" indexed="true" stored="true"/>
|
||||||
|
<dynamicField name="*_pdt" type="pdate" indexed="true" stored="true"/>
|
||||||
|
|
||||||
|
|
||||||
<dynamicField name="*_sI" type="string" indexed="true" stored="false"/>
|
<dynamicField name="*_sI" type="string" indexed="true" stored="false"/>
|
||||||
<dynamicField name="*_sS" type="string" indexed="false" stored="true"/>
|
<dynamicField name="*_sS" type="string" indexed="false" stored="true"/>
|
||||||
<dynamicField name="t_*" type="text" indexed="true" stored="true"/>
|
<dynamicField name="t_*" type="text" indexed="true" stored="true"/>
|
||||||
|
@ -467,7 +491,7 @@
|
||||||
|
|
||||||
<!-- for testing to ensure that longer patterns are matched first -->
|
<!-- for testing to ensure that longer patterns are matched first -->
|
||||||
<dynamicField name="*aa" type="string" indexed="true" stored="true"/>
|
<dynamicField name="*aa" type="string" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*aaa" type="integer" indexed="false" stored="true"/>
|
<dynamicField name="*aaa" type="pint" indexed="false" stored="true"/>
|
||||||
|
|
||||||
<!-- ignored becuase not stored or indexed -->
|
<!-- ignored becuase not stored or indexed -->
|
||||||
<dynamicField name="*_ignored" type="text" indexed="false" stored="false"/>
|
<dynamicField name="*_ignored" type="text" indexed="false" stored="false"/>
|
||||||
|
|
Loading…
Reference in New Issue