加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

从2.4升级到5后,Perl弹性查询中断

发布时间:2020-12-16 06:14:08 所属栏目:大数据 来源:网络整理
导读:正如标题所示,我正在升级到ES5.我原来的ES查询看起来像: my $response = $elastic-do_request_new( { query = { filtered = { filter = { or = [ { term = { _type = { value = "some_val1" } } },{ term = { _type = { value = "some_val2" } } },] },quer
正如标题所示,我正在升级到ES5.我原来的ES查询看起来像:

my $response = $elastic->do_request_new( 
        {
            query       => {
                filtered    => {
                    filter  => {
                        or  => [
                            { term  => { _type  => { value => "some_val1" } } },{ term  => { _type  => { value => "some_val2" } } },]
                    },query   => {
                        query_string    => {
                            query   => $qstring,rewrite => "scoring_boolean",analyze_wildcard => "true",}
                    }
                }
            },sort    => [ qw(_score) ],size => 50,},);

我的更新看起来像:

my $response = $elastic->do_request_new(
    {
        query       => {
            bool    => {
                should  => [
                    { term  => { _type  => { value => "some_val1" } } },],must   => {
                    query_string    => {
                        query   => $qstring,}
                }
            }
        },);

但是,在我的弹性数据库中搜索确切的字符串时,我返回零结果:

{
  "took" : 3,"timed_out" : false,"_shards" : {
    "total" : 5,"successful" : 5,"failed" : 0
  },"hits" : {
    "total" : 0,"max_score" : null,"hits" : [ ]
  }
}

关于可能发生的事情的任何想法?我的猜测是我的查询结构错了.谢谢!

解决方法

更新:以下固定查询:

my $response = $elastic->do_request_new(
    {
        query   => {
                bool    => {
                    must   => [
                        {
                            query_string => {
                                query            => $qstring,rewrite          => "scoring_boolean",}
                    ],filter => {
                        bool => {
                            should => [
                                { term => { _type => { value => "some_val1" } } },{ term => { _type => { value => "some_val2" } } },);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读