使用弹性搜索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)
在上面,得分将根据权重提高。