我一直在寻找我的问题的好地方,但我找不到任何...... 我正在使用ElasticSearch和Laravel。我在另一个项目上使用过ElasticSearch但从未使用过建议。我正在学习本教程,因为我认为它为使用Laravel和ElasticSearch提供了一个很好的起点:https://blog.madewithlove.be/post/how-to-integrate-your-laravel-app-with-elasticsearch/
我的问题是建议;我希望我的搜索能够像你在Spotify上找到的一样搜索你的类型。我希望我的用户在搜索框中输入几个字母,并将结果分为多个类别:博客,作者,标签。
如果我将数据索引到一个索引中,作者和标签是博客的嵌套对象,我可以使用博客名称的完成建议器轻松获取建议,但不能嵌套对象。我还可以将每个模型和索引数据分别拆分为不同的索引,但这意味着我必须进行3次查询才能得到我的结果。
我做错了吗?我应该以不同方式构建数据吗?是进行3次查询还是有办法从不同的索引中获得单个查询输出搜索结果?
谢谢!
济
答案 0 :(得分:1)
我在构建搜索类型时所做的一些事情是我使用单独的索引来获取建议。在您的情况下,您可以在一个字段中索引名称(标题,作者,等等),在另一个字段中索引类型。然后,您可以搜索一个字段并显示分组结果。
这里的优点是速度。这可能比尝试对嵌套数据做一个建议更快。 (你可以这样做,但我不确定如何。)速度对于这类功能非常重要。