我目前正在开发基于 solr 的搜索应用程序。
例如,我有两个多值字段:数据是从数据库中读取的。
<int name="id">1</int>
<arr name="type">
<str>Marke</str>
<str>Modell</str>
<str>Fahrzeugtyp</str>
<str>engine</str>
</arr>
<arr name="value">
<str>Volkswagen</str>
<str>Golf</str>
<str>Golf TDI</str>
<str>V-Engine</str>
在我当前的 solr 配置中,这两个多值字段之间没有关系。所以我可以说“Marke = Volkswagen”。
此外,大众汽车和高尔夫之间必须有关系。所以我必须从两个多值字段和多值字段本身的值中构建一个分类法。
我试图构建一个typeAhead。在我当前的配置中,当我搜索 Volkswagen 时 - 可能的建议包含 audi 和 engine2,它们不涉及 Volkswagen 模型。solr url:
http://xyz:8983/solr/suggest?&wt=json&facet=true&q= *&facet.field=value&facet.prefix=Volkswagen
我认为Solr Faceting on Multiple Concatenated Fields与它有关,但我可以' t根据我的问题调整它。
谢谢回复
也许我可以使用 TemplateTransformer 来组合值和类型?
使用 TemplateTransformer 我得到一个结果: Marke | 大众汽车
在我的 data-import.xml (DIH)
<entity> name="tablename" transformer="TemplateTransformer">
<field column="test" template="${tablename.TYPE} | tablename.VALUE}"/>
...
</entity>