我有一个名为“郊区”的字段,需要符合以下条件;
鉴于我在某些郊区有空格,所以我需要或多或少将它们视为单词而不是短语。因此,如果我要搜索
'Sheoaks'
然后
“ She Oaks”应该是火柴
此刻,当我在郊区执行Match查询时,使用:
只有在查询中输入
时,我才会获得匹配项的?? O ??'
我想要
'S ?????'
只要满足上述限制
答案 0 :(得分:2)
这是预期的行为:
带有standard analyzer
的“她橡树”将生成两个令牌:["she", "oaks"]
并仅覆盖一个["sheoaks"]
。
因此,您的匹配查询尝试匹配["she", "oaks"]
与["sheoaks"]
。但是,从“她”到“ sheoaks”以及从“ oaks”到“ sheoaks”有超过1个换位。所以它不匹配。
您需要在keyword analyzer使用index time and search time。
to将在索引时生成["sheoaks"]
,在搜索时生成["she oaks"]
(根据您的示例)。然后只有1个换位,它应该起作用。