定义完成的重量,建议在Elasticsearch-DSL中进行字段



使用弹性搜索5.2.x和plasticseach-dsl在我的django应用中创建批量索引,我试图实现一个完整的建议,例如:

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)

现在,我需要为建议的field-name_suggest定义一些权重,以便在查询期间对这些建议进行评分,但是我无法弄清楚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中进行的权重。

谢谢。

对于他人的参考,以下是用权重索引的工作方法:

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

在上面,得分将根据权重提高。

相关内容

  • 没有找到相关文章

最新更新