like e full text search
1.0.0
像操作員在其中的子句中使用類似的操作員來搜索列中指定的標準。
$ conn = require __DIR__ . ' /utils/connection.php ' ;
$ term = $ argv [ 1 ] ?? null ;
$ term = ' % ' . $ term . ' % ' ;
** $ stmt = $ conn -> prepare ( ' SELECT * FROM posts WHERE body LIKE ?; ' );
$ stmt -> bind_param ( ' s ' , $ term );
$ stmt -> execute ();**
$ result = $ stmt -> get_result ();
$ posts = $ result -> fetch_all ( MYSQLI_ASSOC );
foreach ( $ posts as $ post ) {
echo $ post [ ' title ' ]. PHP_EOL ;
echo $ post [ ' body ' ]. PHP_EOL ;
echo PHP_EOL ;
}我們想選擇生活在“ S”開頭的城市的人:
1:SELECT * FROM Pessoas
2:WHERE cidade LIKE 'S%'
標準之前和之後的%符號都可以用來定義圖案(標準中缺少字母)。以上研究的結果將是:
現在,我們想選擇生活在一個以“ S”結尾的城市中的人:
1:SELECT * FROM Pessoas
2:WHERE cidade LIKE '%s'
這項研究的結果將是:
為了通過完整文本索引進行研究,我們使用匹配和針對功能,這些功能分別以字段和要研究的值命名。請參閱示例:
$ stmt = $ conn -> prepare ( ' SELECT *, MATCH(title, body) AGAINST(? IN BOOLEAN MODE) as score FROM posts ORDER BY score DESC ; ' );
$ stmt -> bind_param ( ' s ' , $ term );
$ stmt -> execute ();匹配:用於在全文索引上進行全文搜索的特殊結構。如前所述,在子句中使用Match()時,返回的線將自動與最大相關性分類。相關值是非負浮點數。沒有相關性意味著任何相似之處。相關性是根據行上的單詞數(文檔),行上的唯一單詞數,集合中的單詞總數以及包含特定單詞的行數來計算的。
搜索內容:
INSERT INTO posts (title, body) VALUES
( " Laravel framework " , " O laravel é muito utilizado hoje em dia " ),
( " CakePHP " , " Framework de desenvolvimento rápido " ),
( " Slim Framework " , " Micro framework, podemos utilizar o Eloquent do laravel nele " )