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

黎巴嫩人

映射包含嵌套字段。

我想知道是否有可能在不将其类型更改为“ keyword”的情况下对“ value”进行完全匹配

"mappings": {
"properties": {
  "tag": {
    "type": "nested",
    "properties": {
      "value": {
        "type": "text"
      },
      "key": {
        "type": "keyword"
      }
    }
  }
}
}

以下是我尝试对“值”字段进行完全匹配的代码。

BoolQueryBuilder boolQ = boolQuery();
boolQ.must(matchQuery("tag.key", "key"));
boolQ.must(matchQuery("tag.value", "value").fuzziness(Fuzziness.ZERO));
entireQuery.must(nestedQuery("tag", boolQ, ScoreMode.None));

上面的返回结果也与“ value”的标记词匹配。

如果存在与该问题有关的任何参考文献,我将不胜感激。

由于tag.value类型为text,因此已对其内容进行了分析,并且已在Elasticsearch中对生成的标记(即不完全值)进行了索引。

即使term查询没有分析搜索令牌,它也没有用,因为已对索引令牌进行了分析。

现在有两个选项:

答:如果tag.value只包含一个令牌(例如"Dog"),你仍然可以准确地通过使用符合他们term还是match而是由lowercasing的值,如:

{
    "nested": {
       "path": "tag",
       "query":{
           "term":{
               "tag.value":"dog"
           }
       }
    }
}

B.如果tag.value包含多个标记(例如"the big dog"),则无法再搜索其确切值。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java API匹配Elasticsearch中的多个字段

来自分类Dev

Elasticsearch Java API不返回匹配字段

来自分类Dev

Elasticsearch重点:如何在Java客户端中获取字段的整个文本

来自分类Dev

Elasticsearch重点:如何在Java客户端中获取字段的整个文本

来自分类Dev

MongoDB通过Java中的嵌套字段搜索

来自分类Dev

JAVA:如何在嵌套的JSONString中查找子字符串的所有匹配项并替换为某些文本

来自分类Dev

Java在禁用的SWT文本字段中设置文本颜色

来自分类Dev

Java GUI:从文本字段中获取文本

来自分类Dev

Java-Selenium Webdriver:在文本字段中输入文本,并自动从文本字段中删除

来自分类Dev

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

来自分类Dev

访问AVRO GenericRecord(Java / Scala)中的嵌套字段

来自分类Dev

Elasticsearch将嵌套字段与值数组匹配

来自分类Dev

Elasticsearch:对嵌套字段的多重匹配查询

来自分类Dev

Elasticsearch在Java搜索API中未返回任何匹配

来自分类Dev

Java QueryBuilders的嵌套Elasticsearch查询

来自分类Dev

使用JAVA的Elasticsearch嵌套聚合

来自分类Dev

Java中的GUI文本字段中的getText错误

来自分类Dev

Java中的GUI文本字段中的getText错误

来自分类Dev

如何使用java在Elasticsearch中更改文档的字段属性?

来自分类Dev

如何使用java在Elasticsearch中按字段属性搜索文档?

来自分类Dev

Java-Swing在表单的文本字段中侦听动作

来自分类Dev

如何从Selenium Java中的禁用输入字段获取文本

来自分类Dev

JAVA-在表单的文本字段中显示数据

来自分类Dev

Java-Swing侦听表单文本字段中的操作

来自分类Dev

如何从Selenium Java中的禁用输入字段获取文本

来自分类Dev

JAVA-在表单的文本字段中显示数据

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

    Java API匹配Elasticsearch中的多个字段

  2. 2

    Elasticsearch Java API不返回匹配字段

  3. 3

    Elasticsearch重点:如何在Java客户端中获取字段的整个文本

  4. 4

    Elasticsearch重点:如何在Java客户端中获取字段的整个文本

  5. 5

    MongoDB通过Java中的嵌套字段搜索

  6. 6

    JAVA:如何在嵌套的JSONString中查找子字符串的所有匹配项并替换为某些文本

  7. 7

    Java在禁用的SWT文本字段中设置文本颜色

  8. 8

    Java GUI:从文本字段中获取文本

  9. 9

    Java-Selenium Webdriver:在文本字段中输入文本,并自动从文本字段中删除

  10. 10

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

  11. 11

    访问AVRO GenericRecord(Java / Scala)中的嵌套字段

  12. 12

    Elasticsearch将嵌套字段与值数组匹配

  13. 13

    Elasticsearch:对嵌套字段的多重匹配查询

  14. 14

    Elasticsearch在Java搜索API中未返回任何匹配

  15. 15

    Java QueryBuilders的嵌套Elasticsearch查询

  16. 16

    使用JAVA的Elasticsearch嵌套聚合

  17. 17

    Java中的GUI文本字段中的getText错误

  18. 18

    Java中的GUI文本字段中的getText错误

  19. 19

    如何使用java在Elasticsearch中更改文档的字段属性?

  20. 20

    如何使用java在Elasticsearch中按字段属性搜索文档?

  21. 21

    Java-Swing在表单的文本字段中侦听动作

  22. 22

    如何从Selenium Java中的禁用输入字段获取文本

  23. 23

    JAVA-在表单的文本字段中显示数据

  24. 24

    Java-Swing侦听表单文本字段中的操作

  25. 25

    如何从Selenium Java中的禁用输入字段获取文本

  26. 26

    JAVA-在表单的文本字段中显示数据

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档