我目前正在开发基于solr的搜索应用程序。Apache 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 =大众”。
除了大众汽车和高尔夫之间还有一定的关系。所以我必须从两个多值字段和多值字段本身的值中构建一个分类。
我试图建立一个typeAhead。在我当前的配置中,当我搜索大众时 - 可能的建议包含audi和engine2,它不涉及大众汽车的模型。 Solr的网址:
http://xyz:8983/solr/suggest?&wt=json&facet=true&q= * & facet.field =值& facet.prefix =大众
我觉得Solr Faceting on Multiple Concatenated Fields事做吧,但我无法调整它在我的问题。
谢谢回复
也许我可以用TemplateTransformer结合的价值和类型?
With TemplateTransformer我得到一个结果:Marke |大众
在我的数据import.xml(DIH)
<entity> name="tablename" transformer="TemplateTransformer">
<field column="test" template="${tablename.TYPE} | tablename.VALUE}"/>
...
</entity>
对格式进行了一些更改,并更正了两个可能导致人们无法理解您的问题的语法问题。 – aitchnyu 2012-03-28 13:02:40
真的不理解你的问题....请稍微详细点 – Yavar 2012-03-28 15:14:52
http://stackoverflow.com/questions/9521304/solr-faceting-on-multiple-concatenated-fields帮助你? – jpountz 2012-03-28 15:44:54