Php to JavaScript:制作一个"字符串统计信息"一个字符串

时间:2015-06-14 08:31:26

标签: javascript php node.js string

我拥有超过8百万条记录,其中包含一列#34;名称"我必须找到一种优化搜索select * from ... like '%string%'的方法。

问题是你无法使用和索引。所以我的想法是做一个"统计"字符串如:

[char][number of chars][char][number of chars][char][number of chars]...

其中char是字符串中的字符,然后是字符串中的字符数。

我们可以有这样的字符串:

name='Electroperro'
result='E01c01e02l01o02p01r03t01'
nom='Tanataka'
result='T01a04k01n01t01'

嗯,你明白了。我在Php中做过这样的话:

function string_stat($tab) {
    $ret="";
    foreach ($tab as $key=>$c) {
        $ret.=sprintf("%s%02d", $key, $c);
    }
    return $ret;
}
echo 'nom='.var_export($nom,true)."\n";
$stat=array();
for ($i=0; $i<mb_strlen($nom); $i++) {
    $c=mb_substr($nom, $i, 1);
    if (!isset($stat[$c])) {
        $stat[$c]=0;
    }
    $stat[$c]++;
}
echo string_stat($stat)."\n";

我希望在JavaScript中使用与Mongoose完全相同的NodeJS原则。你会怎么做?

1 个答案:

答案 0 :(得分:0)

我认为在这种情况下,您必须使用一些特殊的搜索引擎,例如Sphinxelasticsearch。它将立即进行搜索,因为它是专门为此开发的。我认为在MySQL(或其他数据库)中做这件事并不是好办法。