gpt4 book ai didi

elasticsearch - 在字符串和数字字段上请求时的Elasticsearch java.lang.NumberFormatExcepion

转载 作者:行者123 更新时间:2023-12-03 01:36:56 24 4
gpt4 key购买 nike

我正在尝试使用ElasticSearch在应用程序中实现搜索请求。

用户输入一些单词,这些单词会在json请求中发送给Elastic。

为简单起见,我的请求示例如下所示:

body: {
'query': {
'multi_match': {
'query': 'nameValue idValue',
'type': 'most_fields',
'fields': ['name','id'],
}
},}

我收到以下错误:

Caused by: java.lang.NumberFormatException: For input string: "nameValue"



我了解为什么会收到此错误。这是因为我试图在数字字段ID中搜索字符串。但我希望能够同时请求一个字符串和数字。

我还想避免拆分单词,并尝试确定哪个单词是数字,哪个单词是字符串,然后再发送给Elastic Search。

我尝试更改请求,但未成功。

我可以更改id的映射,但这是一个数字,因此我尝试避免这种解决方案。

最佳答案

您可以尝试将lenient: true添加到查询中,以忽略此类数据类型错误。

body: {
'query': {
'multi_match': {
'query': 'nameValue idValue',
'type': 'most_fields',
'fields': ['name','id'],
'lenient': true <--- add this
}
},}

关于elasticsearch - 在字符串和数字字段上请求时的Elasticsearch java.lang.NumberFormatExcepion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51711628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com