I take back that suggestion since the highlighter cares nothing about the actual source query.

If you really want the source terms (before analysis), you probably need to subclass the desired query parser and have an override method that saves the source term just before it is analyzed. That's if you want 100% accuracy.

If you don't need absolute accuracy, you could write a "hack" parser which simply throws away operators and special characters, being careful to discard field name references. That's probably easier to implement than trying to understand how the query parser works internally.

So, step 1, scan the query for colons and remove the name immediately before the colon (this wouldn't handle the case of text inside quotes where a term before a colon is text rather than a field name). Step 2, change all special characters except maybe hyphens, dashes, and underscores, to spaces. Step 3, split the string on whitespace to get the list of terms. You need to decide whether to lowercase the terms. This should give you a semi-reasonable approximation of the terms in a query - for English or other Roman/Latin languages. You can tweak the logic to accommodate other languages.

-- Jack Krupansky

-----Original Message----- From: Fumio Takayama
Sent: Saturday, September 15, 2012 5:22 AM
To: solr-user@lucene.apache.org
Subject: Re: How to approach to analyze Solr Edismax Query log

I checked highlighter works(DefaultSolrHighlighter).

Can this API re-parse the search terms("q parameter") of Edismax Queries?

If it can do, I would like to reuse API of Solr.

Regards.

2012/9/14 Fumio Takayama <tryout...@gmail.com>

Hi, Jack

>Are you trying to re-parse the queries that you extract from the log to
determine the query terms?

Yes, I try to re-prase queries from the log.

> You might look at how the highlighter works since it accesses the query
terms.

Thanks for your help. I check the highlighter works.

Regards

Fumio Takayama


2012/9/14 Jack Krupansky <j...@basetechnology.com>

Are you trying to re-parse the queries that you extract from the log to
determine the query terms?

You might look at how the highlighter works since it accesses the query
terms.

-- Jack Krupansky

-----Original Message----- From: Fumio Takayama
Sent: Friday, September 14, 2012 4:39 AM
To: solr-user@lucene.apache.org
Subject: How to approach to analyze Solr Edismax Query log


HI All

I provide the search service using Solr.

When users used the service, I would like to analyze the search query log
of Solr and to know to what kind of search word it is referring.
It is searching to Solr using the Edismax query.

Then, when analyzing, it is being examined whether analysis is made using
ExtendedDismaxQParserPlugin of Solr.

I have two question.

- is this approach right?
- How to use ExtendedDismaxQParserPlugin when my approach is right?

(Initialization, the parameter of Method, etc.)

Would you help someone?

Regards,

Fumio Takayama




Reply via email to