小编Dav*_*odo的帖子

Elasticsearch搜索的结果多种多样

我使用流行度完成了一个复杂的查询,以使用Elasticsearch改进社交媒体文档的结果.查询工作得非常好,最重要的结果始终集中在查询和有趣的元素上.

但是它有一个问题,对于某些查询,第一个结果都来自同一个用户.

如果在更高的文档上检索到相同的用户,我想缩减文档.这样我希望结果更加多样化.

请注意,我不希望它们被删除,因为在某些情况下,查找同一用户的更多文档可能仍然很有趣,但我希望它们处于较低的位置.

任何人都可以建议一种方法来使它工作吗?


正如一些评论中所建议的,我更新了我的查询(简化版):

query = {"function_score": {
  "functions": [
    {"gauss": {"createdAt":
        {"origin": "now", "scale": "30d", "offset": "7d", "decay" :0.9 } 
    }},
    {"gauss": {"shares.last.twitter_retweets_log":
        {"origin": 4.52, "scale": 2.61, "decay" : 0.9} 
    }},
  ],
  "query": {"bool":{"must":[
    {"exists":{"field": "images"}},
    {"multi_match":{"query": "foo boo", fields:["text", "link.title"]}}
  ]}},
  "score_mode": "multiply"
}};
Run Code Online (Sandbox Code Playgroud)

PS:一些可能有趣的文件,因为他们谈论多样性,但我不知道如何申请:

lucene search-engine elasticsearch elasticsearch-aggregation

14
推荐指数
1
解决办法
780
查看次数

iPython notebook 避免在函数内打印

我想阻止在 iPython 笔记本中打印的函数。

在标准 python 中,可以防止打印问题中回答的某些代码行:To prevent a function from print in the batch console in Python然而,此方法在 iPython notebook 中不起作用,在重新启动内核之前丢失输出。

我发现的最相似的功能是使用魔术函数避免显示完整的单元格:

%%capture capt
Run Code Online (Sandbox Code Playgroud)

然而,这个神奇的函数会阻塞整个单元格,在 iPython notebook 中有什么方法可以避免只打印代码中的一些行吗?

python ipython ipython-notebook

4
推荐指数
1
解决办法
2043
查看次数