我正在一个购物电子商务网站上工作,要求从产品名称生成有意义的字符串令牌以实现自动完成功能。例如:
如果产品名称是:“红色Beryl条纹棉衬衫”
然后意味着完整标记可以是“ Red Shirt”,“ Cotton Shirt”,“ Striped Cotton Shirt”和“ Beryl Shirt”。
我曾尝试通过elasticsearch的“” Shingle“过滤器生成令牌,但由于产品名称中未包含术语” Red“和” Shirt“,因此无法生成” Red Shirt“令牌。
任何帮助都会很棒。
预先感谢。
您所描述的是slop
中的match_phrase
query。尽管对于该示例查询,您将需要3的斜率,这可能会很昂贵。
[通常,我想您会希望match_phrase
带有应子句:
对于自动补全boolean query就像Nate提到的那样最有意义,但是对于该示例,它不会自动补全为“ Red Shirt”。