弹性搜索query_shard_exception无法执行查询

时间:2019-01-23 09:13:34

标签: elasticsearch

我要部分搜索URL,并且正在使用以下查询:

 <script>
    $(document).ready(function(){
    $('#type').change(function(){
  var type_id = $(this).val();
  if(type_id != '')
  {
   $.ajax({
    url:"<?php echo base_url(); ?>gudang/fetch_barang",
    method:"POST",
    data:{type_id:type_id},
    success:function(data)
    {
     $('#barang').html(data);
    }
   });
  }
  else
  {
   $('#barang').html('<option value="" hidden>Select State</option>');
  }
 });
</script>

我遇到以下错误:

GET test/_search
{
    "query": {
        "bool": {
            "must": [{
                "query_string": {
                    "query": "*http://localhost:8000/v3/assets/blt5ed2da305d61b2a2/blt10e8f794fa8597d0/5c481035fecde97033721922b/Screenshot_from_2018-07-30_09-53-42.png*",
                    "fields": ["url"],
                    "default_operator": "OR"
                }
            }]
        }
    }
}

您能告诉我这里有什么问题吗?我正在使用query_string搜索URL,但状态为400时出错。 请帮助我。

1 个答案:

答案 0 :(得分:0)

query string query syntax中,有一些reserved characters,即:/,您需要转义,例如:

    "query": "*http\\:\\/\\/localhost\\:8000\\/v3\\/assets\\/blt5ed2da305d61b2a2\\/blt10e8f794fa8597d0\\/5c481035fecde97033721922b\\/Screenshot_from_2018-07-30_09-53-42.png*"