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

安德鲁·F

有没有办法在ElasticSearch中要求完整(尽管不一定精确)匹配?

例如,如果一个字段有术语"I am a little teapot short and stout",我想匹配," i am a LITTLE TeaPot short and stout! "但不仅仅匹配"teapot short and stout"我已经尝试过过滤器一词,但这需要实际的完全匹配。

安德烈·斯特凡

如果您的“不一定精确”定义是指大写/小写字母组合和标点符号(例如!您在示例中所用的符号),那么这将是一个解决方案,不是太简单而且很明显:

映射

{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_keyword_lowercase": {
          "tokenizer": "keyword",
          "filter": [
            "lowercase",
            "trim",
            "my_pattern_replace"
          ]
        }
      },
      "filter": {
        "my_pattern_replace": {
          "type": "pattern_replace",
          "pattern": "!",
          "replacement":""
        }
      }
    }
  },
  "mappings": {
    "test": {
      "properties": {
        "text": {
          "type": "string",
          "analyzer": "my_keyword_lowercase"
        }
      }
    }
  }
}

这里的想法如下:

  1. 使用分keyword词器将文本保持原样,而不是将其拆分为分词
  2. 使用lowercase过滤器去除混合的大写/小写字符
  3. trim 用于除去尾随和前导空格的过滤器
  4. 使用pattern_replace过滤器消除标点符号。之所以这样,是因为keyword令牌生成器不会对文本中的字符执行任何操作。一个standard分析器会做到这一点,但standard意志,也,而您需要它作为拆分文本

这是您将用于上面的映射的查询

{
  "query": {
    "match": {
      "text": " i am a LITTLE TeaPot short and stout! "
    }
  }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Searchkick / Elasticsearch完全匹配

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Elasticsearch特定领域的完全匹配

来自分类Dev

Dialogflow中的完全匹配

来自分类Dev

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

来自分类Dev

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

来自分类Dev

elasticsearch与破折号完全匹配

来自分类Dev

ElasticSearch:完全比部分匹配的得分低

来自分类Dev

Elasticsearch完全匹配查询(不模糊)

来自分类Dev

在MongoDB中查询完全匹配

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Elasticsearch:为什么完全匹配的得分低于部分匹配的得分

来自分类Dev

如何在Elasticsearch中的分析字段上执行完全匹配查询?

来自分类Dev

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

来自分类Dev

在elasticsearch中,我试图删除所有完全匹配的项目,但它不起作用

来自分类Dev

对ElasticSearch中多个索引下的所有字段运行完全短语匹配

来自分类Dev

Elasticsearch - 如何在json文档中搜索与特殊字符(-)完全匹配的字符串

来自分类Dev

在vim中查找完全匹配

来自分类Dev

在数组中包含完全匹配项

来自分类Dev

Mongo查询中的完全匹配数组

来自分类Dev

在bash中获取模式的完全匹配

来自分类Dev

在 Google 表单中验证完全匹配的答案

来自分类Dev

Elasticsearch:如何查询长字段以进行完全匹配

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

    Searchkick / Elasticsearch完全匹配

  6. 6

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

  7. 7

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

  8. 8

    Elasticsearch特定领域的完全匹配

  9. 9

    Dialogflow中的完全匹配

  10. 10

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

  11. 11

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

  12. 12

    elasticsearch与破折号完全匹配

  13. 13

    ElasticSearch:完全比部分匹配的得分低

  14. 14

    Elasticsearch完全匹配查询(不模糊)

  15. 15

    在MongoDB中查询完全匹配

  16. 16

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

  17. 17

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

  18. 18

    Elasticsearch:为什么完全匹配的得分低于部分匹配的得分

  19. 19

    如何在Elasticsearch中的分析字段上执行完全匹配查询?

  20. 20

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

  21. 21

    在elasticsearch中,我试图删除所有完全匹配的项目,但它不起作用

  22. 22

    对ElasticSearch中多个索引下的所有字段运行完全短语匹配

  23. 23

    Elasticsearch - 如何在json文档中搜索与特殊字符(-)完全匹配的字符串

  24. 24

    在vim中查找完全匹配

  25. 25

    在数组中包含完全匹配项

  26. 26

    Mongo查询中的完全匹配数组

  27. 27

    在bash中获取模式的完全匹配

  28. 28

    在 Google 表单中验证完全匹配的答案

  29. 29

    Elasticsearch:如何查询长字段以进行完全匹配

热门标签

归档