现在在我的映射中,我将“include_in_all”设置为true,这意味着所有字段都包含在_all字段中。
但是,当我搜索时,不是浪费空间,而是将所有内容放在_all字段中,我想指定特定的字段(并考虑映射中的提升分数)。
如何创建一个查询,告诉Elastic Search只查看特定字段(不仅仅是1),并考虑我在映射过程中提供的提升?
答案 0 :(得分:7)
从multi_match查询开始。它允许您查询多个字段,为它们提供不同的权重,这通常是您拥有搜索框时的方法。
{
"multi_match" : {
"query" : "this is a test",
"fields" : [ "subject^2", "message" ]
}
}
query_string更强大但更危险,因为它已被解析并且可能会中断。只在您需要时使用它。
答案 1 :(得分:0)
您无需在_all
字段中保留数据即可查询字段。
您可以使用query_string或bool个查询来搜索多个字段。