我正在尝试在跨字段查询中的特定字段上实现模糊性 . 虽然这有点困难 .
所以查询应该:
-
跨字段匹配短语 .
-
匹配partNumber和条形码的完全匹配(无模糊)
-
将模糊术语与 Headers 和副 Headers 匹配 .
到目前为止我的查询是在下面 - 请注意到目前为止,查询中的模糊性根本无法正常工作 .
所以这应该匹配1个结果,即 Headers 中的“Amazing T-Shirt”和副 Headers 中的Blue . (注意拼写错误) .
是否可以在索引映射级别实现模糊性? Headers 和副 Headers 在数据集中非常短 - 可能最多30到40个字符 .
否则,如何在查询中为 Headers 和副 Headers 添加模糊性?
{
"query": {
"multi_match": {
"query": "Bleu Amazing T-Shirt",
"fuzziness": "auto",
"operator": "and",
"fields": [
"identity.partNumber^4",
"identity.altIdentifier^4",
"identity.barcode",
"identity.mpn",
"identity.ppn",
"descriptions.title",
"descriptions.subtitle"
],
"type": "cross_fields"
}
},
"fields": [
"identity.partNumber",
"identity.barcode",
"identity.ppn",
"descriptions.title",
"descriptions.subtitle"
]
}
1 回答
好吧,它似乎不支持使用cross_fields模糊搜索,有一些相关的问题 . 因此,我没有使用跨域搜索,而是在索引时将 Headers 和副 Headers 复制到新字段,并将查询拆分为如下所示 . 似乎至少为我的测试用例工作....