MySQL在自然语言搜索中找不到分数

时间:2016-08-03 13:16:16

标签: mysql full-text-search

我希望在产品数据库的多行上执行自然语言搜索。我使用自然语言来获得相关结果。客户明确要求“Google类型搜索”

我遇到的问题是,许多产品都包含其名称中的分数。例如1/2英寸钻头。

不幸的是,MySQL将“/”字符视为单词分隔符,因此“3/4”在匹配条件中被视为“3”“4”,这与它根本不存在的情况相同搜索是关注的。

我已经看到其他系统能够使这项工作,但我不知所措。

非常感谢任何帮助。

请求时附加的示例查询: SET @matching := "1/4 jobber drill"; SELECT SQL_CALC_FOUND_ROWS *, MATCH( parent_product_category, second_level_product_category, third_level_product_category, fourth_level_product_category, fifth_level_product_category, order_no, short_product_title, long_product_title, manufacturer, brand_name) AGAINST(@matching IN NATURAL LANGUAGE MODE) AS score FROM sb_products WHERE is_promo = "0" AND MATCH( parent_product_category, second_level_product_category, third_level_product_category, fourth_level_product_category, fifth_level_product_category, order_no, short_product_title, long_product_title, manufacturer, brand_name) AGAINST(@matching IN NATURAL LANGUAGE MODE) ORDER BY score DESC LIMIT 0, 20; SELECT FOUND_ROWS() as num_rows;

0 个答案:

没有答案