Elasticsearch中的完全匹配项(包括空格)

佐尔齐克

我正在使用ES 6.5,并且具有以下文档

{"id": 1, "type": "a"}
{"id": 2, "type": "a b"}

类型映射看起来像这样

"type": {
    "type": "text",
    "fields": {
        "keyword": {
            "type": "keyword",
            "ignore_above": 256
        }
    }
}

所需行为:

  • 当我按类型查询时,我a只想获取具有id的文档1
  • 当我按类型查询时,我a b只想获取具有id的文档2

我试过的

  • query_string_query:如果搜索到的值在双引号之间,则:如果input =a则得到12如果输入=,a b那么我只会2
  • 词条查询
  • 匹配查询

我可能尝试过其他关于stackoverflow的建议解决方案,但到目前为止,没有任何工作如预期的那样。还请注意ES的版本,在较新的版本中,我们还有其他选择。

ESCoder

您需要将.keyword添加到类型字段。这将使用关键字分析器而不是标准分析器(请在类型字段后注意“ .keyword”)。在下面的查询中试试这个-

{
  "query":{
    "match":{
      "type.keyword":"a b"
    }
  }
}

搜索结果:

"hits": [
      {
        "_index": "65327197",
        "_type": "_doc",
        "_id": "2",
        "_score": 0.6931471,
        "_source": {
          "id": 2,
          "type": "a b"
        }
      }
    ]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

perl regex将所有匹配项(包括完全匹配项)放入一个数组中

来自分类Dev

与ElasticSearch中的缺失空格匹配

来自分类Dev

ElasticSearch中的半完全(完全)匹配

来自分类Dev

替换文本中的匹配项(包括 /../)

来自分类Dev

如何在Elasticsearch中按具有完全匹配项的字段搜索查询

来自分类Dev

在数组中包含完全匹配项

来自分类Dev

在Elasticsearch中偏向于nGram的完全匹配

来自分类Dev

ElasticSearch中的半精确(完全)匹配

来自分类Dev

与elasticsearch中的IN运算符完全匹配

来自分类Dev

Searchkick / Elasticsearch完全匹配

来自分类Dev

下标[Swift]的调用中没有完全匹配的项

来自分类Dev

在Solr 3.6.2中查找完全匹配的项

来自分类Dev

LINQ完全包含匹配项

来自分类Dev

ElasticSearch完全匹配嵌套字段中的文本-Java

来自分类Dev

合并hunspell过滤器后,elasticSearch中的完全匹配

来自分类Dev

如果重复的元组(包括项的顺序)完全相同,则从列表中删除它们

来自分类Dev

网址重定向完全匹配(包括参数)

来自分类Dev

与ElasticSearch完全匹配(在查询时)

来自分类Dev

与ElasticSearch完全匹配(在查询时)

来自分类Dev

Elasticsearch特定领域的完全匹配

来自分类Dev

返回重复的名称(包括部分匹配项)

来自分类Dev

映射时在ElasticSearch中优先于ngram匹配进行完全匹配

来自分类Dev

映射时在ElasticSearch中优先于ngram匹配进行完全匹配

来自分类Dev

全文搜索Elasticsearch中的完全match_phrase(带有前导和尾随空格)

来自分类Dev

全文搜索Elasticsearch中的完全match_phrase(带有前导和尾随空格)

来自分类Dev

正则表达式为什么要在其匹配项中包含空格

来自分类Dev

Dialogflow中的完全匹配

来自分类Dev

在Swift中对实例方法错误消息的调用中没有完全匹配的项

来自分类Dev

ActiveRecord联接-仅返回完全匹配项

Related 相关文章

  1. 1

    perl regex将所有匹配项(包括完全匹配项)放入一个数组中

  2. 2

    与ElasticSearch中的缺失空格匹配

  3. 3

    ElasticSearch中的半完全(完全)匹配

  4. 4

    替换文本中的匹配项(包括 /../)

  5. 5

    如何在Elasticsearch中按具有完全匹配项的字段搜索查询

  6. 6

    在数组中包含完全匹配项

  7. 7

    在Elasticsearch中偏向于nGram的完全匹配

  8. 8

    ElasticSearch中的半精确(完全)匹配

  9. 9

    与elasticsearch中的IN运算符完全匹配

  10. 10

    Searchkick / Elasticsearch完全匹配

  11. 11

    下标[Swift]的调用中没有完全匹配的项

  12. 12

    在Solr 3.6.2中查找完全匹配的项

  13. 13

    LINQ完全包含匹配项

  14. 14

    ElasticSearch完全匹配嵌套字段中的文本-Java

  15. 15

    合并hunspell过滤器后,elasticSearch中的完全匹配

  16. 16

    如果重复的元组(包括项的顺序)完全相同,则从列表中删除它们

  17. 17

    网址重定向完全匹配(包括参数)

  18. 18

    与ElasticSearch完全匹配(在查询时)

  19. 19

    与ElasticSearch完全匹配(在查询时)

  20. 20

    Elasticsearch特定领域的完全匹配

  21. 21

    返回重复的名称(包括部分匹配项)

  22. 22

    映射时在ElasticSearch中优先于ngram匹配进行完全匹配

  23. 23

    映射时在ElasticSearch中优先于ngram匹配进行完全匹配

  24. 24

    全文搜索Elasticsearch中的完全match_phrase(带有前导和尾随空格)

  25. 25

    全文搜索Elasticsearch中的完全match_phrase(带有前导和尾随空格)

  26. 26

    正则表达式为什么要在其匹配项中包含空格

  27. 27

    Dialogflow中的完全匹配

  28. 28

    在Swift中对实例方法错误消息的调用中没有完全匹配的项

  29. 29

    ActiveRecord联接-仅返回完全匹配项

热门标签

归档