是否可以使用匹配/反对来匹配关键字,但是如果它出现在特定短语中则不行?
例如,如果我想匹配" dog"但不是"热狗":
"这是一只狗"应该匹配。
"这是一只热狗"不应该匹配。
"热狗不是狗"应该匹配,因为第二个"狗"不属于热狗"。
我的应用程序搜索用户在大型数据库中定义的数百个关键字(~100K记录),因此该查询的执行非常重要。
编辑: 我想只匹配整个单词,而不是作为另一个单词的一部分出现的关键字。
答案 0 :(得分:1)
如果你replace
hot dog
''
match
'dog'
,SELECT * FROM mytable WHERE MATCH (REPLACE(mycol,'hot dog','')) AGAINST ('dog');
MATCH
,MATCH
SELECT * FROM mytable WHERE REPLACE(mycol,'hot dog','') like '%dog%';
,SELECT * FROM mytable WHERE REPLACE(mycol,'hot dog','') regexp '[[:<:]]dog[[:>:]]'
'dog'
,Object.assign(Thing.prototype, {
hello(arg1, arg2) {
// magic goes here
}
});
类似的东西:
Thing.prototype.hello = function (arg1, arg2) {
// magic goes here
};
刚刚尝试过,users
似乎工作方式不同。它需要在目标列上存在全文索引,并且只能将它们命名为<?php
//1
$router->add('/users',array(
'module' =>'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action' => 'index'
));
//2
$router->add('/users/:params/',array(
'module' => 'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action' => 'index',
'params'=>1
));
//3
$router->add('/users/:action',array(
'module' => 'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action'=>1
));
//4
$router->add('/users/:action/:params',array(
'module' => 'users',
'namespace'=>'Backend\users\Controllers\\',
'controller'=>'index',
'action'=>1,
'params'=>2
));
?>
函数的参数。因此:我的方法不起作用。但是呢?
http://www.example.com/admin/users/
好的,那么也许这会有所帮助
http://www.example.com/admin/users/2
仅查找http://www.example.com/admin/users/search/1
是单独单词的情况?