在 punycode 中搜索
Searching in punycode
我在 mongoDB
中有一些 punycodes
。我需要根据用户的母语请求搜索它们。如果用户输入了完整的地址,我可以找到它,但如果他输入了部分地址,那么我就找不到了。这不是真正的代码,但我是这样做的:
//$punycode = 'xn--tst-qla.de'; //täst.de
$query1 = 'tä';
$query2 = 'täst';
$queryPunicode1 = Heplper::punycodeEncode($query1); //xn--t-0fa
$queryPunicode2 = Heplper::punycodeEncode($query2); //xn--tst-qla.de
$condition1 = ['ref_host' => ['$regex' => queryPunicode1],];
$result1 = CwShow::findAggregateSum($condition1); // false
$condition2 = ['ref_host' => ['$regex' => queryPunicode2],];
$result2 = CwShow::findAggregateSum($condition2); // true
在 $punycode
returns false
中寻找 $query1
的任何尝试。我怎样才能在 $punycode
中找到 $query1
?
我在数据库中添加了一个新字段,它以母语存储url。在服务器端,我选择了搜索哪个字段
$query = 'tä';
$punycode = Heplper::punycodeEncode($query);
$field = Heplper::isPunycode($punycode) ? 'ref_host_native' : 'ref_host';
$condition = [$field => ['$regex' => $query],];
$result = CwShow::findAggregateSum($condition);
我在 mongoDB
中有一些 punycodes
。我需要根据用户的母语请求搜索它们。如果用户输入了完整的地址,我可以找到它,但如果他输入了部分地址,那么我就找不到了。这不是真正的代码,但我是这样做的:
//$punycode = 'xn--tst-qla.de'; //täst.de
$query1 = 'tä';
$query2 = 'täst';
$queryPunicode1 = Heplper::punycodeEncode($query1); //xn--t-0fa
$queryPunicode2 = Heplper::punycodeEncode($query2); //xn--tst-qla.de
$condition1 = ['ref_host' => ['$regex' => queryPunicode1],];
$result1 = CwShow::findAggregateSum($condition1); // false
$condition2 = ['ref_host' => ['$regex' => queryPunicode2],];
$result2 = CwShow::findAggregateSum($condition2); // true
在 $punycode
returns false
中寻找 $query1
的任何尝试。我怎样才能在 $punycode
中找到 $query1
?
我在数据库中添加了一个新字段,它以母语存储url。在服务器端,我选择了搜索哪个字段
$query = 'tä';
$punycode = Heplper::punycodeEncode($query);
$field = Heplper::isPunycode($punycode) ? 'ref_host_native' : 'ref_host';
$condition = [$field => ['$regex' => $query],];
$result = CwShow::findAggregateSum($condition);