Hello - i just looked up the DocTransformer Javadoc and spotted the 
getExtraRequestFields method. 

What you mention makes sense, so i immediately tried:
solr/search/select?omitHeader=true&wt=json&indent=true&rows=1&sort=id 
asc&q=*:*&fl=minhash,minhash:[binstr]
{
  "response":{"numFound":97895,"start":0,"docs":[
      {
        
"minhash":"1110110101111010100011010010101111100001110110010111101101111010"}]
  }}

So as i get it, instead of using getRequestedFields, just now i just did an 
explicit get for that fields. Don't mind the changed numFound, it's a live 
index.

Well, i can work with this really fine knowing this, but does it make sense? I 
did assume (or be wrong in doing so) that fl=minhash:[binstr] should mean get 
that field and pass it through the transformer. At least i just now fell for 
it, maybe other shouldn't :)

Anyway, thanks again today,
Markus

-----Original message-----
> From:Chris Hostetter <hossman_luc...@fucit.org>
> Sent: Wednesday 14th December 2016 23:14
> To: solr-user <solr-user@lucene.apache.org>
> Subject: Re: DocTransformer not always working
> 
> 
> 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