On Mon, May 12, 2008 at 10:30 PM, Shalin Shekhar Mangar < [EMAIL PROTECTED]> wrote:
> 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 I created a CustomFilter that would dump the request contents to a file, I created the jar and added it to the solr.war in WEB_INF/lib folder I edited the web.xml in the same folder to include the following lines: <filter> <filter-name>CustomFilter</filter-name> <filter-class>(packagename).CustomFilter</filter-class> </filter> where CustomFilter is the name of the class extending javax.servlet.Filter. I don't see anything in the contents of the file.. thanks for your help -umar > > 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. >