1
我有彈性搜索索引,其中包含兩個字段:'artist'和'track'。我如何管理像「深紫色煙霧」那樣的查詢,其中「深紫色」將成爲藝術家領域,而「煙霧」則是賽場的開端? 我試圖做這樣的:在ElasticSearch的兩個字段中搜索部分文本
self.es.search(MultiMatchQuery(fields=['artist', 'name'], text='deep purple smoke', type='phrase_prefix'), 'mus', 'tracks')
但是,我認爲,ES試圖找到全文「深紫紅色煙霧」在藝術家和name字段,而不是搜索的藝術家和name字段的每個字,並返回將包含最高結果的文檔。