如何返回与Solr中的查询匹配的列?

时间:2012-03-09 05:00:27

标签: database solr

我正在使用apache Solr搜索我的数据库.. !!

假设我已经从我的一个表中索引了4列.. !! ..我只是希望只返回那些包含我的查询词 的 列.. !! ..是可能的.. ??

例如:

我的表格汽车包含以下列: name,displayName,description,extra .. !!

现在我进行查询,例如:

localhost:8983/solr/select?q=maruti&wt=json

现在某些行只有 名称 可能包含单词“ maruti

所以,作为回报,我只想要名称(以及其他一些固定字段,例如 ID )..

同样,如果 description 包含此字词,则只返回 description ...而不是其他列.. !!

我怎么能实现这个...... ??

1 个答案:

答案 0 :(得分:5)

您可以使用Solr 4和自定义变换器执行此操作 - 我对文档的阅读似乎表明了这一点。但我认为这将是一项相当多的工作。最终,您可能必须编写前端过滤器,但对于复杂查询而言,这将很困难。

<强>更新: 以下是在没有自定义变换器等的情况下在Solr中执行此操作的方法。为所有四列启用突出显示:

hl=on&hl.fl=name,displayName,description,extra

Solr将返回一个“突出显示”结构,其中包含与查询匹配的键和字段。您还将获得突出显示的片段,无论您使用它们都取决于您。请参阅此处了解更多参数:http://wiki.apache.org/solr/HighlightingParameters