上下文
我正在为一个地方社区建立一个网站,我有一个“联系人”的列表,其中包括指定的职责。
该网站的用户应该能够搜索给定的责任,然后找到分配给该工作领域的人。
问题
与原生弹性搜索相比,应用搜索平台只提供一些非常基本的数据类型。我已决定将责任存储为逗号分隔值的列表。
“联系人”文档示例
{
"firstname": "John",
"lastname": "Doe",
"responsibilities": "Fire safety, Budgeting, Weddings"
}当我实现搜索栏时,Type正前方将显示整个字段

这显然不是一次好的经历。另一个问题是,我不能有意义地分面和过滤这些值。
我试过什么
一种可能的方法是创建多个“责任”字段,如下所示:
{
"responsibility_1": "Fire safety",
"responsibility_2": "Budgeting",
...
}但这感觉相当肮脏,要求我实现一个硬的限制,仍然不能解决眼前的问题。
我想到的其他事情是禁用responsibilities字段进行搜索。然后,我将应用基于当前查询的提升和筛选。然而,这将意味着只能搜索“责任”,而不是基于文件上的其他字段。
我如何实现这样的“标记”?,还是当我遇到这样的任务时,我运气不好,并且需要本机弹性?
我需要某种类型的“数组”字段类型,但应用程序搜索并不实现这种类型。我被绑定到应用程序搜索平台,迁移到本地弹性搜索将意味着一个相当大的时间承诺。
发布于 2021-06-19 21:04:38
您需要创建如下所示的值数组:
{
"firstname": "John",
"lastname": "Doe",
"responsibilities": ["Fire safety", "Budgeting", "Weddings"]
}如文档中所提到的,应用程序搜索中支持数组。
3. Arrays are supportedhttps://stackoverflow.com/questions/67920034
复制相似问题