【发布时间】:2016-06-29 19:04:59
【问题描述】:
我试图在弹性搜索中显示与文章标题或正文部分匹配的所有文档,我在 php 中编写了以下代码
if(!empty($_GET))
{
$bodysearch=$_GET['bodysearch'];
$titlesearch=$_GET['titlesearch'];
$params = [
'index' => 'pages',
'type' => 'page',
'body' => [
'query' => [
'bool'=>[
'should'=>[
'match'=>['title'=>$titlesearch],
'match'=>['body'=>$bodysearch]
]
]
]
]
];
$result = $client->search($params)
}
并写下如下显示结果
foreach($result['hits']['hits'] as $hit)
{
$sources=$hit['_source'];
echo '<a href="javascript:;" style="display:block;">'.$sources['title'].'</a>';
echo substr($sources['body'], 0,100).'....';
}
它仅显示其内容与$bodysearch 中提供的正文部分匹配的列表文档,但我想获取将$titlesearch 与标题匹配或将$bodysearch 与正文内容匹配或两者都匹配的文档列表,我应该怎么做这样做。
【问题讨论】:
标签: php elasticsearch