How to return column that matched the query in Sol

2019-01-26 23:59发布

I am using apache Solr for searching my database..!!

Suppose i have indexed 4 columns from one of my table..!!..I just want that only those columns that contains my query term are returned in response..!!..is that possible..??

For example :

I have a table cars with columns : name, displayName, description, extra ..!!

Now i make a query , something like :

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

Now some in some rows only name may contain the word "maruti"

So, In return, i want only name (along with some other fixed fields like ID) ..

Similarly, If description contains this word, then only description should be returned..and not other columns..!!

How can i acheive this..??

标签: database solr
1条回答
走好不送
2楼-- · 2019-01-27 00:16

You may be able to do this with Solr 4 and a custom transformer - my reading of the documentation would seem to indicate as much. But it would be quite a bit of work, I think. Ultimately you may have to write a front-end filter, but that would be difficult with complex queries.

Update: Here's how to do this in Solr without custom transformers, etc. Enable highlighting for all four columns:

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

Solr will return a "highlighting" structure containing the key and the field(s) that match the query. You will also get highlighted snippets, whether you use them is up to you. See here for additional params: http://wiki.apache.org/solr/HighlightingParameters

查看更多
登录 后发表回答