0
私は弾性検索で記事のタイトルや体のいずれかのセクションに一致するすべてのドキュメントを表示しようとしましたが、私はPHPでelasticsearchでマルチフィールド検索が機能しませんでしたか?
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
を本文のコンテンツにマッチさせたり、両方にマッチングさせたいとします。