잘 작동하는 제안 사항을 제공해야하지만 문서의 다른 입력란을 통해 제안 사항을 필터링해야합니다.필터가있는 탄성 견적 제안
달성이 가능합니까? 내가 알아 낸 한, 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())));
행운이 있나요? – Val
나는 두렵습니다. 지금은 전혀 제안을 얻지 못하고 있습니다. –
매핑하려는 내용을 [컨텍스트 지정] (https://www.elastic.co/guide/en/elasticsearch/reference/current/suggester-context.html#suggester-context-category)으로 변경 했습니까? 귀하의 검색어에 계정이 있습니까? – Val