当涉及到创建一个搜索框时,我不希望用户被限制在键入精确的句子,以找到他们正在寻找的产品。如果有一个叫做“猕猴桃方块”的产品,我搜索“猕猴桃片”,猕猴桃立方体应该还会出现。
SELECT *
, ( (1.3 * (MATCH(wsp_product_title) AGAINST ('+kiwi+slices' IN BOOLEAN MODE)))
+ (0.6 * (MATCH(wsp_product_description) AGAINST ('+kiwi+slices'
IN BOOLEAN MODE)))) AS relevance
FROM webstore_products
LEFT JOIN webstore_product_size_variants ON wsp_product_id = wspsv_product_id
WHERE wsp_shop_id = 4
AND wspsv_visibility = 2
AND (MATCH(wsp_product_title,wsp_product_description) AGAINST
('+kiwi+slices' IN BOOLEAN MODE) )
GROUP BY wsp_product_id
ORDER BY relevance DESC这是一把小提琴http://sqlfiddle.com/#!9/e13bcf/2
即使没有发现,我如何调整我的查询以包括类似的结果?
*N.B.查询成功地返回了我的服务器上的一个值.不知道为什么小提琴不响。
发布于 2022-04-01 11:51:24
按OP要求过滤结果的解决方案:移除加号,然后将任一单词的学分与@aynber匹配。
https://stackoverflow.com/questions/71698100
复制相似问题