在Elasticsearch中使用元数据

时间:2016-09-18 02:43:06

标签: database elasticsearch

Elasticsearch可以利用元数据来改善查询吗?例如,

  • 对象的受欢迎程度(请求它的人数)
  • 记住上一个搜索词(例如,如果有人搜索了doggg然后选择了狗页,那么下次有人搜索doggg时,狗应该在查询结果中排名更高)

如果不可能,可以使用哪些其他工具来实现这一目标?

1 个答案:

答案 0 :(得分:0)

这种元数据可用于正反馈系统以改善搜索,但Elasticsearch本身并不存储此类数据;你需要建立一个系统来做到这一点。举几个例子:

  

对象的受欢迎程度(请求它的人数)

这可以通过将受欢迎度值索引到文档中的字段并使用带有function score queryfield value factor function来计算相关性得分来考虑受欢迎程度来实现。

  

记住以前的搜索词(例如,如果有人搜索了doggg然后选择了狗页,那么下次有人搜索doggg时,狗应该在查询结果中排名更高)

您可以索引给定用户的搜索字词以及所选的实际字词,并将其用作您为用户执行的搜索的输入。您可以利用terms suggester根据文档语料库中的可用术语为输入术语提供建议。术语建议器可用于提供由可用术语指导的拼写更正。