ojo*_*lva 2 perl search standards full-text-search cpan
我想转换样式的查询字符串:
my $query = q{recipe "with sauce" +eggs -pastrami};
Run Code Online (Sandbox Code Playgroud)
进入一个程序化的SQL :: Abstract查询,用于DBIx :: Class.
$where = { -and=>[
'ingredients' =>[ { -like=>'%recipe%' }, { -like=>'%with sauce%' } ],
'ingredients' =>{ -like=>'%eggs%' },
-not => { 'ingredients => { -like => '%pastrami%' } }
]};
Run Code Online (Sandbox Code Playgroud)
上面的表示只是近似的.它是由耳朵编写的,未经测试,绝不是语法上的,也不是概念上正确的.
我正在寻找的是关于这个主题的一些现有技术,基本的东西.或许是CPAN模块,或者可以转换为CPAN模块的C库.这样的事情有标准吗?
KinoSearch中的基本查询解析器就是这样做的(虽然连接部分的默认查询布尔值是OR,但它可以设置为AND).您可以通过几种方法来实现词干分析,令牌类型和通配符,但不能内置.它有一个学习曲线,文档有点薄,但我强烈推荐这个包.除了做得好和速度非常快之外,作者对反馈,问题和错误报告都非常敏感.