Solr autosuggest依赖于facet

时间:2013-06-13 14:15:04

标签: solr autosuggest

我正在调查solr的autosuggest行为,但我想完成以下任务:

用户输入某事。在,autosuggest应提供“分组”信息 - 包括索引数据。例如,键入“Op”可以表示“OpenLayers”和“Opodo”,它们都是索引的一部分,但在“类型”方面是不同的。结果,我不想仅仅向客户提出这个词,而是为所有可能的建议词提供元信息,按“类型”分组。

E.g。

文本字段: [Op]

建议:

[网站] Opodo

###

[框架] 的OpenLayers

另一个解决方案是,定义另一个查询来解决所有建议,对这些建议进行分组,然后将视图传递给客户端。但是,如果没有必要,不要强迫多次查询solr会很棒。

我也很想知道,如果不是通过xx *查询用户输入而是建议单词,解释这些并传递视图可能是获得我想要的正确方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果要显示结果的更多元数据,则需要查询结果而不是autosuggest 如果您只想要自动填充,则可以查看EdgeNGramFilter

<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="30"/>将生成ngram标记,这些标记位于不同的位置。

e.g。 Opodo with generate - &gt; op,opo,opod,opodo ....

此字段可以通过查询字段用于自动完成 您可以将其他元数据包含在结果中,并将它们分组到客户端。

通配符会很昂贵,因为它是查询时间。此外,不对通配符查询执行任何分析。