Problems upgrading an existing field to a multi-field

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problems upgrading an existing field to a multi-field

Ryan Tanner
I'm having trouble upgrading an existing field to a multi-field.  I've done this before with no issues on other fields.

I think the issue here is that the original mapping specifically defines an analyzer:

  "mappings" : {
   
"person" : {
     
"properties" : {
       
"domain_titles" : {
         
"type" : "string",
         
"analyzer" : "stop",
         
"include_in_all" : true
       
}
     
}
   
}
 
}

The other fields that have been upgraded do not have an analyzer in the original mapping.

This is the upgrade I'm attempting:

{
 
"settings" : {
   
"index.analysis.filter.shingle_filter.type" : "shingle",
   
"index.analysis.filter.shingle_filter.min_shingle_size" : 2,
   
"index.analysis.filter.shingle_filter.max_shingle_size" : 5,
   
"index.analysis.analyzer.shingle_analyzer.type" : "custom",
   
"index.analysis.analyzer.shingle_analyzer.tokenizer" : "standard",
   
"index.analysis.analyzer.shingle_analyzer.filter" : [ "lowercase", "shingle_filter" ]
 
},
 
"mappings" : {
   
"person" : {
     
"properties" : {
       
"domain_titles" : {
         
"type" : "string",
         
"fields" : {
           
"suggestions" : {
             
"type" : "string",
             
"index" : "analyzed",
             
"include_in_all" : false,
             
"analyzer" : "nicknameAnalyzer"
           
}
         
}
       
}
     
}
   
}
 
}
}

Is there any reason why this sort of upgrade should fail?  This is the error message I get:

{"error":"MergeMappingException[Merge failed with failures {[mapper [domain_titles] has different index_analyzer]}]","status":400}

Thanks for the help.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/e057498d-64ca-4f5f-a76c-0a4717b82b9b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problems upgrading an existing field to a multi-field

Ryan Tanner
*bump*

Anyone?

On Monday, July 7, 2014 5:15:06 PM UTC-6, Ryan Tanner wrote:
I'm having trouble upgrading an existing field to a multi-field.  I've done this before with no issues on other fields.

I think the issue here is that the original mapping specifically defines an analyzer:

  "mappings" : {
   
"person" : {
     
"properties" : {
       
"domain_titles" : {
         
"type" : "string",
         
"analyzer" : "stop",
         
"include_in_all" : true
       
}
     
}
   
}
 
}

The other fields that have been upgraded do not have an analyzer in the original mapping.

This is the upgrade I'm attempting:

{
 
"settings" : {
   
"index.analysis.filter.shingle_filter.type" : "shingle",
   
"index.analysis.filter.shingle_filter.min_shingle_size" : 2,
   
"index.analysis.filter.shingle_filter.max_shingle_size" : 5,
   
"index.analysis.analyzer.shingle_analyzer.type" : "custom",
   
"index.analysis.analyzer.shingle_analyzer.tokenizer" : "standard",
   
"index.analysis.analyzer.shingle_analyzer.filter" : [ "lowercase", "shingle_filter" ]
 
},
 
"mappings" : {
   
"person" : {
     
"properties" : {
       
"domain_titles" : {
         
"type" : "string",
         
"fields" : {
           
"suggestions" : {
             
"type" : "string",
             
"index" : "analyzed",
             
"include_in_all" : false,
             
"analyzer" : "nicknameAnalyzer"
           
}
         
}
       
}
     
}
   
}
 
}
}

Is there any reason why this sort of upgrade should fail?  This is the error message I get:

{"error":"MergeMappingException[Merge failed with failures {[mapper [domain_titles] has different index_analyzer]}]","status":400}

Thanks for the help.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problems upgrading an existing field to a multi-field

kimchy
Administrator
Which version of ES are using? I believe we fixed a bug around this several versions ago.

On Jul 8, 2014, at 20:31, Ryan Tanner <[hidden email]> wrote:

*bump*

Anyone?

On Monday, July 7, 2014 5:15:06 PM UTC-6, Ryan Tanner wrote:
I'm having trouble upgrading an existing field to a multi-field.  I've done this before with no issues on other fields.

I think the issue here is that the original mapping specifically defines an analyzer:

  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "analyzer" : "stop",
          "include_in_all" : true
        }
      }
    }
  }

The other fields that have been upgraded do not have an analyzer in the original mapping.

This is the upgrade I'm attempting:

{
  "settings" : {
    "index.analysis.filter.shingle_filter.type" : "shingle",
    "index.analysis.filter.shingle_filter.min_shingle_size" : 2,
    "index.analysis.filter.shingle_filter.max_shingle_size" : 5,
    "index.analysis.analyzer.shingle_analyzer.type" : "custom",
    "index.analysis.analyzer.shingle_analyzer.tokenizer" : "standard",
    "index.analysis.analyzer.shingle_analyzer.filter" : [ "lowercase","shingle_filter" ]
  },
  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "fields" : {
            "suggestions" : {
              "type" : "string",
              "index" : "analyzed",
              "include_in_all" : false,
              "analyzer" : "nicknameAnalyzer"
            }
          }
        }
      }
    }
  }
}

