elasticsearch 浅谈

    转眼之间使用es已经快2年了,有一些自己工作中遇到的问题以及曾经存在的误区想记录分享一下
    es作为分布式集群,在我看来,要使用es,可以分2个部分来看,一是数据导入,二是数据查询。
    数据导入上,es支持copyto,这个和solr的copyfiled一样;es也支持多值,这个不用设置,直接传入多值即可;
     遇到的问题:即时搜索----最开始直接使用prefix搜索,发现prefix在数据量大的情况下存在性能问题,然后开始查询资料之后发现可以使用边缘分词搜索,也就是英文分词之后再词条搜索,当然词条搜索肯定是比prefix要快的多。最近的话又发现原来suggest可以更快,但是还未经过测试。
    filter搜索,这个稍微复杂点,大概提一下,分很多种,能用cache的是bool,post是结果中筛选,对于一些需要统计的场景很有用,但是比较损耗性能。and,or,not这3种比较损耗性能,但是在某些情况下也可以使用

filter缓存:使用bigset,利用lucene段不可变这个特性来实现及时有数据变动,也只需要构建新增段的数据对应的bigset。
   

猜你喜欢

转载自guoke456.iteye.com/blog/2213149