【发布时间】:2016-07-27 20:06:25
【问题描述】:
我需要提供可以正常工作的建议,但我还需要按文档中的另一个字段过滤建议。
这有可能实现吗?只要我想通了,Elasticsearch 是做不到的。有什么替代的想法吗?
public async Task<ISuggestResponse> Suggest(string index, string projectId, string field, string text)
{
var suggestResponse = await _client.SuggestAsync<TDocument>(s => s
.Index(index)
.Completion("suggest", c => c
.Text(text)
.Context(con => con.Add("projectId", projectId))
.Field(field)
.Size(20)
)
);
return suggestResponse;
}
-----------更新--------
ElasticsearchConfig.cs
client.Map<Component>(d => d
.Properties(props => props
.String(s => s
.Name("name"))
.Completion(c => c
.Name("componentSuggestion")
.Analyzer("simple")
.SearchAnalyzer("simple")
.Context(context => context
.Category("projectId", cat => cat
.Field(field => field.ProjectId)))
.Payloads()))
.Properties(props => props.String(s => s.Name("id").NotAnalyzed()))
.Properties(props => props.String(s => s.Name("projectId").NotAnalyzed())));
【问题讨论】:
标签: c# elasticsearch nest