ElasticSearch / Lucene查询严格匹配的子字段

时间:2018-10-30 03:45:23

标签: elasticsearch lucene

说我有一个歌曲的弹性搜索索引,并且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字段。

0 个答案:

没有答案