gpt4 book ai didi

python - 字段中的大写字母导致查询在Elasticsearch中失败

转载 作者:行者123 更新时间:2023-12-03 00:44:18 24 4
gpt4 key购买 nike

我有一个查询,用于搜索包含某些值的成绩单。它应该匹配属于特定租户的每个文档。当查询的术语过滤器没有大写字母时,查询便会起作用,但在查询过滤器时却失败。
我是否应该将租户ID编码为仅使用小写字母的格式?还是有办法使术语过滤器(或一些类似的过滤器)区分大小写?还是我需要在tenant_id字段上启用某些选项以保留其大小写?

{
'query': {
'bool': {
'must': [{'match': {'transcript': 'hello, world!'}}],
'filter': [
{'term': {'tenant_id': 'XRqtv5O91WEEt'}}
]
}
}
}

最佳答案

尝试使用match而不是term:

{
'query': {
'bool': {
'must': [{'match': {'transcript': 'hello, world!'}}],
'filter': [
{'match': {'tenant_id': 'XRqtv5O91WEEt'}}
^^^^^
]
}
}
}
另外,您可以保留 term,但改用 keyword子字段(如果映射中存在此类字段)
{
'query': {
'bool': {
'must': [{'match': {'transcript': 'hello, world!'}}],
'filter': [
{'term': {'tenant_id.keyword': 'XRqtv5O91WEEt'}}
^^^^^^^^
]
}
}
}

关于python - 字段中的大写字母导致查询在Elasticsearch中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64648649/

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