0
我有一個包含標籤數組的文檔。我需要創建一個與此標記字段相對應的建議字段(以根據標記數組中的值生成標記建議)。我使用NEST與大多數彈性搜索進行交互。但我無法更新建議屬性。用於文檔的類包含以下 文獻結構:意見字段數組
public class SuggestField
{
public IEnumerable<string> Input { get; set; }
public string Output { get; set; }
public object Payload { get; set; }
public int? Weight { get; set; }
}
public class Source{
[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string[] tags { get; set; }
public SuggestField[] tag_suggest { get; set; }
}
我添加的映射如下:
var response = client.Map<Source>(m => m
.MapFromAttributes()
.Properties(p => p
.Completion(c => c
.Name(cp => cp.tag_suggest)
.Payloads()
)));
爲了更新代碼,我使用外部腳本。我希望能夠改變這個腳本來添加對tag_suggest字段的更改。但我嘗試了以下,但它不工作。以下是我試過的腳本:
if (ctx._source.tags.indexOf(newTag) < 0) {
ctx._source.tags[ctx._source.tags.length] = newTag;
ctx._source.tag_suggest[ctx._source.tag_suggest.length] = { input :newTag }
}
是的!謝謝 :) – labyrinth