【发布时间】:2022-08-01 13:01:04
【问题描述】:
我的
stop.txt
拥有
messi
设置如下
{
"settings": {
"index": {
"analysis": {
"filter": {
"synonym_en": {
"type": "synonym",
"synonyms_path": "synom.txt"
},
"english_stop": {
"type": "stop",
"stopwords_path": "stop.txt"
}
},
"analyzer": {
"english_analyzer": {
"tokenizer": "standard",
"filter": ["english_stop", "synonym_en"]
}
}
}
}
},
"mappings": {
"properties": {
"name": {
"type": "text",
"analyzer": "english_analyzer"
}
}
}
}
我的字典在下面
[
{ "id": 0, "name": "Messiis player" },
{ "id": 1, "name": "Messi player" },
{ "id": 2, "name": "Messi and Rono player" },
{ "id": 3, "name": "Rono and Messi player" },
{ "id": 4, "name": "messiis and Messi player" }
]
DSL查询如下
{
"query": {
"bool": {
"must": {
"query_string": {
"query": "messi*",
"fields": ["name^128"]
}
}
}
}
}
我的输出低于获取完整文档
{
"took": 3,
"timed_out": false,
"_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 },
"hits": {
"total": { "value": 5, "relation": "eq" },
"max_score": 128.0,
"hits": [
{
"_index": "player",
"_type": "_doc",
"_id": "0",
"_score": 128.0,
"_source": { "id": 0, "name": "Messiis player" }
},
{
"_index": "player",
"_type": "_doc",
"_id": "1",
"_score": 128.0,
"_source": { "id": 1, "name": "Messi player" }
},
{
"_index": "player",
"_type": "_doc",
"_id": "2",
"_score": 128.0,
"_source": { "id": 2, "name": "Messi and Rono player" }
},
{
"_index": "player",
"_type": "_doc",
"_id": "3",
"_score": 128.0,
"_source": { "id": 3, "name": "Rono and Messi player" }
},
{
"_index": "player",
"_type": "_doc",
"_id": "4",
"_score": 128.0,
"_source": { "id": 4, "name": "messiis and Messi player" }
}
]
}
}
-
我的查询有 *
-
如果我正在搜索
"query": "messi*",
,我将得到输出{'id': 4, 'name': 'messiis and Messi player'}
-
如果我正在搜索
"query": "messi*",
我需要如下预期 -
如果我也在搜索
"query": "Messi*",
,我需要如下预期(基本上大小写必须不敏感) -
没有得到错误发生在哪里
{
"took": 8,
"timed_out": false,
"_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 },
"hits": {
"total": { "value": 2, "relation": "eq" },
"max_score": 128.0,
"hits": [
{
"_index": "player",
"_type": "_doc",
"_id": "0",
"_score": 128.0,
"_source": { "id": 0, "name": "Messiis player" }
},
{
"_index": "player",
"_type": "_doc",
"_id": "4",
"_score": 128.0,
"_source": { "id": 4, "name": "messiis and Messi player" }
}
]
}
}