如何获取要在方面和过滤器中使用的键和值
How to get both key and value to use in in facet and filter
我有要用于过滤的构面,因为我认为构面的最常见用途是。
UI 中的筛选器是通过多 select 下拉列表。但是,构面中的文本标签很长,当 select 多个时,我最终会得到很长的字符串以用于过滤器。因此,我想对每个构面文本使用 keys/ids。但是我如何从一个方面获取键,而不仅仅是值?
--- Facet example ---
Id | Value
--------------------------------------------------------------------------
1 | This is a very long facet text with many characters, including æøå.
2 | And there are other texts, also with / and & and more æ, ø og å.
如果我在 facet 中有一个 id,从索引中检索,其中 facet 将是具有键和值的复杂类型,那么我可以在 selected 中使用它 UI 并对 id 而不是长文本进行过滤。
想法、输入?
谢谢!
不幸的是,没有 "complex" 方面的概念,这正是您所要求的。
仅分面 return 文本和表示它在源文档中出现频率的计数。
- 当您抱怨过滤器中的字符串太长时,是因为您在进行查询时 运行 变成了 request size limits? Have you considered POST vs GET 吗?
- 如果您的搜索字词基数很高(如 here 所述),您是否考虑过使用
search.in
?
Facets 通常不应具有非常长的值,因为它们的目的是为最终用户提供快速 filtering/hierarchical 导航。尽管从技术上讲,您可以使任何字段都可以分面,通常是表示全文或可能具有高基数的字段 should not be used as facets
一个可能的解决方法是在您的索引中添加另一个字段,它在您的文本字段上使用一些固定长度的散列(这应该很可能使用推送 API;我们没有该设施通过索引器);然后一旦你得到一个方面列表,你可以在客户端应用相同的散列函数(UI),然后使用生成的(可能是小的)固定长度字符串并查询该 "new" 字段.
我有要用于过滤的构面,因为我认为构面的最常见用途是。
UI 中的筛选器是通过多 select 下拉列表。但是,构面中的文本标签很长,当 select 多个时,我最终会得到很长的字符串以用于过滤器。因此,我想对每个构面文本使用 keys/ids。但是我如何从一个方面获取键,而不仅仅是值?
--- Facet example ---
Id | Value
--------------------------------------------------------------------------
1 | This is a very long facet text with many characters, including æøå.
2 | And there are other texts, also with / and & and more æ, ø og å.
如果我在 facet 中有一个 id,从索引中检索,其中 facet 将是具有键和值的复杂类型,那么我可以在 selected 中使用它 UI 并对 id 而不是长文本进行过滤。
想法、输入?
谢谢!
不幸的是,没有 "complex" 方面的概念,这正是您所要求的。 仅分面 return 文本和表示它在源文档中出现频率的计数。
- 当您抱怨过滤器中的字符串太长时,是因为您在进行查询时 运行 变成了 request size limits? Have you considered POST vs GET 吗?
- 如果您的搜索字词基数很高(如 here 所述),您是否考虑过使用
search.in
?
Facets 通常不应具有非常长的值,因为它们的目的是为最终用户提供快速 filtering/hierarchical 导航。尽管从技术上讲,您可以使任何字段都可以分面,通常是表示全文或可能具有高基数的字段 should not be used as facets
一个可能的解决方法是在您的索引中添加另一个字段,它在您的文本字段上使用一些固定长度的散列(这应该很可能使用推送 API;我们没有该设施通过索引器);然后一旦你得到一个方面列表,你可以在客户端应用相同的散列函数(UI),然后使用生成的(可能是小的)固定长度字符串并查询该 "new" 字段.