Is there any reason why this sort of upgrade should fail?  This is the error message I get:


{"error":"MergeMappingException[Merge failed with failures {[mapper [domain_titles] has different index_analyzer]}]","status":400}


Thanks for the help.


-- 
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to[hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/F39D649D-2C67-4B8A-B549-C10CBCCB3E51%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problems upgrading an existing field to a multi-field

Ryan Tanner
1.1.1 in production but I tested this with 1.2.1 locally and had the same problem.

On Tuesday, July 8, 2014 12:53:14 PM UTC-6, kimchy wrote:
Which version of ES are using? I believe we fixed a bug around this several versions ago.

On Jul 8, 2014, at 20:31, Ryan Tanner <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="ZNpg1vsF5SAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">ryan....@...> wrote:

*bump*

Anyone?

On Monday, July 7, 2014 5:15:06 PM UTC-6, Ryan Tanner wrote:
I'm having trouble upgrading an existing field to a multi-field.  I've done this before with no issues on other fields.

I think the issue here is that the original mapping specifically defines an analyzer:

  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "analyzer" : "stop",
          "include_in_all" : true
        }
      }
    }
  }

The other fields that have been upgraded do not have an analyzer in the original mapping.

This is the upgrade I'm attempting:

{
  "settings" : {
    "index.analysis.filter.shingle_filter.type" : "shingle",
    "index.analysis.filter.shingle_filter.min_shingle_size" : 2,
    "index.analysis.filter.shingle_filter.max_shingle_size" : 5,
    "index.analysis.analyzer.shingle_analyzer.type" : "custom",
    "index.analysis.analyzer.shingle_analyzer.tokenizer" : "standard",
    "index.analysis.analyzer.shingle_analyzer.filter" : [ "lowercase","shingle_filter" ]
  },
  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "fields" : {
            "suggestions" : {
              "type" : "string",
              "index" : "analyzed",
              "include_in_all" : false,
              "analyzer" : "nicknameAnalyzer"
            }
          }
        }
      }
    }
  }
}

Is there any reason why this sort of upgrade should fail?  This is the error message I get:


{"error":"MergeMappingException[Merge failed with failures {[mapper [domain_titles] has different index_analyzer]}]","status":400}


Thanks for the help.


-- 
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to<a href="javascript:" target="_blank" gdf-obfuscated-mailto="ZNpg1vsF5SAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">elasticsearc...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" onmousedown="this.href='https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;" onclick="this.href='https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;">https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/8c4afa1e-ab72-456f-aa3e-4848968613df%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problems upgrading an existing field to a multi-field

Ryan Tanner
Side question:

If I try to set lowercase_terms to true, I get a 400 back saying "suggester[term] doesn't support [lowercase_terms]" which seems to contradict the documentation.

      "suggest" : {
        "text" : "my query string",
        "person_name" : {
          "term" : {
            "field" : "name.suggestion",
            "size" : 1,
            "sort" : "score",
            "lowercase_terms" : true
          }
        }
      }

Fails against both 1.1.1 and 1.2.1.

On Tuesday, July 8, 2014 12:53:57 PM UTC-6, Ryan Tanner wrote:
1.1.1 in production but I tested this with 1.2.1 locally and had the same problem.

On Tuesday, July 8, 2014 12:53:14 PM UTC-6, kimchy wrote:
Which version of ES are using? I believe we fixed a bug around this several versions ago.

On Jul 8, 2014, at 20:31, Ryan Tanner <[hidden email]> wrote:

*bump*

Anyone?

On Monday, July 7, 2014 5:15:06 PM UTC-6, Ryan Tanner wrote:
I'm having trouble upgrading an existing field to a multi-field.  I've done this before with no issues on other fields.

I think the issue here is that the original mapping specifically defines an analyzer:

  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "analyzer" : "stop",
          "include_in_all" : true
        }
      }
    }
  }

The other fields that have been upgraded do not have an analyzer in the original mapping.

This is the upgrade I'm attempting:

{
  "settings" : {
    "index.analysis.filter.shingle_filter.type" : "shingle",
    "index.analysis.filter.shingle_filter.min_shingle_size" : 2,
    "index.analysis.filter.shingle_filter.max_shingle_size" : 5,
    "index.analysis.analyzer.shingle_analyzer.type" : "custom",
    "index.analysis.analyzer.shingle_analyzer.tokenizer" : "standard",
    "index.analysis.analyzer.shingle_analyzer.filter" : [ "lowercase","shingle_filter" ]
  },
  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "fields" : {
            "suggestions" : {
              "type" : "string",
              "index" : "analyzed",
              "include_in_all" : false,
              "analyzer" : "nicknameAnalyzer"
            }
          }
        }
      }
    }
  }
}

Is there any reason why this sort of upgrade should fail?  This is the error message I get:


{"error":"MergeMappingException[Merge failed with failures {[mapper [domain_titles] has different index_analyzer]}]","status":400}


Thanks for the help.


-- 
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email toelasticsearc...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" onmousedown="this.href='https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;" onclick="this.href='https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;">https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/f616d617-a443-4975-b8e0-92fc22cfba1f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problems upgrading an existing field to a multi-field

