Our use case is as follow:
We are indexing free text documents. Each document contains metadata fields
(such as author, creation date...) which are kinda small, and one "big"
field that holds the document's text itself.

For ranking purpose each field is indexed in more then one "variation" and
query is executed with edismax query parser. Things are working alright, but
now a new feature is requested by the customer - highlighting.
To enable highlighting every field must be stored, including all variations
of the big text field. This pushes our storage to the limit (and probably
the document cache...) and feels a bit redundant, as the stored value is
duplicated n times... Is there any way to “reference” stored value from one
field to another?
For example:
Say we have the following config:
<dynamicField name="*_bigrams” type="bigrams” indexed="true” stored="false”
/>
<dynamicField name="*_phrases” type="phrases” indexed="true” stored="false”
/>

<field name="doc_text” type="text_general” indexed="true” stored="true” />
<copyField source="doc_text” dest="doc_text_bigrams” />
<copyField source="doc_text” dest="doc_text_phrases” />

And we execute the following query:
http://.../select?defType=edismax&q=desired_terms&qf=doc_text^2
doc_text_bigrams^3
doc_text_phrases^4&hl=on&hl.fl=doc_text,doc_text_bigrams,doc_text_phrases

Highlight fragments in response will be blank if match occurred  on the
non-stored fields (doc_text_bigrams or doc_text_phrases). Is it possible to
pass extra parameter to the highlight component, to point it to the stored
data of the “original” doc_text field? a kind of “stored value reference
field”?

Thanks in advance.



--
Sent from: https://lucene.472066.n3.nabble.com/Solr-User-f472068.html

Reply via email to