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.

Reply via email to