Travis Bullock
I have the same problem with lowercase_terms. Is there a fix? The term suggester lowercases them by default (not desirable), and the completion suggester doesn't.

On Tuesday, July 8, 2014 4:14:22 PM UTC-5, Ryan Tanner wrote:
Side question:

If I try to set lowercase_terms to true, I get a 400 back saying "suggester[term] doesn't support [lowercase_terms]" which seems to contradict the documentation.

      "suggest" : {
        "text" : "my query string",
        "person_name" : {
          "term" : {
            "field" : "name.suggestion",
            "size" : 1,
            "sort" : "score",
            "lowercase_terms" : true
          }
        }
      }

Fails against both 1.1.1 and 1.2.1.

On Tuesday, July 8, 2014 12:53:57 PM UTC-6, Ryan Tanner wrote:
1.1.1 in production but I tested this with 1.2.1 locally and had the same problem.

On Tuesday, July 8, 2014 12:53:14 PM UTC-6, kimchy wrote:
Which version of ES are using? I believe we fixed a bug around this several versions ago.

On Jul 8, 2014, at 20:31, Ryan Tanner <[hidden email]> wrote:

*bump*

Anyone?

On Monday, July 7, 2014 5:15:06 PM UTC-6, Ryan Tanner wrote:
I'm having trouble upgrading an existing field to a multi-field.  I've done this before with no issues on other fields.

I think the issue here is that the original mapping specifically defines an analyzer:

  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "analyzer" : "stop",
          "include_in_all" : true
        }
      }
    }
  }

The other fields that have been upgraded do not have an analyzer in the original mapping.

This is the upgrade I'm attempting:

{
  "settings" : {
    "index.analysis.filter.shingle_filter.type" : "shingle",
    "index.analysis.filter.shingle_filter.min_shingle_size" : 2,
    "index.analysis.filter.shingle_filter.max_shingle_size" : 5,
    "index.analysis.analyzer.shingle_analyzer.type" : "custom",
    "index.analysis.analyzer.shingle_analyzer.tokenizer" : "standard",
    "index.analysis.analyzer.shingle_analyzer.filter" : [ "lowercase","shingle_filter" ]
  },
  "mappings" : {
    "person" : {
      "properties" : {
        "domain_titles" : {
          "type" : "string",
          "fields" : {
            "suggestions" : {
              "type" : "string",
              "index" : "analyzed",
              "include_in_all" : false,
              "analyzer" : "nicknameAnalyzer"
            }
          }
        }
      }
    }
  }
}

Is there any reason why this sort of upgrade should fail?  This is the error message I get:


{"error":"MergeMappingException[Merge failed with failures {[mapper [domain_titles] has different index_analyzer]}]","status":400}


Thanks for the help.


-- 
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email toelasticsearc...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" onmousedown="this.href='https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;" onclick="this.href='https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;">https://groups.google.com/d/msgid/elasticsearch/3ffb1a0c-c1eb-4c2c-90f3-7d579aab7a41%40googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/c1757b54-fb8c-4438-a4b4-70d500de1690%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problems upgrading an existing field to a multi-field

Ryan Tanner
In reply to this post by Ryan Tanner
*bump*

Does anyone know if upgrading an existing field with a specified analyzer to a multi-field has been fixed in the recent versions of ElasticSearch?

On Monday, July 7, 2014 5:15:06 PM UTC-6, Ryan Tanner wrote:
I'm having trouble upgrading an existing field to a multi-field.  I've done this before with no issues on other fields.

I think the issue here is that the original mapping specifically defines an analyzer:

  "mappings" : {
   
"person" : {
     
"properties" : {
       
"domain_titles" : {
         
"type" : "string",
         
"analyzer" : "stop",
         
"include_in_all" : true
       
}
     
}
   
}
 
}

The other fields that have been upgraded do not have an analyzer in the original mapping.

This is the upgrade I'm attempting:

{
 
"settings" : {
   
"index.analysis.filter.shingle_filter.type" : "shingle",
   
"index.analysis.filter.shingle_filter.min_shingle_size" : 2,
   
"index.analysis.filter.shingle_filter.max_shingle_size" : 5,
   
"index.analysis.analyzer.shingle_analyzer.type" : "custom",
   
"index.analysis.analyzer.shingle_analyzer.tokenizer" : "standard",
   
"index.analysis.analyzer.shingle_analyzer.filter" : [ "lowercase", "shingle_filter" ]
 
},
 
"mappings" : {
   
"person" : {
     
"properties" : {
       
"domain_titles" : {
         
"type" : "string",
         
"fields" : {
           
"suggestions" : {
             
"type" : "string",
             
"index" : "analyzed",
             
"include_in_all" : false,
             
"analyzer" : "nicknameAnalyzer"
           
}
         
}
       
}
     
}
   
}
 
}
}

Is there any reason why this sort of upgrade should fail?  This is the error message I get:

{"error":"MergeMappingException[Merge failed with failures {[mapper [domain_titles] has different index_analyzer]}]","status":400}

Thanks for the help.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/f59655a2-1ffe-4d64-8e25-7113a264ecaa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...