SOLR-739: Add support for OmitTf

git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@746868 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yonik Seeley 2009-02-23 03:27:43 +00:00
parent e3a99f1cad
commit 6ae1c862f4
8 changed files with 24 additions and 13 deletions

View File

@ -158,6 +158,7 @@ New Features
27. SOLR-1026: Add protected words support to SnowballPorterFilterFactory (ehatcher)
28. SOLR-739: Add support for OmitTf (Mark Miller via yonik)
Optimizations
----------------------

View File

@ -32,13 +32,14 @@
be used for benchmarking.
-->
<schema name="example" version="1.1">
<schema name="example" version="1.2">
<!-- attribute "name" is the name of this schema and is only used for display purposes.
Applications should change this to reflect the nature of the search collection.
version="1.1" is Solr's version number for the schema syntax and semantics. It should
version="1.2" is Solr's version number for the schema syntax and semantics. It should
not normally be changed by applications.
1.0: multiValued attribute did not exist, all fields are multiValued by nature
1.1: multiValued attribute introduced, false by default -->
1.1: multiValued attribute introduced, false by default
1.2: omitTf attribute introduced, true by default -->
<types>
<!-- field type definitions. The "name" attribute is

View File

@ -30,6 +30,7 @@ public enum FieldFlag {
TERM_VECTOR_OFFSET('o', "Store Offset With TermVector"),
TERM_VECTOR_POSITION('p', "Store Position With TermVector"),
OMIT_NORMS('O', "Omit Norms"),
OMIT_TF('F', "Omit Tf"),
LAZY('L', "Lazy"),
BINARY('B', "Binary"),
COMPRESSED('C', "Compressed"),

View File

@ -198,6 +198,7 @@ public class LukeRequestHandler extends RequestHandlerBase
flags.append( (f != null && f.storeTermOffsets() ) ? FieldFlag.TERM_VECTOR_OFFSET.getAbbreviation() : '-' );
flags.append( (f != null && f.storeTermPositions() ) ? FieldFlag.TERM_VECTOR_POSITION.getAbbreviation() : '-' );
flags.append( (f != null && f.omitNorms()) ? FieldFlag.OMIT_NORMS.getAbbreviation() : '-' );
flags.append( (f != null && f.omitTf()) ? FieldFlag.OMIT_TF.getAbbreviation() : '-' );
flags.append( (lazy) ? FieldFlag.LAZY.getAbbreviation() : '-' );
flags.append( (binary) ? FieldFlag.BINARY.getAbbreviation() : '-' );
flags.append( (f != null && f.isCompressed()) ? FieldFlag.COMPRESSED.getAbbreviation() : '-' );

View File

@ -35,19 +35,21 @@ abstract class FieldProperties {
final static int BINARY = 0x00000008;
final static int COMPRESSED = 0x00000010;
final static int OMIT_NORMS = 0x00000020;
final static int STORE_TERMVECTORS = 0x00000040;
final static int STORE_TERMPOSITIONS = 0x00000080;
final static int STORE_TERMOFFSETS = 0x00000100;
final static int OMIT_TF = 0x00000040;
final static int STORE_TERMVECTORS = 0x00000080;
final static int STORE_TERMPOSITIONS = 0x00000100;
final static int STORE_TERMOFFSETS = 0x00000200;
final static int MULTIVALUED = 0x00000200;
final static int SORT_MISSING_FIRST = 0x00000400;
final static int SORT_MISSING_LAST = 0x00000800;
final static int REQUIRED = 0x00001000;
final static int MULTIVALUED = 0x00000400;
final static int SORT_MISSING_FIRST = 0x00000800;
final static int SORT_MISSING_LAST = 0x00001000;
final static int REQUIRED = 0x00002000;
static final String[] propertyNames = {
"indexed", "tokenized", "stored",
"binary", "compressed", "omitNorms",
"binary", "compressed", "omitNorms", "omitTf",
"termVectors", "termPositions", "termOffsets",
"multiValued",
"sortMissingFirst","sortMissingLast","required"

View File

@ -86,9 +86,10 @@ public abstract class FieldType extends FieldProperties {
// Handle additional arguments...
void setArgs(IndexSchema schema, Map<String,String> args) {
// default to STORED and INDEXED, and MULTIVALUED depending on schema version
// default to STORED, INDEXED, OMIT_TF and MULTIVALUED depending on schema version
properties = (STORED | INDEXED);
if (schema.getVersion()< 1.1f) properties |= MULTIVALUED;
if (schema.getVersion()> 1.1f) properties |= OMIT_TF;
this.args=args;
Map<String,String> initArgs = new HashMap<String,String>(args);
@ -199,6 +200,7 @@ public abstract class FieldType extends FieldProperties {
getFieldIndex(field, val),
getFieldTermVec(field, val));
f.setOmitNorms(field.omitNorms());
f.setOmitTf(field.omitTf());
f.setBoost(boost);
return f;
}

View File

@ -79,6 +79,7 @@ public final class SchemaField extends FieldProperties {
public boolean storeTermPositions() { return (properties & STORE_TERMPOSITIONS)!=0; }
public boolean storeTermOffsets() { return (properties & STORE_TERMOFFSETS)!=0; }
public boolean omitNorms() { return (properties & OMIT_NORMS)!=0; }
public boolean omitTf() { return (properties & OMIT_TF)!=0; }
public boolean multiValued() { return (properties & MULTIVALUED)!=0; }
public boolean sortMissingFirst() { return (properties & SORT_MISSING_FIRST)!=0; }
public boolean sortMissingLast() { return (properties & SORT_MISSING_LAST)!=0; }
@ -136,7 +137,7 @@ public final class SchemaField extends FieldProperties {
}
if (on(falseProps,INDEXED)) {
int pp = (INDEXED | OMIT_NORMS
int pp = (INDEXED | OMIT_NORMS | OMIT_TF
| STORE_TERMVECTORS | STORE_TERMPOSITIONS | STORE_TERMOFFSETS
| SORT_MISSING_FIRST | SORT_MISSING_LAST);
if (on(pp,trueProps)) {

View File

@ -32,6 +32,8 @@ import java.io.IOException;
public class TextField extends CompressableField {
protected void init(IndexSchema schema, Map<String,String> args) {
properties |= TOKENIZED;
if (schema.getVersion()> 1.1f) properties &= ~OMIT_TF;
super.init(schema, args);
}