请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

联合多个es索引完成搜索建议

老师您好,我想问一下如果我想在前端传递回用户在输入框中输入的key_words后,能从es多个索引中搜索有关key_words的title并展示给用户该如何做呢? 课程中的生成model对象好像是只能对一张index进行搜索的

搜索建议
代码中的 s = ArticleType.search() 只完成了jobbole这个索引的title搜索并返回搜索建议
那如果我想要生成两个model对象,比如说我的es中还有一个cnblogs的索引,我也想对这个索引进行model的对象生成,该如何设计代码呢?

正在回答 回答被采纳积分+3

1回答

bobby 2020-04-25 16:07:02

es本身可以对多个index进行搜索,但是你需要先确保这些index的字段都能互相映射 不然你怎么显示在前端呢?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕少7338747 #1
    老师,相互映射是什么意思?  是把两个index用es提供的方法合并成一个index别名吗?  可是这个搜索建议的实例化用的是modle里面的class呀(class ArticleType(DocType)),并没有用到es里面的index
    回复 有任何疑惑可以回复我~ 2020-04-25 16:44:00
  • bobby 回复 提问者 慕少7338747 #2
    如果connection进行search的时候不指明index那么就会搜索所有的index, 但是每个index的返回字段可能不一样 你需要将这些名称不一样的字段映射成同样的字段名 这样方便在template中显示
    回复 有任何疑惑可以回复我~ 2020-04-27 18:36:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信