我想问一下是否有人可以帮我解决这个问题
SELECT count(MATCH(product_text) AGAINST('lorem*' in boolean mode)) AS score FROM table_products WHERE MATCH (text) AGAINST ('lorem*' in boolean mode) limit 0,50000
列文本上有全文索引。上午。查询返回行的总和作为分数。 我不会计算全文搜索结果。如果结果数(行) 高于50000,比计数和50000将被退回,否则精确计数 返回结果。
问题是如果用户试图找到例如单词“lorem”并且该单词出现在表f.e中,则表宽度为150万行并不快。超过50万x。
我也尝试了
SELECT id,name,product_text,price, MATCH(product_text) AGAINST('lorem*' in boolean mode) AS score FROM table_products WHERE MATCH(product_text) AGAINST('lorem*' in boolean mode) and show_product='1' limit 0,50000
... width php mysql_num_rows
另一个问题是,在以下查询mysql中仅使用全文索引 并按另一列或按分数排序
SELECT id,name,product_text,price, MATCH(product_text) AGAINST('lorem*' in boolean mode) AS score FROM table_products WHERE MATCH(product_text) AGAINST('lorem*' in boolean mode) and show_product='1' order by score desc limit 0,50000
RESP。 (..按名称排序,按价格排序)
还有另一种更好更快的方法吗?
非常感谢您的帮助。