为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以在弹性搜索索引上使用 AJAX 和 PHP 实现实时搜索

是否可以在弹性搜索索引上使用 AJAX 和 PHP 实现实时搜索

PHP
慕雪6442864 2022-10-28 15:09:13
我正在尝试使用 PHP 和 AJAX 制作一个 Web 应用程序。它应该从 Elasticsearch 检索数据而不刷新页面(实时搜索)。是否可以在弹性搜索索引上实现这种检索?为此,我制作了这两个文件:index2.php<?php    session_start();?><html> <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>Ajax-Trials</title>  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> </head> <body>  <div class="container">   <br />   <h2 align="center">Ajax Live Data Search using Jquery, PHP, Elasticsearch</h2><br />   <div class="form-group">    <div class="input-group">     <span class="input-group-addon">Search</span>     <input type="text" name="search_text" id="search_text" placeholder="Search by Customer Details" class="form-control" />    </div>   </div>   <br />   <div id="result"></div>  </div> </body></html><script>$(document).ready(function(){ load_data(); function load_data(query) {  $.ajax({   url:"fetch2.php",   method:"POST",   data:{query:query},   success:function(data)   {    $('#result').html(data);   }  }); } $('#search_text').keyup(function(){  var search = $(this).val();  if(search != '')  {   load_data(search);  }  else  {   load_data();  } });});</script>
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

您的 JSON 格式显示返回的数据是一个对象。要访问对象值代码如下:


foreach($results as $r)

{

 $output .= '

 <tr>

<td>'.$r->_id.'</td>

<td>'.$r->_source->name.'</td>

<td>'.$r->_source->countrycode.'</td>

<td>'.$r->_source->district.'</td>

<td>'.$r->_source->population.'</td>

</tr>

';

}

如您所见,我使用 -> (Object) 而不是 [] (array)


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 58 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信