gpt4 book ai didi

elasticsearch - Elasticsearch查询不适用于大写字母的字段

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

我一直在使用/映射要索引的字符串字段:“not_analyzed”,但仍然无法获得大写字母字符串的搜索结果?我从内到外搜索了整个互联网,但是没有简单的解决方法。
样本数据:

{
"job_status":"Finished",
"build_number":"94",
"build_duration":778,
"@timestamp":"1455317284293",
"build_result":"UNSTABLE",
"slave_node":"tiny-cmsbuild03",
"job_name":"DMWM-WMCore-RunTests-Oracle"
},
{
"job_status":"Finished",
"build_number":"96",
"build_duration":859,
"@timestamp":"1455662929042",
"build_result":"UNSTABLE",
"slave_node":"tiny-cmsbuild02",
"job_name":"DMWM-WMCore-RunTests-Oracle"
},
{
"job_status":"Finished",
"build_number":"89",
"build_duration":385,
"@timestamp":"1454453359226",
"build_result":"UNSTABLE",
"slave_node":"tiny-cmsbuild06",
"job_name":"DMWM-WMCore-RunTests-Oracle"
}
kibana3正在执行以下查询:
"query": {
"filtered": {
"query": {
"bool": {
"should": [
{
"query_string": {
"query": "job_name:D*"
}
}
]
}
},
"filter": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
}
}
但没有结果。

最佳答案

您没有得到任何结果的原因是因为 query_string query有一个称为lowercase_expanded_terms的参数,默认情况下为true。

它的作用是将传递给它的查询字符串小写,以便job_name:D*变为job_name:d*,因此为什么没有匹配项。

但是,如果您这样查询,即通过将lowercase_expanded_terms设置为false,它将起作用:

curl -XGET localhost:9200/your_index/_search?lowercase_expanded_terms=false&q=job_name:D*

关于elasticsearch - Elasticsearch查询不适用于大写字母的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607303/

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