弹出搜索字段和查询中字段中的单词

时间:2016-04-18 15:21:36

标签: c# elasticsearch nest

我正在尝试实现以下方案......

在我的弹性搜索索引中,如果查询包含此字段中的特定单词,我将希望成为数字1结果的一些特定记录。这个字段是公司名称,所以例如,如果有人将'福特'放入搜索中,公司名称字段将比其他所有字段都有所提升,因此这是最高得分.....这对我来说似乎对单词有用。 ..福特,日产等...

然而......如果查询是'福特汽车销售',那么其他页面的排名高于我想要的页面,因为当然很多页面都包含所有这些术语(搜索运算符是AND)...但是在那里无论在查询中有多少单词或在其他地方找到单词,都可以通过在公司名称字段中提升单词来对页面进行排名的方法.......

最后我可以以某种方式设置公司名称的变体到该领域的那个以提升这些结果...所以名称是法兰克莱斯勒,设置用户可以搜索的其他变体,例如'法兰克莱斯勒'连字符....

感谢您的帮助......

1 个答案:

答案 0 :(得分:0)

在使用“字段”指定要搜索的字段时,在查询中,使用^将“提升”添加到“公司名称”字段。

示例:

{
    "fields": ["company_name^10","other_field_a", "other_field_b"],
    "query" : {
        "term" : { "company_name" : "ford" }
    }
}