ElasticSearch:如何指定要搜索的特定字段?

标签 elasticsearch

现在在我的映射中,我将“include_in_all”设置为 true,这意味着所有字段都包含在 _all 字段中。

但是,当我搜索时,我不想浪费空间并将所有内容都放入 _all 字段中,而是想指定特定的字段(并考虑映射中的提升分数)。

如何创建一个查询,告诉 Elastic Search 仅查看特定字段(而不仅仅是 1)并考虑我在映射过程中给予它的提升?

最佳答案

multi_match 开头询问。它允许您查询多个字段,并赋予它们不同的权重,当您有搜索框时通常会采用这种方法。

{
  "multi_match" : {
    "query" : "this is a test",
    "fields" : [ "subject^2", "message" ]
  }
}

query_string 更强大,但也更危险,因为它经过解析并且可能会损坏。仅在需要时使用它。

关于ElasticSearch:如何指定要搜索的特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16635976/

相关文章:

ruby-on-rails - ElasticSearch构建查询取决于条件

elasticsearch - Elasticsearch 扫描操作不起作用

elasticsearch - 如何在 ES 中获取字段的不同值?

python - python和 Elasticsearch 更新错误

java - Java中如何获取错误原因?

elasticsearch - 如果多个匹配,如何 Elasticsearch “NOT”增加分数

elasticsearch - 可以将特定类型的数据从具有多种类型的索引移动到具有一种类型的索引吗?

elasticsearch - Elasticsearch邻近查询

java - Apache Beam 从 Pub/Sub 流式传输到 ElasticSearch

java - Elasticsearch 中的节点