代码之家  ›  专栏  ›  技术社区  ›  Matt Evans

弹性搜索完成建议器与嵌套中的iBolQuery相结合

  •  0
  • Matt Evans  · 技术社区  · 6 年前

    在调用完成建议程序之前,我尝试根据某些排除项筛选文档。

     var response = Client.Search<Suggestion>(s => s  
              .Query(q => q.Bool(MustNot(m => m.SpanTerm(st => st.Field("foo").Value("bar"))))     
              .Suggest(su => su
                    .Completion("title", cs => cs
                        .Field(f => f.TitleSuggest)
                        .Prefix(searchText)                        .
                        )
                        .Size(10)
                    )
                )
    
            );
    

    但这似乎行不通。返回相同的结果集。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Matt Evans    6 年前

    在进一步阅读之后,使用标准bool运算符似乎不可能做到这一点。上下文建议是解决方案,但这不支持例如mustnot修饰符

    https://www.elastic.co/guide/en/elasticsearch/reference/current/suggester-context.html

    推荐文章