按元素类型

时间:2015-11-16 17:10:25

标签: elasticsearch

假设我们有一个数据集,其中包含一组域{domain.com,domain2.com}以及一组用户{user@domain.com,angryuser @ domain2.com,elastic@domain3.com}。< / p>

这样我们可以假设域和用户都有几个共同的属性,例如&#34;域&#34;,当属性名称匹配时,也可以进行映射和可能的值。

然后我们加载弹性搜索索引,所有集合按类型,域和用户分隔。

显然在我们的系统中,与域相比,我们会有更多的用户,因此在查询域相关数据时,期望通过属性类型过滤查询会快得多吗?

我的问题是,拥有大约500万用户和200k域名,为什么当我的索引只包含域数据,用户被删除时,查询运行速度比根据类型过滤对象快得多?难道它至少在类似的表现吗?在我当前状态下,如果索引上没有用户,我们可以每秒匹配20个域,但是当我们加载用户时它会降低到4,即使我们仍然按类型过滤。

也许这是我不想要的东西,因为我对弹性搜索很新。

更新:

这是基本的查询

"query" : {
    "flt_field": {
        "domain_address": {
            "like_text": "chroma",
            "fuzziness": 0.3
        }
    }
}

映射就是这样的

"user": {
    "properties": {
        ...,
        "domain_address": {
            "type": "string",
            "boost": 2.4,
            "similarity": "linear"
        }
    }
},
"domain": {
    "properties": {
        ...,
        "domain_address": {
            "type": "string",
            "boost": 2.4,
            "similarity": "linear"
        }
    }
} 

......中的其他字段,但它们的映射不应影响结果???

0 个答案:

没有答案