Ram*_*mal 5 php mysql search sql-like
我想根据整个标题名称和标题词搜索产品。可以LIKE
使用UNION
. 我的数据库title(charchar(550)) = Colorzone Men's Casual Wear Red Cotton Shirt
不是全文——
PHP 和 MYSQL 的最佳搜索算法是什么?
但是我需要将搜索结果(第一:Cotton Shirt
记录,第二 Cotton
记录和第三:Shirt
记录。不应显示混合的所有记录)作为单个查询
MYSQL 查询:例如:标题 =Cotton Shirt
SELECT title FROM zapstore_ecom_products WHERE title LIKE '%Cotton Shirt%' //Get Whole Title products.
UNION
SELECT title FROM zapstore_ecom_products WHERE title LIKE '%Cotton%' //Get list for first word Title products.
UNION
SELECT title FROM zapstore_ecom_products WHERE title LIKE '%Shirt%' //Get list for last word Title products.
Run Code Online (Sandbox Code Playgroud)
假设用户标题有 4 个或更多单词,那么它将使用 进行 4 个或更多查询UNION
。我们将使用单个查询进行此搜索?
title
您可以在布尔模式下使用全文搜索against ('Cotton','Shirt')
,ORDER BY score DESC
这应该会为您提供所需的输出
我没有尝试 mysql 但根据 MySQL Doc 中解释的理论它会工作