使用ElasticSearch或Neo4j返回与用户优先相关的搜索结果列表



我试图选择一个数据库/搜索引擎返回一个结果列表,其中显示了用户首先与之有关系的任何结果,然后是其他人。类似于Facebook的工作方式,你搜索一个企业名称,你喜欢的一个出现在前面,然后是其他的?

我已经看到了这个问题,这是类似于我需要的,但我相信它只显示的结果为用户:如何使用ElasticSearch实现社会搜索?

这是否可能与ElasticSearch, Neo4j或其他任何东西?

Elasticsearch当然可以做到这一点。

结果是根据分数从Elasticsearch返回的,这基本上意味着匹配越好分数越大。

您可以使用"bool"查询将查询指定为"必须",然后将用户匹配指定为"应该"。你可以选择在should查询中添加一个"boost",这样在匹配时得分最高。

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html

最新更新