0

我正在调查 solr 的自动建议行为,但我想完成以下操作:

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

例如

文本字段:[操作]

建议:

[网站] Opodo

###

[框架] OpenLayers

另一种解决方案是,定义另一个查询以包含所有建议,将它们分组,然后将视图提供给客户。但是,如果没有必要,最好不要被迫多次查询 solr。

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

提前致谢。

4

1 回答 1

0

如果您想在结果中显示更多元数据,您需要查询结果而不是自动建议。
如果你只想要自动完成,你可以检查EdgeNGramFilter

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

例如 Opodo 与 generate -> op, opo, opod, opodo ....

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

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

于 2013-06-14T04:25:32.590 回答