V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gyinbj
V2EX  ›  PHP

phper 关于搜索的问题。

  •  
  •   gyinbj · 2022-02-23 18:16:55 +08:00 · 1664 次点击
    这是一个创建于 1008 天前的主题,其中的信息可能已经有所发展或是发生改变。
    phper 关于搜索的问题。

    想了好几天,想不通有效的解决方案。

    想实现 搜索 [冲锋衣]


    显示固定筛选类

    1:品牌 凯乐石 诺诗兰 ==
    2:分类 男装 女装 ==
    3:尺码 L XL ==


    搜索结果 [冲锋衣] 产品包含的特定属性
    例如
    材料:xxx
    季节:xxx
    颜色:xxx 产品配置的个性化属性

    问题就是怎样将[冲锋衣]产品配置的个性化属性聚合出来

    目前用的 xunsearch 搜索引擎

    es 刚刚接触不久 但是没有想通解决思路。

    就是类似京东 淘宝的搜索结果 聚合

    高人指点一下迷津。
    9 条回复    2022-02-24 15:50:31 +08:00
    raysonlu
        1
    raysonlu  
       2022-02-24 09:24:13 +08:00
    人为手动添加或者收集用户搜素点击习惯智能生成---冲锋衣和特定属性的映射表 ?
    gyinbj
        2
    gyinbj  
    OP
       2022-02-24 09:43:38 +08:00
    @raysonlu 我现在的想法是

    固定品牌, 分类, 尺码三个属性 属于全商品的属性

    后面的不同属性 需要 group by 产品搜索结果 聚合出来。

    现在就这个 group by 聚合 没想好用什么技术实现 不能每次都去 group 表吧。。
    encro
        3
    encro  
       2022-02-24 10:00:47 +08:00
    两个极端的解决办法:
    1 ,每个类别一个 index;
    2, 所有 keywords 都抽取出来放到一个字段,这样搜索是模糊搜索这个字段就可以了。
    encro
        4
    encro  
       2022-02-24 10:05:26 +08:00
    没记错的话(毕竟差不多七八年了,快忘了),es 支持 tags 字段类型吧?


    随便搜索的:

    动态字段: https://www.jianshu.com/p/2980d3e1fbfb

    查找多个精确值: https://www.elastic.co/guide/cn/elasticsearch/guide/current/_finding_multiple_exact_values.html
    gyinbj
        5
    gyinbj  
    OP
       2022-02-24 10:30:23 +08:00
    @encro 我现在主要是没想通数据怎样存储。

    因为要先把筛选规格聚合出来,

    然后用户会通过选择不同的筛选规格 在去细化检索产品
    wowbaby
        6
    wowbaby  
       2022-02-24 13:35:17 +08:00
    这个比较复杂吧,我也一直没找到好的解决方案,京东购物体验做得真的是好,搜索关键还可以帅选品牌、属性等等,都细化了,相对来讲阿里系做的不好用。
    gyinbj
        7
    gyinbj  
    OP
       2022-02-24 13:50:36 +08:00
    @wowbaby 是的, 体验很好

    我现在能想到的解决思路就是从搜索结果里面聚合出来筛选条件 , 然后用户可以再去用来搜索,

    继续努力中。
    encro
        8
    encro  
       2022-02-24 15:48:50 +08:00
    我给的方案就是这方面的,你要的不仅是这“冲锋衣”分类,其他类别和冲锋衣类的字段是不一样的吧?

    那么有两种方案:
    1 ,统一字段:tags:[冲锋衣,女装,L],这是 es 和 xunsearch 不一样的,xunsearch 差不多相对于 sphinxsearch 加强版,实现方式还是数据库那一套。es 原生支持 tags 这类字段,这个就变得容易多了。
    2 ,不同类别因为字段可能不一样,所以每个类别一个 index 。

    你以前用 xunsearch 怎么用的,es 应该比 xunsearch 更加简单。
    encro
        9
    encro  
       2022-02-24 15:50:31 +08:00
    每台明白你是想换 es 还是想不换?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:15 · PVG 05:15 · LAX 13:15 · JFK 16:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.