说我有一个歌曲的弹性搜索索引,并且artist
字段可以包含多个歌手。
我想找到Michael Jacson的歌曲,所以我可能会使用这样的查询:
artist.first_name: Michael AND artist.last_name: Jackson
但是最近我发现这可能会返回如下结果:
{
title: 'Some Janet Jackson Song feat. Michael Bublé',
artist: [
{first_name: 'Michael', last_name: 'Bublé'}
{first_name: 'Janet', last_name: 'Jackson'}
]
}
请注意,我有一位姓“ Micheal”的歌手,另一位姓“ Jackson”的歌手,所以从技术上讲这首歌符合我的查询条件。
我不知道正确的词来搜索此问题。我的搜索索引的结构是否有问题?我可以制定一种避免这种情况的查询方式吗?理想情况下,我不想将这些值串联在一起的full_name
字段。