Good afternoon Solr community,

I have a situation where I require the following solr features.

1.       Highlighting must be available for the matched search results

2.       After a user performs a regular solr search (/select, rows=10) I 
require a drill down which has the potential to export a large number of 
results (1000s +).


Here is how I’ve approached each of the two problems above


1.Highlighting must be available for the matched search results

My implementation is in pattern with the recommend approach.  A stored=false 
indexed=true copy field with the individual fields to highlight analysed, 
stored=true, indexed=false.

<field name="First_Names" type="text_general" indexed="false" stored="true" 
multiValued="true"/>

<field name="Last_Names" type="text_general" indexed="false" stored="true" 
multiValued="true"/>

<copyField source=" First_Names " dest=”Full_Names"/>

<copyField source=" Last_Names " dest="Full_Names"/>

<field name="Full_Names" type="text_general" indexed="true" stored="false" 
multiValued="true"/>


2.After a user performs a regular solr search (/select, rows=10) I require a 
drill down which has the potential to export a large number of results (1000s+ 
with no searching required over the fields)


>From all the documentation the recommended approach for returning large result 
>sets is using the /export request handler.  As none of my fields qualify for 
>using then /export handler (i.e. docValues=true) is my only option to have 
>additional duplicated fields mapped as strings so they can be used in the 
>export process?

i.e. using my example above now managed-schema now becomes

<field name="First_Names" type="text_general" indexed="false" stored="true" 
multiValued="true"/>

<field name="Last_Names" type="text_general" indexed="false" stored="true" 
multiValued="true"/>

<copyField source=" First_Names " dest=”Full_Names"/>

<copyField source=" Last_Names " dest="Full_Names"/>

<field name="Full_Names" type="text_general" indexed="true" stored="false" 
multiValued="true"/>


<copyField source=" First_Names " dest=”First_Names_Str"/>

<copyField source=" Last_Names " dest="Last_Names_Str"/>

<field name="First_Names_Str" type="string" indexed="false" stored="true" 
multiValued="true"/>

<field name="Last_Names_Str" type="string" indexed="false" stored="true" 
multiValued="true"/>


If I did not require highlighting I could change the initial mapped fields 
(First_Names, Last_Names) from type=text_general to type=string and save the 
additional storage in the index but in my current situation I can’t see a way 
around having to duplicate all the fields required for the /export handler as 
strings. Is this how people typically handle this problem or am I completely 
off the mark with my design?


Any advice would be greatly appreciated,


Thanks


Dwane

Reply via email to