当前位置: 首页 > 面试题库 >

使用Nest Client加载Elasticsearch中的完成字段

郏博瀚
2023-03-14
问题内容

我想使用Nest将完成建议字段填充到索引中。阅读了有关实现补全字段的ElasticSearch博客文章后,我看到您可以具有以下属性:

  • 输入数组
  • 单输出
  • 重量
  • 有效载荷

我假设要将这些数据加载到索引中,我需要在包含上述字段的搜索对象上包括一个实体吗?


问题答案:

我终于可以通过创建几个类并遵循FluentMappingFullExample单元测试(特别是以下部分)来加载完成字段:

                    .Completion(s=>s
                    .Name(p=>p.Name.Suffix("completion"))
                    .IndexAnalyzer("standard")
                    .SearchAnalyzer("standard")
                    .MaxInputLength(20)
                    .Payloads()
                    .PreservePositionIncrements()
                    .PreserveSeparators()
                )

对于我的搜索类型实体,我创建了一个建议字段,并将其设置为CompletionField类型。

 public class CompletionField
{
    public CompletionField()
    {
        Input = new List<string>();
    }

    public List<string> Input { get; set; }
    //public string Output { get; set; }
    public int Weight { get; set; }
    public Payload Payload { get; set; }
}

public class Payload
{
    public int ID { get; set; }
}

使用dapper从数据库加载实体后,然后遍历结果,并在完成字段中加载所需的适当输入。然后,我能够成功调用建议API并查询该数据。我希望这可以帮助其他人。



 类似资料:
  • 我想从多个领域得到建议。我找不到这样的例子,所以也许这不是最好的主意,但我对你的意见很感兴趣。 要求是: GET查询适用于文本“fyodor”和“dostoevsky”,此示例仅适用于“fyodor” 启用筛选建议 我有什么想法可以实现这些?

  • 问题内容: 我正在尝试使用xcode中的swift创建一个webapp,这是我当前的代码: 我有一个问题,如何确定WebView中页面的完成加载? 您是否知道包含WebView的所有定义的文档?我的意思是..(开始/结束加载,当前网址,标题页等..)? (对不起我的英语不好)。 问题答案: 通过委托调用。 您需要将webViews 设置为当前控制器,并遵守协议。当webView加载完成时,将调用该

  • 问题内容: 什么是检测html加载结束的最佳方法?我想编写一些在加载完成后运行的代码。 问题答案: 有两种方法可以检测何时完成加载,具体取决于您的需要: 1)通过属性- 用于内联表达式。例如: 2)通过事件的是发射-为应用范围的处理。例如: 完成内容加载后

  • 本文向大家介绍js实现图片在未加载完成前显示加载中字样,包括了js实现图片在未加载完成前显示加载中字样的使用技巧和注意事项,需要的朋友参考一下

  • 我正在使用Glide在启动屏幕中加载GIF图像。GIF加载完成后,我想使用Intent打开下一个活动。 我尝试了以下代码, 和Glide版本:com.github.bumptech.Glide:Glide:3.7.0' 但是找不到任何帮助,请帮助解决这个问题。

  • 本文向大家介绍Android在layout xml中使用ViewStub完成动态加载问题,包括了Android在layout xml中使用ViewStub完成动态加载问题的使用技巧和注意事项,需要的朋友参考一下 一、Layout XML文件常见的两种模块加载方式   1、静态加载:被加载的模块和其它模块加载的时间一样。      2、动态加载:需要被加载的模块初始时并没有被加载进内存,在你需要加载