Fairly certain you aren't overridding getExtraRequestFields, so when your 
DocTransformer is evaluated it can'd find the field you want it to 
transform.

By default, the ResponseWriters don't provide any fields that aren't 
explicitly requested by the user, or specified as "extra" by the 
DocTransformer.

IIUC you want the stored value of the "minhash" field to be available to 
you, but the response writer code doesn't know that -- it just knows you 
want "minhash" to be the output respons key for the "[binstr]" 
transformer.


Take a look at RawValueTransformerFactory as an example to borrow from.




: Date: Wed, 14 Dec 2016 21:55:26 +0000
: From: Markus Jelsma <markus.jel...@openindex.io>
: Reply-To: solr-user@lucene.apache.org
: To: solr-user <solr-user@lucene.apache.org>
: Subject: DocTransformer not always working
: 
: Hello - I just spotted an oddity with all two custom DocTransformers we 
sometimes use on Solr 6.3.0. This particular transformer in the example just 
transforms a long (or int) into a sequence of bits. I just use it as an 
convenience to compare minhashes with my eyeballs. First example is very 
straightforward, fl=minhash:[binstr], show only the minhash field, but as a bit 
sequence.
: 
: 
solr/search/select?omitHeader=true&wt=json&indent=true&rows=1&sort=id%20asc&q=*:*&fl=minhash:[binstr]
: {
:   "response":{"numFound":96933,"start":0,"docs":[
:       {}]
:   }}
: 
: The document is empty! This also happens with another transformer. The next 
example i also request the lang field:
: 
: solr/search/select?omitHeader=true&wt=json&indent=true&rows=1&sort=id 
asc&q=*:*&fl=lang,minhash:[binstr]
: {
:   "response":{"numFound":96933,"start":0,"docs":[
:       {
:         "lang":"nl"}]
:   }}
: 
: Ok, at least i now get the lang field, but the transformed minhash is nowhere 
to be seen. In the next example i request all fields and the transformed 
minhash:
: 
: 
/solr/search/select?omitHeader=true&wt=json&indent=true&rows=1&sort=id%20asc&q=*:*&fl=*,minhash:[binstr]
: {
:   "response":{"numFound":96933,"start":0,"docs":[
:       {
:         
"minhash":"1110110101111010100011010010101111100001110110010111101101111010",
:         ...other fields here
:         "_version_":1553728923368423424}]
:   }}
: 
: So it seems that right now, i can only use a transformer properly if i 
request all fields. I believe it used to work with all three examples just as 
you would expect. But since i haven't used transformers for a while, i don't 
know at which version it stopped working like that (if it ever did of course :)
: 
: Did i mess something up or did a bug creep on me?
: 
: Thanks,
: Markus
: 

-Hoss
http://www.lucidworks.com/

Reply via email to