我使用的是solr
条款组件,效果很好。
但是,现在我需要另一个字段的术语组件过滤器。我想保留术语组件,因为它可以以不区分大小写的方式搜索,使用正则表达式可以搜索单词/短语中的单词(不必是前缀),术语组件结果很容易解析并返回我的确切信息想要自动完成,但我想过滤一个额外的字段。
有没有办法实现或扩展此组件功能?我不想使用solr
facet,因为它只搜索前缀,并且不会以不区分大小写的方式搜索中间的单词(或者我错了?)。
如果你们有另外一个解决方案,请告诉我,但基本上我想要:
Field = "Hello World"
。查询"wor"
应返回示例字段。答案 0 :(得分:0)
很抱歉,似乎无法过滤术语组件。正如documentation
中提到的那样从某种意义上说,这个组件提供了整个索引的快速字段分面(不受基本查询或任何过滤器的限制)
你应该采取另一种策略
最后,让我们假设你已经索引了以下单词&短语:
现在,使用以下qf进行edismax搜索: keyword_ngram ^ 1 phrase_ngram ^ 2
这意味着确切的词组匹配将比关键词匹配更好。
我们假设你搜索?q=brow
,结果应该是:
但是如果你搜索?q=brown f
,结果应该是:
最后,在您需要的字段上应用简单的query filter ...
最后,一个优秀的concept of solr autocompletion。效果很好,可以过滤。