You'll *not* write a servlet. You'll write implement the Filter interface
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/Filter.html

In the doFilter method, you'll create a ServletRequestWrapper which changes
the incoming param. Then you'll call chain.doFilter with the new request
object. You'll need to add this filter before the SolrRequestFilter in
Solr's web.xml

Look at
http://www.onjava.com/pub/a/onjava/2001/05/10/servlet_filters.html?page=1for
more details.

On Mon, May 12, 2008 at 8:51 PM, Umar Shah <[EMAIL PROTECTED]> wrote:

> On Mon, May 12, 2008 at 8:42 PM, Shalin Shekhar Mangar <
> [EMAIL PROTECTED]> wrote:
>
> > ServletRequest and ServletRequestWrapper are part of the Java
> servlet-api
> > (not Solr). Basically, Koji is hinting at writing a ServletFilter
> > implementation (again using servlet-api) and creating a wrapper
> > ServletRequest which modifies the underlying request params which can
> then
> > be used by Solr.
> >
>
> sorry for the silly question, basically i am new to servlets.
> Now If my understanding is right , I will need to create a servlet/wrapper
> that would listen the user facing queries and then pass the processed text
> to solr request handler and I need to pack this servlet class file into
> Solr
> war file.
>
> But How would I ensure that my servlet is called instead of solr request
> handler?
>
>
> > On Mon, May 12, 2008 at 8:36 PM, Umar Shah <[EMAIL PROTECTED]> wrote:
> >
> > > On Mon, May 12, 2008 at 2:50 PM, Koji Sekiguchi <[EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > Hi Umar,
> > > >
> > > > You may be able to preprocess your request parameter in your
> > > > servlet filter. In the doFilter() method, you do:
> > > >
> > > > ServletRequest myRequest = new MyServletRequestWrapper( request );
> > >
> > >
> > > Thanks for your response,
> > >
> > > Where is the ServletRequest class , I am using Solr 1.3 trunk code
> > > found SolrServletm, butit is depricated, which class can I use instead
> > of
> > > SolrRequest in 1.3 codebase?
> > >
> > >
> > > I also tried overloading Standard request handler , How do I re write
> > > queryparams there?
> > >
> > > Can you point me to some documentation?
> > >
> > >
> > > >   :
> > > > chain.doFilter( myRequest, response );
> > > >
> > > > And you have MyServletRequestWrapper that extends
> > ServletRequestWrapper.
> > > > Then you can get|set q* parameters through getParameter() method.
> > > >
> > > > Hope this helps,
> > > >
> > > > Koji
> > > >
> > > >
> > > >
> > > > Umar Shah wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Due some requirement I need to transform the user queries before
> > > passing
> > > > > it
> > > > > to the standard handler in Solr,  can anyone suggest me the best
> way
> > > to
> > > > > do
> > > > > this.
> > > > >
> > > > > I will need to use a transfomation class that would provide
> > functions
> > > to
> > > > > process the input query 'qIn' and transform it to the resultant
> > query
> > > > > 'qOut'
> > > > > and then pass it to solr handler as if qOut were the original user
> > > > > query.
> > > > >
> > > > > thanks in anticipation,
> > > > > -umar
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
> >
> >
> > --
> > Regards,
> > Shalin Shekhar Mangar.
> >
>



-- 
Regards,
Shalin Shekhar Mangar.

Reply via email to