【问题标题】:A CPAN module to parse google-style search query terms?解析谷歌风格的搜索查询词的 CPAN 模块?
【发布时间】:2023-04-03 23:39:01
【问题描述】:

我想转一个查询字符串的样式:

my $query = q{recipe "with sauce" +eggs -pastrami};

进入一个程序化的SQL::Abstract 查询,用于DBIx::Class

$where = { -and=>[ 
     'ingredients' =>[ { -like=>'%recipe%' }, { -like=>'%with sauce%' } ],
     'ingredients' =>{ -like=>'%eggs%' },
     -not => { 'ingredients => { -like => '%pastrami%' } }
]}; 

上述表示只是近似值。它是用耳朵写的,未经测试,在语法和概念上都不是正确的。

我正在寻找的是有关该主题的一些现有技术,基本的东西。可能是 CPAN 模块,或者可以转换为 CPAN 模块的 C 库。这样的事情有标准吗?

【问题讨论】:

    标签: perl search full-text-search standards cpan


    【解决方案1】:

    KinoSearch 中的基本查询解析器正是这样做的(尽管连接部件的默认查询布尔值是 OR,但它可以设置为 AND)。您有几种方法可以处理词干、标记类型和通配符,但不是内置的。它有一个学习曲线,文档有点薄,但我强烈推荐这个包。除了做得很好而且速度极快之外,作者对反馈、问题和错误报告的反应非常迅速。

    【讨论】:

    • 这太好了,谢谢。 KinoSearch 真的很强大。我发现了一个很好的用法说明in one of it's tests。现在我只需要弄清楚如何将其转换为 SQL::Abstract 查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多