首页 文章

NEST如何使用注释设置完成建议上下文[复制]

提问于
浏览
0

这个问题在这里已有答案:

我试图在我的POJO类上为我的完成建议属性设置上下文,但是,大多数在线文档都是基于配置设置 . 任何想法我如何实现这一点?

[Completion]
 public CompletionField Suggest { get; set; }

1 回答

  • 0

    索引:

    [Completion(Name = "FieldNameSuggest")]
        public CompletionField Suggest
        {
            get
            {
                List<string> data = new List<string>();
                data.AddRange(new List<string>() {"word1",word2"word3",... });//for suggest
                return new CompletionField()
                {
                    Input = data,
                    Weight = 1
                };
            }
        }
    

    获得建议:

    查询制作:

    var sugContainer = new SuggestContainer
                {
                    { "completion-suggest", new SuggestBucket
                        {
                            Prefix ="word",//text for search
                            Completion = new CompletionSuggester
                            {
                                //Fuzzy = new FuzzySuggester
                                //{
                                //    Fuzziness = Fuzziness.Auto,
                                //    MinLength = 1,
                                //    PrefixLength = 2,
                                //    Transpositions = true,
                                //    UnicodeAware = false
                                //},
                                Analyzer = "simple",
                                Field =new Field("FieldNameSuggest"),
                                Size =10, //SuggestionCount
                                SkipDuplicates=true,
                            }
                        }
                    }
                };
    

    最终用于搜索:

    var Result = Client.Search<T>(new SearchRequest<T>
                {
                    Suggest = sugContainer ,
                    ...
                });
    

相关问题