gpt4 book ai didi

search - 海布里斯 : Use same field for search and facet

转载 作者:行者123 更新时间:2023-12-01 22:22:30 24 4
gpt4 key购买 nike

我必须在 Hybris 中为 solr 搜索和 solr facet 使用字段“manufacturerName”。虽然 solr 自由文本搜索要求字段类型为文本,但 facet 仅在字符串类型中才能正常工作。

有什么方法可以将同一字段用于搜索和分面。我认为使用“copyField”有一种方法,但我搜索了很多,仍然不知道如何使用它?

非常感谢任何帮助!

PS:在保留字段类型字符串的情况下,自由文本搜索不会获取正确的结果。在保留字段类型文本时,facet 显示截断的值。

最佳答案

使用 copyField 指令是可行的方法,但这需要您定义一个替代字段 - 这意味着您有一个类型为 text 和相关标记化的字段,以及一个类型的字段string 不以任何方式处理。据我所知,Solr 无法将这些组合到一个字段中。

然后您将使用字符串字段的名称来生成构面,同时在查询时使用其他字段。

<copyField source="text_search_field" dest="string_facet_field" />

然后,当您在字段上进行过滤或分面时,您必须引用名称 string_facet_field。在用户选择一个构面后,您将希望针对构面字段进行过滤,否则您最终会得到来自其他构面的文档可能会泄漏到您的文档结果集中(例如,如果构面是“Foo Bar”,您会突然得到以“Baz Foo Bar Spam”为切面的文档,因为这两个词都出现在搜索字符串中。

关于search - 海布里斯 : Use same field for search and facet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39119364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com