"categories": {
"type": "keyword",
"normalizer": "lowercase_normalizer"
}
对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写!
考虑以下文件:
"_id": "product1",
"_source": {
"categories": [
"WOMEN",
"Footwear"
]
}
"_id": "product2",
"_source": {
"categories": [
"Men",
"Footwear"
]
}
运行以下查询:
{
"size": 0,
"aggs": {
"categories": {
"terms": {
"field": "categories",
"size": 100
}
}
}
}
返回:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 40453,
"max_score": 0,
"hits": [
]
},
"aggregations": {
"sterms#categories": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 12453,
"buckets": [
{
"key": "men",
"doc_count": 27049
},
{
"key": "women",
"doc_count": 21332
},
.........
]
}
}
}
是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的[“women”,“men”]
感兴趣。
Elasticsearch论坛中的问题
谢谢,伊泰
您需要在属性中配置一个不使用任何规范化程序的字段:
关于字段的文件
类似于
"categories": {
"type": "keyword",
"normalizer": "lowercase_normalizer",
"fields": {
"case_sensitive": {
"type": "keyword"
}
}
}
{
"size": 0,
"aggs": {
"categories": {
"terms": {
"field": "categories.case_sensitive",
"size": 100
}
}
}
}
我需要一个像
问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,
问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut
问题内容: 在PHP中,变量名和常量名区分大小写,而函数名不区分大小写。 据我所知,PHP是发生这种情况的唯一语言。我使用的所有其他语言要么完全区分大小写,要么完全不区分大小写。 为什么PHP 部分 区分大小写? 请注意,我并不是在问 哪个 名称区分大小写,而是 为什么 。 更新资料 为了使那些认为我要问 哪个的 人受益,我想添加以下列表: 区分大小写 弦乐 变数 对象属性 常量,默认情况下 不区
问题内容: 我想按不区分名称的名称搜索用户表中的数据。 我收到一个错误: 意外令牌:% 。我应该在哪里放置“%”? 问题答案: 您可以使用concat运算符: 或使用命名参数: (使用Spring Boot 1.4.3测试)
问题内容: 我有一个充满小写和大写数据的json。例如 : 而且我有类似的东西: 我想做的是搜索朋友,而不用看大写和小写。因此,基本上,当我在输入中键入“ John”,“ JOHN”或简单地输入“ john”时,它应该返回我的朋友John。 那么是否可以将不区分大小写的选项应用于过滤器? 问题答案: 将您在使用字符串的toLowerCase的适用范围内定义的函数名称传递给您。参见ngFilter。