首先,我对 ES 完全陌生。我在下面创建了 ES 搜索条件来搜索可以正常工作的项目,但我现在需要的是,我想将字段变为不区分大小写,以便搜索结果与,hello
等相同。HeLlo
HELLO
由于我的知识非常有限,我已阅读下面的帖子无法安静地适用于下面的示例:
not_analyzed
从make中删除没有帮助。
'indexes' => [
'my_project' => [
'client' => 'default',
'index_name' => 'hello',
'settings' => [
'index' => [
'analysis' => [
'analyzer' => [
'snowball_analyzer' => [
'type' => 'snowball',
'language' => 'English',
],
],
],
],
],
'types' => [
'item' => [
'mappings' => [
'uuid' => ['type' => 'string', 'index' => 'not_analyzed'],
'name' => ['type' => 'string', 'boost' => 8, 'analyzer' => 'snowball_analyzer'],
'make' => ['type' => 'string', 'index' => 'not_analyzed'],
]
],
],
],
],
这些是我创建的查询:
1
{
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"term": {
"make": "HeLlo"
}
}
]
}
}
}
}
}