列表项是Elasticsearch搜索结果中的一些索引

时间:2016-12-24 23:41:44

标签: elasticsearch

我正在抓取几个网站并重新展示他们的产品,每个网站在Elasticsearch中都有自己的索引。有些网站有联盟计划,我想在搜索结果中首先列出这些计划。

我有办法提升"提升"某个指数的结果?

当我在抓取时,我应该在ES中写一个字段hasAffiliate: true,然后在具有该值的情况下boosting the query clauses写一个字段$(document).ready(function{ function loadPaging_content(offset_data){ var offset;//default value page button if(offset_data){ offset = offset_data; }else{ offset = 0; } var items = 10;//example $('your LoadPage selector(In this div load Page)').xhrPagination({ sel: 'selector',//In this div created paging Links totalCount: 'selector OR Number', items: items }, { url:'//your URL', dataLP:{offset: offset, items:items} } ); } }); 吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

使用boost可能很难保证它们首先出现在搜索中。根据官方指南:

  

实际上,没有简单的公式来决定“正确”   提升特定查询子句的值。这是一个问题   尝试它和观望。请记住,提升只是其中一个因素   参与相关性分数

https://www.elastic.co/guide/en/elasticsearch/guide/current/query-time-boosting.html

这取决于您正在进行的查询类型,但此处您还有其他几种选择:

  • 带有权重的score function可能是更可预测的选项。

  • 只需使用hasAffiliate byte(最简单的一个)。 注意:不确定是否可以按布尔字段排序,在这种情况下,您可以将hasAffiliate映射设置为整数1(最小的一个),当为真时将其设置为text