日期时间字段的模糊性
Fuzziness in date type filed
我的映射中有日期字段,我想对我的字段进行模糊搜索
下面是我的代码
GET _search
{
"query": {
"fuzzy": {
"death_date": {
"value": "3548"
}
}
}
}
当前结果不return 数据符合预期。
虽然我有 3548 值,但它的分数小于结果顶部显示的 3549 值
我已更改我的查询以包含建议的范围参数
GET _search
{
"query" : {
"bool": {
"must":
{
"match": {
"marriages.marriage_year": "1630"
}
},
"should":
{
"match": {
"first_name":
{ "query" : "mary",
"fuzziness":"2"
}
}
},
"must":
{
"range" : {
"marriages.marriage_year": {
"gt" : "1620",
"lte" : "1740"
}
}
}
}
}
}
正在returning数据marriages.marriage_year=“1630”以玛丽为first_name为最高score.I还想包括marriages.marriage_year1620之间- 结果中未显示 1740 个。它仅显示 marraige_year 1630
的数据
模糊查询旨在处理字符串字段以适应输入错误。它根据编辑距离为您提供结果。
在数字字段上使用它没有意义。作为 1000,9000 只有距离 1,但它们相距很远。您可以按照 Russ 的建议进行范围查询,或者如果您对编辑距离而不是范围感到困扰,请将其索引为字符串字段,然后进行模糊查询。
我的映射中有日期字段,我想对我的字段进行模糊搜索 下面是我的代码
GET _search
{
"query": {
"fuzzy": {
"death_date": {
"value": "3548"
}
}
}
}
当前结果不return 数据符合预期。 虽然我有 3548 值,但它的分数小于结果顶部显示的 3549 值 我已更改我的查询以包含建议的范围参数
GET _search
{
"query" : {
"bool": {
"must":
{
"match": {
"marriages.marriage_year": "1630"
}
},
"should":
{
"match": {
"first_name":
{ "query" : "mary",
"fuzziness":"2"
}
}
},
"must":
{
"range" : {
"marriages.marriage_year": {
"gt" : "1620",
"lte" : "1740"
}
}
}
}
}
}
正在returning数据marriages.marriage_year=“1630”以玛丽为first_name为最高score.I还想包括marriages.marriage_year1620之间- 结果中未显示 1740 个。它仅显示 marraige_year 1630
的数据模糊查询旨在处理字符串字段以适应输入错误。它根据编辑距离为您提供结果。
在数字字段上使用它没有意义。作为 1000,9000 只有距离 1,但它们相距很远。您可以按照 Russ 的建议进行范围查询,或者如果您对编辑距离而不是范围感到困扰,请将其索引为字符串字段,然后进行模糊查询。