如何使用TYPO3 Extbase实现MySQL全文搜索?
我想对这样的索引进行全文搜索:
SELECT * FROM table
WHERE MATCH (name, title)
AGAINST ('foo bar' IN BOOLEAN MODE);
在extbase的query-> matching方法中找不到合适的比较选项。我是否必须使用$ query-> statement构建本机sql语句?
如果这样做,则不会在语句中使用我的boundVariables。
我这样尝试过:
$sql = "SELECT * FROM `table` WHERE MATCH (name,title) AGAINST ?";
$searchTerm = "('" . $paramFromForm ."' IN BOOLEAN MODE)";
$query->statement($sql, array($searchTerm);
这样我在TYPO3中收到以下错误消息
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1
使用\ TYPO3 \ CMS \ Extbase \ Utility \ DebuggerUtility :: var_dump($ query,'My Title')进行调试;向我显示$ sql中的一条语句和一个包含我的Searchterm的boundVariables-Array:
0 => '('foo bar' IN BOOLEAN MODE)'
但是很明显,我的SQL语句中的问号没有被我的SearchTerm取代。
我错在哪儿或用另一种方法用extbase做MySQL全文搜索?