在一个简单的查询字符串查询中,短语搜索和~N的短语搜索如何与quote_field_suffix交互



例如,给定:

PUT index
{
"settings": {
"analysis": {
"analyzer": {
"english_exact": {
"tokenizer": "standard",
"filter": [
"lowercase"
]
}
}
}
},
"mappings": {
"properties": {
"body": {
"type": "text",
"analyzer": "english",
"fields": {
"exact": {
"type": "text",
"analyzer": "english_exact"
}
}
}
}
}
}
PUT index/_doc/1
{
"body": "Ski resorts"
}
PUT index/_doc/1
{
"body": "Ski house resorts"
}

以下查询会发生什么情况?

{
"query": {
"simple_query_string": {
"fields": [ "body" ],
"quote_field_suffix": ".exact",
"query": ""ski resort""
}
}
}
{
"query": {
"simple_query_string": {
"fields": [ "body" ],
"quote_field_suffix": ".exact",
"query": ""ski resort"~2"
}
}
}

威尔"。精确的";扩展到整个短语,所以在这种情况下,第一个查询不会得到结果?

当使用引号"时,你怎么能进行不准确的短语搜索呢;quote_field_suffix":&";。确切的";?

将"。精确的";扩展到整个短语,所以在这种情况下,第一个查询不会得到结果?

是的,您的理解是正确的。

文档说,后缀附加到查询字符串中引用的文本。

因此,它将搜索ski resort的精确匹配。它不在那里,所以它将返回空结果。

当使用quote时,如何进行不准确的短语搜索;quote_field_suffix":&";。确切的";?

{
"query": {
"simple_query_string": {
"fields": [ "body" ],
"quote_field_suffix": ".exact",
"query": "ski resort~2"
}
}
}

它并不确切,因为它也带来了CCD_ 2。

最新更新