What exactly is the precise symptom - give us an example with field names of
source and dest and what precise value is in fact being indexed. Is the
entire field value being indexed as a single term/string (if analyzer is not
being applied)? Or, what?
-- Jack Krupansky
-----Original Message-----
From: davers
Sent: Friday, October 19, 2012 2:51 PM
To: solr-user@lucene.apache.org
Subject: Solr 4.0 copyField not applying index analyzers
I am upgrading from solr 3.6 to solr 4.0 and my copyFields do not seem to be
applying the index analyzers. I'm sure there is something i'm missing in my
schema.xml. I am also using a DIH but I'm not sure that matters.
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.5">
<fields>
<field name="id" type="string" indexed="true" stored="true"/>
<field name="groupid" type="string" indexed="true" stored="false"/>
<field name="siteid" type="int" indexed="true" stored="false"
multiValued="true"/>
<field name="sku" type="textTight" indexed="true" stored="true"
multiValued="true"/>
<field name="upc" type="textTight" indexed="true" stored="true"
multiValued="true"/>
<field name="productID" type="textTight" indexed="true" stored="true"/>
<field name="manufacturer" type="text" indexed="true" stored="true" />
<field name="productTitle" type="text" indexed="true" stored="true"/>
<field name="categoryId" type="int" indexed="true" stored="false"
multiValued="true"/>
<field name="categoryName" type="text" indexed="true" stored="false"
multiValued="true"/>
<field name="theme" type="text" indexed="true" stored="false"/>
<field name="description" type="text" indexed="false" stored="false"/>
<field name="weight" type="tfloat" indexed="true" stored="false"/>
<field name="price" type="tfloat" indexed="true" stored="false"/>
<field name="popularity" type="tint" indexed="true" stored="false"
default="0"/>
<field name="inStock" type="boolean" indexed="true" stored="false"
multiValued="true"/>
<field name="onSale" type="boolean" indexed="true" stored="false"/>
<field name="hasDigiCast" type="boolean" indexed="true" stored="false"/>
<field name="hasDigiVista" type="boolean" indexed="true" stored="false"/>
<field name="isNew" type="boolean" indexed="true" stored="false"/>
<field name="isTopSeller" type="boolean" indexed="true" stored="false"/>
<field name="finish" type="text" indexed="true" stored="true"
multiValued="true"/>
<field name="masterFinish" type="text" indexed="true" stored="false"
multiValued="true"/>
<field name="series" type="text" indexed="true" stored="false"/>
<field name="searchKeyword" type="text_ws" indexed="true" stored="false"
multiValued="true"/>
<field name="discontinued" type="boolean" indexed="true" stored="false"
/>
<field name="spell" type="textSpell" indexed="true" stored="true"
multiValued="true"/>
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="imageURL" type="string" indexed="false" stored="true" />
<field name="productURL" type="string" indexed="false" stored="true" />
<field name="productID_sort" type="string" indexed="true" stored="true"
multiValued="false"/>
<field name="text" type="text" indexed="true" stored="true"
multiValued="true"/>
<field name="modifiedDate" type="date" indexed="true" stored="true"
multiValued="false" default="NOW"/>
<field name="productAddDate" type="tdate" indexed="true" stored="true"
multiValued="false" default="NOW"/>
<field name="textnge" type="autocomplete_edge" indexed="true"
stored="true" multiValued="true" />
<field name="textng" type="autocomplete_ngram" indexed="true"
stored="true" multiValued="true" omitNorms="true"
omitTermFreqAndPositions="true" />
<field name="textphon" type="text_phonetic_do" indexed="true"
stored="true" multiValued="true" omitNorms="true"
omitTermFreqAndPositions="true" />
<dynamicField name="*_i" type="int" indexed="true" stored="false"
multiValued="true"/>
<dynamicField name="*_s" type="string" indexed="true" stored="false"
multiValued="true"/>
<dynamicField name="*_l" type="long" indexed="true" stored="false"
multiValued="true"/>
<dynamicField name="*_t" type="text" indexed="true" stored="false"
multiValued="true"/>
<dynamicField name="*_b" type="boolean" indexed="true" stored="false"
multiValued="true"/>
<dynamicField name="*_f" type="float" indexed="true" stored="false"
multiValued="true"/>
<dynamicField name="*_d" type="double" indexed="true" stored="false"
multiValued="true"/>
<dynamicField name="*_coordinate" type="tdouble" indexed="true"
stored="false" />
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
<dynamicField name="*_dts" type="date" indexed="true" stored="true"
multiValued="true"/>
<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="attr_*" type="text" indexed="true" stored="true"
multiValued="true"/>
<dynamicField name="random_*" type="random" />
</fields>
<uniqueKey>id</uniqueKey>
<copyField source="productTitle" dest="text"/>
<copyField source="manufacturer" dest="text"/>
<copyField source="description" dest="text"/>
<copyField source="productID" dest="text"/>
<copyField source="searchKeyword" dest="text"/>
<copyField source="finish" dest="text"/>
<copyField source="productTitle" dest="spell"/>
<copyField source="manufacturer" dest="spell"/>
<copyField source="productID" dest="spell"/>
<copyField source="finish" dest="spell"/>
<copyField source="productTitle" dest="textnge"/>
<copyField source="productTitle" dest="textng"/>
<copyField source="productTitle" dest="textphon"/>
<copyField source="manufacturer" dest="textnge"/>
<copyField source="manufacturer" dest="textng"/>
<copyField source="manufacturer" dest="textphon"/>
<copyField source="productID" dest="textnge"/>
<copyField source="productID" dest="textng"/>
<copyField source="finish" dest="textnge"/>
<copyField source="finish" dest="textng"/>
<copyField source="finish" dest="textphon"/>
<copyField source="productID" dest="productID_sort"/>
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="boolean" class="solr.BoolField"
sortMissingLast="true"/>
<fieldType name="int" class="solr.TrieIntField" precisionStep="0"
positionIncrementGap="0"/>
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0"
positionIncrementGap="0"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0"
positionIncrementGap="0"/>
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0"
positionIncrementGap="0"/>
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8"
positionIncrementGap="0"/>
<fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8"
positionIncrementGap="0"/>
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
positionIncrementGap="0"/>
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8"
positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0"
positionIncrementGap="0"/>
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
positionIncrementGap="0"/>
<fieldtype name="binary" class="solr.BinaryField"/>
<fieldType name="pint" class="solr.IntField"/>
<fieldType name="plong" class="solr.LongField"/>
<fieldType name="pfloat" class="solr.FloatField"/>
<fieldType name="pdouble" class="solr.DoubleField"/>
<fieldType name="pdate" class="solr.DateField" sortMissingLast="true"/>
<fieldType name="random" class="solr.RandomSortField" indexed="true" />
<fieldType name="text_ws" class="solr.TextField"
positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
<fieldtype name="text" class="solr.TextField" positionIncrementGap="100"
autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"
protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="0"
catenateNumbers="0" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"
protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldtype>
<fieldtype name="textTight" class="solr.TextField"
autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"
protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="0" generateNumberParts="0" catenateWords="1"
catenateNumbers="1" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"
protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldtype>
<fieldType name="textSpell" class="solr.TextField"
positionIncrementGap="100" omitNorms="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([\.,;:-_])" replacement=" " replace="all"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([\.,;:-_])" replacement=" " replace="all"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_phonetic_do" class="solr.TextField"
positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
<filter class="solr.LengthFilterFactory" min="2" max="50" />
</analyzer>
</fieldType>
<fieldType name="autocomplete_edge" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([\.,;:_])" replacement=" " replace="all"/>
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="30"
minGramSize="1"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([^\w\d\*æøåÆØÅ ])" replacement="" replace="all"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([\.,;:_])" replacement=" " replace="all"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([^\w\d\*æøåÆØÅ ])" replacement="" replace="all"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="^(.{30})(.*)?" replacement="$1" replace="all"/>
</analyzer>
</fieldType>
<fieldType name="autocomplete_ngram" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="20"
minGramSize="1"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([^\w\d\*æøåÆØÅ])" replacement="" replace="all"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="([^\w\d\*æøåÆØÅ])" replacement="" replace="all"/>
<filter class="solr.PatternReplaceFilterFactory"
pattern="^(.{20})(.*)?" replacement="$1" replace="all"/>
</analyzer>
</fieldType>
<fieldtype name="facetstring" class="solr.TextField" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.TrimFilterFactory"/>
</analyzer>
</fieldtype>
</types>
</schema>
--
View this message in context:
http://lucene.472066.n3.nabble.com/Solr-4-0-copyField-not-applying-index-analyzers-tp4014811.html
Sent from the Solr - User mailing list archive at Nabble.com.