ElasticSearch query_string 长字段文本搜索
ElasticSearch query_string text search on long field
使用以下查询
{
"query": {
"query_string": {
"query": "james",
"fields": ["briefdescription", "sonumber"]
}
}
}
我得到"reason": "failed to create query: For input string: \"james\"",
我认为是 sonumber
的问题是一个 long
字段,它无法在该字段上搜索“james”,但如果我只使用 default_field: "*"
,它不会t 抛出错误。这是为什么? default_field
是否跳过不兼容的类型?
是的,这可能就是原因,您也可以使用 lenient
parameter 忽略这些错误来缓解此问题:
{
"query": {
"query_string": {
"query": "james",
"fields": ["briefdescription", "sonumber"],
--> "lenient": true
}
}
}
使用以下查询
{
"query": {
"query_string": {
"query": "james",
"fields": ["briefdescription", "sonumber"]
}
}
}
我得到"reason": "failed to create query: For input string: \"james\"",
我认为是 sonumber
的问题是一个 long
字段,它无法在该字段上搜索“james”,但如果我只使用 default_field: "*"
,它不会t 抛出错误。这是为什么? default_field
是否跳过不兼容的类型?
是的,这可能就是原因,您也可以使用 lenient
parameter 忽略这些错误来缓解此问题:
{
"query": {
"query_string": {
"query": "james",
"fields": ["briefdescription", "sonumber"],
--> "lenient": true
}
}
}