ElasticSearch Java 日期提升
ElasticSearch Java Boost on Date
我目前正在提升 url、标题和描述如下:
QueryBuilder qb = QueryBuilders.multiMatchQuery(term,"title", "description","url").field("title", 1.75f).field("url", 1.55f).field("description", 1.35f);
我想对最近创建的文档进一步添加提升(我有一个映射为日期的 postDate 字段)。
我找到了这个 SO Post pointing to a legacy ES Doc which refers to gaussian decay. However, I cannot seem to find this in the current Java Api doc。
我如何为最近创建的 (postDate) 文档增加我的 QueryBuilder?
你应该看看功能分数查询:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html
以下代码提示您可以使用什么:
QueryBuilder qb = QueryBuilders.multiMatchQuery(term,"title", "description","url").field("title", 1.75f).field("url", 1.55f).field("description", 1.35f);
FunctionScoreQueryBuilder builder = QueryBuilders.functionScoreQuery(qb);
builder.add(ScoreFunctionBuilders.exponentialDecayFunction("postDate","14d"));
我目前正在提升 url、标题和描述如下:
QueryBuilder qb = QueryBuilders.multiMatchQuery(term,"title", "description","url").field("title", 1.75f).field("url", 1.55f).field("description", 1.35f);
我想对最近创建的文档进一步添加提升(我有一个映射为日期的 postDate 字段)。
我找到了这个 SO Post pointing to a legacy ES Doc which refers to gaussian decay. However, I cannot seem to find this in the current Java Api doc。
我如何为最近创建的 (postDate) 文档增加我的 QueryBuilder?
你应该看看功能分数查询: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html
以下代码提示您可以使用什么:
QueryBuilder qb = QueryBuilders.multiMatchQuery(term,"title", "description","url").field("title", 1.75f).field("url", 1.55f).field("description", 1.35f);
FunctionScoreQueryBuilder builder = QueryBuilders.functionScoreQuery(qb);
builder.add(ScoreFunctionBuilders.exponentialDecayFunction("postDate","14d"));