在elasticsearch-dsl

时间:2019-05-08 10:01:12

标签: django python-3.x elasticsearch elasticsearch-5 elasticsearch-dsl

在我的Django应用程序中使用Elastic Search 5.2.x和elasticseach-dsl进行批量索引创建,我试图实现一个完成建议字段,如下所示:

def indexing(self):
       obj = SchoolIndex(
          meta = {'id': self.pk},
          name = self.name,
          name_suggest = self.name
       )
       obj.save(index="school_index")
       return obj.to_dict(include_meta=True)

现在,我需要为建议字段名建议定义一些权重,以便在查询过程中对建议进行评分,但是我无法弄清楚elasticsearch-dsl特定的语法来在上面的函数中执行相同的操作。 / p>

我尝试这样做,但是没用:

name_suggest = {'input':self.name,'weight':100}

本质上,我正在尝试在Django中实现文档所显示的内容: https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-suggesters-completion.html#indexing

我是Elastisearch的新手,请告知我是否在代码中的正确位置分配权重以及在Django中分配权重的语法。

谢谢。

1 个答案:

答案 0 :(得分:0)

供他人参考,以下是权重索引的一种工作方法:

asks

使用上述方法,得分将根据权重而提高。