node.js - 在索引中,ElasticSearch搜索精确文本匹配而不保留两个副本?

  显示原文与译文双语对照的内容
0 0

如果字段映射包含 "index" :"not_analyzed",则在ElasticSearch中支持文本的精确匹配。 这样,字段就不会被标记,ES将使用整个字符串来精确匹配。 文档文档

在不创建两个字段的情况下,是否可以同时支持全文搜索和完全匹配? 一个用于全文,另一个用于 not_analyzed 映射,用于精确匹配?

示例用例:

我们要按书名搜索。

  • I like trees 应返回全文搜索结果

  • exact="I like trees" 应该只返回具有确切标题 I like trees的图书,而不返回其他内容。 不区分大小写的情况。

时间: 原作者:

0 0

你可以使用 term 过滤器进行精确匹配搜索

过滤器看起来像这样


{
"term" {
"key" :"value"
 }
}

查询将如下所示:


{
"query" : {
"filtered" : {
"filter" : {
"term" : { 
"key" :"value"
 }
 }
 }
 }
}

原作者:
0 0

你不需要将数据存储在两个不同的字段中,你需要的是个字段。

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/_multi_fields.html#_multi_fields

原作者:
...