Elasticsearch查询流行度的任何方法?

时间:2013-02-19 17:17:17

标签: elasticsearch elastica

我是Elasticsearch的新手并提出搜索建议来搜索视频,现在使用以下查询(我使用Elastica Library,因此它只是一个打印的数组)

[query] => Array
    (
        [query_string] => Array
            (
                [query] => Mac Os
                [default_field] => title
            )

    )


[fields] => Array
    (
        [0] => title
        [1] => videoid
    )

[from] => 0
[size] => 5

这给了我一些安静的相关结果“Mac OSx”“Mac OS Lion”等。 我的问题是,我如何为索引值添加我自己的评分或评分..如果有人搜索“Mac OS Lion”,我可以将其受欢迎程度提高1,这样它下次应该会上升还是有更好的替代?

P.S我也是ElasticSearch Terms的新手,也许是我无法找到解决方案的原因。

1 个答案:

答案 0 :(得分:1)

ElasticSearch提供了多种机制来提高文档或术语的得分,例如:

一般的想法是,您可以根据字段的值来提高文档的分数。在您的情况下,您可能希望有一个“流行度”字段,该字段已更新并用于提升文档的值。这取决于您在内部如何实现代码。

This tutorial shows how to implement "Featured Results",这是一个类似的概念。他们使用Constant Score query