如何解决弹性搜索和产品术语:连字符和空格
我很难弄清楚如何为典型的产品模型命名法设置Elasticsearch。例如,搜索SM7B,SM 7B,SM 7,SM-7 ...时,应出现名为“ Shure SM7B”的产品,反之亦然:搜索SM7B时应显示SM-7,SM7之类的结果。
现在,我得到这样的结果:如果搜索“ Roland D 50”,则得到Roland D 50,Roland D-50,Roland D-550,Roland D-20等。 。,但如果搜索“ Roland D50”,则只会得到“ Roland D50”结果。
这是我当前的映射/设置:
{
"products" : {
"mappings" : {
"Product" : {
"properties" : {
"article_reviews" : {
"type" : "integer"
},"brand_id" : {
"type" : "integer"
},"category" : {
"type" : "text"
},"category_id" : {
"type" : "integer"
},"date" : {
"type" : "text","fields" : {
"keyword" : {
"type" : "keyword","ignore_above" : 256
}
}
},"description" : {
"type" : "text"
},"has_image" : {
"type" : "integer"
},"id" : {
"type" : "integer"
},"last_review_date" : {
"type" : "date","format" : "yyyy-MM-dd HH:mm:ss"
},"min_price" : {
"type" : "text","name" : {
"type" : "text"
},"name_order" : {
"type" : "keyword"
},"price_history" : {
"type" : "integer"
},"rating" : {
"type" : "float"
},"reviews" : {
"type" : "integer"
},"shops" : {
"type" : "text","widget" : {
"type" : "text","ignore_above" : 256
}
}
}
}
}
}
}
}
此外,我需要自动完成搜索,例如,“ Shure SM”应显示类似Shure SM-7,Shure SM7,Shure SM58,Shure SM 57等的结果...类型。
有任何线索吗?谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。