美文网首页
Elasticsearch 7.x遇到的问题

Elasticsearch 7.x遇到的问题

作者: 风一样的存在 | 来源:发表于2019-12-19 15:24 被阅读0次
  • matchPhraseQuery和matchQuery
    matchPhraseQuery和matchQuery的区别:在使用matchQuery时,在执行查询时,搜索的词会被分词器分词,而使用matchPhraseQuery时,不会被分词器分词,而是直接以一个短语的形式查询。
  • termQuery和matchPhraseQuery
    termQuery是完全匹配,不会像matchPhraseQuery那样短语匹配,数据必须和
  • 字符串被自动映射为日期格式
    Elasticsearch会自动把日期的字符串转为日期格式,这个偶尔会遇到问题,由于数据格式不正确,导致转化失败,最终数据添加不进去。
    查询官网资料,手动关闭自动转换(其它版本写法有所出入):
//7.1中的解决方法:
PUT my_index
{
   "mappings": {
       "date_detection": false
    }
}

https://www.elastic.co/guide/en/elasticsearch/reference/7.1/dynamic-field-mapping.html

  • Dynamic-mapping动态的映射(es根据数据自动定义类型),日期字符串自动转date,布尔类型自动转boolean等
    es mapping设置之dynamic可以限制字段,
    true:遇到陌生字段,就进行dynamic mapping
    false:遇到陌生字段,不生成mapping,但是会存入es,也检索不出
    strict:遇到陌生字段,直接报错
    由于json很多嵌套,es会识别为含有keyword的子字段的text类型,es默认索引里面的字段不超过1000个,使用自用映射可能超出限制

相关文章

网友评论

      本文标题:Elasticsearch 7.x遇到的问题

      本文链接:https://www.haomeiwen.com/subject/comewctx.html