2012/4/24 Mindaugas Žakšauskas <min...@gmail.com>:
> Hi,
>
> I maintain a distributed system which Solr is part of. The data which
> is kept is Solr is "permissioned" and permissions are currently
> implemented by taking the original user query, adding certain bits to
> it which would make it return less data in the search results. Now I
> am at the point where I need to go over this functionality and try to
> improve it.
>
> Changing this to send two separate queries (q=...&fq=...) would be the
> first logical thing to do, however I was thinking of an extra
> improvement. Instead of generating filter query, converting it into a
> String, sending over the HTTP just to parse it by Solr again - would
> it not be better to take generated Lucene fq query, serialize it using
> Java serialization, convert it to, say, Base64 and then send and
> deserialize it on the Solr end? Has anyone tried doing any performance
> comparisons on this topic?

I'm about to try out a contribution for serializing queries in
Javascript using Jackson. I've previously done this by serializing my
own data structure and putting the JSON into a custom query parameter.


>
> I am particularly concerned about this because in extreme cases my
> filter queries can be very large (1000s of characters long) and we
> already had to do tweaks as the size of GET requests would exceed
> default limits. And yes, we could move to POST but I would like to
> minimize both the amount of data that is sent over and the time taken
> to parse large queries.
>
> Thanks in advance.
>
> m.

Reply via email to