首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让我的产品搜索更有效率?

如何让我的产品搜索更有效率?
EN

Stack Overflow用户
提问于 2019-02-26 19:37:24
回答 1查看 46关注 0票数 0

我使用MySQL作为eCommerce project.In first屏幕的后端,我在用户搜索的时候显示结果,有了这些结果,用户可以选择任何一个结果,并在选择的基础上,用户获得与所选结果相关的所有产品。

示例:屏幕1(从搜索栏):用户搜索"tropicana“,则结果集将是:

第一:纯果乐果汁混合果汁(类别)

第二名:果汁中的纯果乐苹果汁(类别)

第3名:纯果乐橙汁(类别)

第4名:果汁中的纯果乐菠萝汁(类别)

5:果汁中的纯果番石榴汁(类别)和所有其他与纯果乐相关的产品,无论任何类别

屏幕2(在选择"tropicana凤梨果汁“之后):用户根据选择的产品名称及其类别获得结果集(我在此屏幕中使用了分页):

第一:纯果乐混合果汁与所有基本细节

第二:加入纯果乐苹果汁和所有基本的细节

第三:纯果乐橙汁,包含所有基本细节

第四:纯果乐菠萝汁,包含所有基本细节

第5名:纯果番石榴汁,包含所有基本细节

但我想要的是,用户应该首先看到选定的产品详细信息,然后是所有其他相关产品:

示例:

第一:包含所有基本细节的纯果乐菠萝汁

第二:加入纯果乐苹果汁和所有基本的细节

第三:纯果乐橙汁,包含所有基本细节

第四:纯果乐混合果汁与所有基本细节

第5名:纯果番石榴汁,包含所有基本细节

我使用了这个sql查询:

代码语言:javascript
运行
复制
("select p.id,p.product_name,p.rating,p.rating_count,p.product_mrp from product p
    INNER JOIN product_category_mapping pcm ON p.id = pcm.product_id
    where (p.product_name like concat('",in_product_name,"','%') or p.product_name like concat('%','",in_product_name,"','%')) 
    order by p.",in_order_by," ",in_order_type," limit ", var_offset,",",var_limit);

对于这一点,有人能提出什么好的选择吗?

EN

回答 1

Stack Overflow用户

发布于 2019-02-26 22:21:21

代码语言:javascript
运行
复制
DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table
(id SERIAL PRIMARY KEY
,product VARCHAR(255) NOT NULL 
);

INSERT INTO my_table (product) VALUES
('tropicana pineapple juice'),
('tropicana apple juice'),
('tropicana orange juice'),
('tropicana mix fruit juice'),
('tropicana guava juice'),
('jolt pineapple juice'),
('jolt apple juice'),
('jolt orange juice'),
('jolt mix fruit juice'),
('jolt guava juice'),
('duff pineapple juice'),
('duff apple juice'),
('duff orange juice'),
('duff mix fruit juice'),
('duff guava juice'),
('acme pineapple juice'),
('acme apple juice'),
('acme orange juice'),
('acme mix fruit juice'),
('acme guava juice');

ALTER TABLE my_table ADD FULLTEXT(product);

SELECT *
     , MATCH(product) AGAINST('tropicana pineapple') x 
  FROM my_table;
+----+---------------------------+-----------------+
| id | product                   | x               |
+----+---------------------------+-----------------+
|  1 | tropicana pineapple juice | 2.4020363687754 |
|  2 | tropicana apple juice     | 1.0619741682407 |
|  3 | tropicana orange juice    | 1.0619741682407 |
|  4 | tropicana mix fruit juice | 1.0619741682407 |
|  5 | tropicana guava juice     | 1.0619741682407 |
|  6 | jolt pineapple juice      | 1.3400622005347 |
|  7 | jolt apple juice          |               0 |
|  8 | jolt orange juice         |               0 |
|  9 | jolt mix fruit juice      |               0 |
| 10 | jolt guava juice          |               0 |
| 11 | duff pineapple juice      | 1.3400622005347 |
| 12 | duff apple juice          |               0 |
| 13 | duff orange juice         |               0 |
| 14 | duff mix fruit juice      |               0 |
| 15 | duff guava juice          |               0 |
| 16 | acme pineapple juice      | 1.3400622005347 |
| 17 | acme apple juice          |               0 |
| 18 | acme orange juice         |               0 |
| 19 | acme mix fruit juice      |               0 |
| 20 | acme guava juice          |               0 |
+----+---------------------------+-----------------+
20 rows in set (0.00 sec)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54884671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档