如何使用 ES 的 percolator 功能将传入文档与我的查询匹配?我的查询是“最大赢家”
我正在使用 ES v6 和相同版本的 NEST lib。
这是我的课
public class PercolatedQuery
{
public string Subject { get; set; }
public string Body { get; set; }
public string URL { get; set; }
public DateTime? Date { get; set; }
public QueryContainer Query { get; set; }
}
这是我的设置
Uri node = new Uri("http://localhost:9200/");
this.Settings = new ConnectionSettings(node)
.DisableDirectStreaming()
.DefaultIndex("mytestIndex");
this.Client = new ElasticClient(this.Settings);
if (!this.Client.IndexExists("mytestIndex").Exists)
{
this.Client.CreateIndex("mytestIndex", c => c
.Settings(s => s
.NumberOfShards(1)
.NumberOfReplicas(0)
)
.Mappings(m => m
.Map<PercolatedQuery>(mm => mm
.AutoMap()
.Properties(p => p
// map the query field as a percolator type
.Percolator(pp => pp
.Name(n => n.Query)
)
)
)
)
);
this.Client.Alias(a => a
.Add(add => add
.Index("mytestIndex")
.Alias("testAlias")
));
}