为什么我在第二个查询中不能得到与第三个查询相同的结果?我做错了什么?
1.我提出这样的疑问:
{
"size": 20,
"track_total_hits": false,
"_source": [
"title"
],
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "63 ",
"default_field": "title",
"type": "phrase_prefix"
}
}
]
}
}
}
得到了这个结果:
{
"hits": {
"max_score": 13.483224,
"hits": [
{
"_index": "products_2022_11_3_17_30_44_56920",
"_type": "_doc",
"_id": "19637",
"_score": 13.483224,
"_source": {
"title": "Заднее стекло 6302BGNE"
}
}
]
}
}
1.好的,在这之后我再输入一个字符:"query": "63 2"
结果是空的:
"hits" : {
"max_score" : null,
"hits" : [ ]
}
}
1.然后我再加一个字符:"query": "63 21"
再次得到非空结果:
{
"hits": [
{
"_index": "products_2022_11_3_17_30_44_56920",
"_type": "_doc",
"_id": "105863",
"_score": 440.54578,
"_source": {
"title": "Лампа накаливания 63 21 0 151 620 BMW"
}
}
]
}
索引Map:
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
GET产品/_设置
{
"products_2022_11_7_8_57_7_118045" : {
"settings" : {
"index" : {
"routing" : {
"allocation" : {
"include" : {
"_tier_preference" : "data_content"
}
}
},
"number_of_shards" : "1",
"provided_name" : "products_2022_11_7_8_57_7_118045",
"creation_date" : "1667800627119",
"number_of_replicas" : "0",
"uuid" : "GV6-5tzQQPavncFUcvq9NA",
"version" : {
"created" : "7170299"
}
}
}
}
}
1条答案
按热度按时间vyu0f0g11#
看起来你在你的
title
字段上使用了一些分析器,这是在搜索中创建令牌的方式,它不匹配你的搜索词。我使用
title
字段的标准分析器,并索引您显示的示例文档,以及它在所有三个查询中给我的结果,如下所示:搜索结果
提供索引Map和设置有助于确定未提供预期结果的原因。