String标记生成器过滤器,例如Elasticsearch中的Shingle

问题描述 投票:0回答:1

我正在一个购物电子商务网站上工作,要求从产品名称生成有意义的字符串令牌以实现自动完成功能。例如:

如果产品名称是:“红色Beryl条纹棉衬衫”

然后意味着完整标记可以是“ Red Shirt”,“ Cotton Shirt”,“ Striped Cotton Shirt”和“ Beryl Shirt”。

我曾尝试通过elasticsearch的“” Shingle“过滤器生成令牌,但由于产品名称中未包含术语” Red“和” Shirt“,因此无法生成” Red Shirt“令牌。

任何帮助都会很棒。

预先感谢。

string elasticsearch text nlp tokenize
1个回答
0
投票

您所描述的是slop中的match_phrase query。尽管对于该示例查询,您将需要3的斜率,这可能会很昂贵。

[通常,我想您会希望match_phrase带有应子句:

  • 搜索输入中的每个令牌。
  • 在完整搜索输入上进行词组搜索(可能带有斜线)。

对于自动补全boolean query就像Nate提到的那样最有意义,但是对于该示例,它不会自动补全为“ Red Shirt”。

© www.soinside.com 2019 - 2024. All rights reserved.