public class DocumentAnalysisRequestHandler extends AnalysisRequestHandlerBase
<docs>
<doc>
<field name="id">1</field>
<field name="name">The Name</field>
<field name="text">The Text Value</field>
<doc>
<doc>...</doc>
<doc>...</doc>
...
</docs>
Note: Each document must contain a field which serves as the unique key. This key is used in the returned
response to assoicate an analysis breakdown to the analyzed document.
Like the FieldAnalysisRequestHandler, this handler also supports query analysis by
sending either an "analysis.query" or "q" request paraemter that holds the query text to be analyzed. It also
supports the "analysis.showmatch" parameter which when set to true, all field tokens that match the query
tokens will be marked as a "match".AnalysisRequestHandlerBase.AnalysisContext, AnalysisRequestHandlerBase.ListBasedTokenStream, AnalysisRequestHandlerBase.TokenTrackingAttribute, AnalysisRequestHandlerBase.TokenTrackingAttributeImplSolrInfoMBean.Category| Modifier and Type | Field and Description |
|---|---|
private static float |
DEFAULT_BOOST |
private javax.xml.stream.XMLInputFactory |
inputFactory |
static org.slf4j.Logger |
log |
private static XMLErrorLogger |
xmllog |
ATTRIBUTE_MAPPINGappends, defaults, handlerStart, httpCaching, initArgs, invariants, numErrors, numRequests, numTimeouts, totalTime| Constructor and Description |
|---|
DocumentAnalysisRequestHandler() |
| Modifier and Type | Method and Description |
|---|---|
protected NamedList |
doAnalysis(SolrQueryRequest req)
Performs the analysis based on the given solr request and returns the analysis result as a named list.
|
private ContentStream |
extractSingleContentStream(SolrQueryRequest req)
Extracts the only content stream from the request.
|
java.lang.String |
getDescription()
Simple one or two line description
|
java.lang.String |
getSource()
CVS Source, SVN Source, etc
|
java.lang.String |
getSourceId()
CVS Id, SVN Id, etc
|
java.lang.String |
getVersion()
Simple common usage version, e.g.
|
(package private) NamedList<java.lang.Object> |
handleAnalysisRequest(DocumentAnalysisRequest request,
IndexSchema schema)
Handles the resolved
DocumentAnalysisRequest and returns the analysis response as a named list. |
void |
init(NamedList args)
Initializes the
SolrRequestHandler by creating three SolrParams named. |
(package private) SolrInputDocument |
readDocument(javax.xml.stream.XMLStreamReader reader,
IndexSchema schema)
Reads the document from the given xml stream reader.
|
(package private) DocumentAnalysisRequest |
resolveAnalysisRequest(SolrQueryRequest req)
Resolves the
DocumentAnalysisRequest from the given solr request. |
analyzeValue, analyzeValue, getQueryTokenSet, handleRequestBodygetCategory, getDocs, getInitArgs, getName, getStatistics, handleRequestpublic static final org.slf4j.Logger log
private static final XMLErrorLogger xmllog
private static final float DEFAULT_BOOST
private javax.xml.stream.XMLInputFactory inputFactory
public void init(NamedList args)
RequestHandlerBaseSolrRequestHandler by creating three SolrParams named.
| Name | Description |
|---|---|
| defaults | Contains all of the named arguments contained within the list element named "defaults". |
| appends | Contains all of the named arguments contained within the list element named "appends". |
| invariants | Contains all of the named arguments contained within the list element named "invariants". |
<lst name="defaults"> <str name="echoParams">explicit</str> <str name="qf">text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0</str> <str name="mm">2<-1 5<-2 6<90%</str> <str name="bq">incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2</str> </lst> <lst name="appends"> <str name="fq">inStock:true</str> </lst> <lst name="invariants"> <str name="facet.field">cat</str> <str name="facet.field">manu_exact</str> <str name="facet.query">price:[* TO 500]</str> <str name="facet.query">price:[500 TO *]</str> </lst>
init in interface SolrRequestHandlerinit in class RequestHandlerBaseargs - The NamedList to initialize fromRequestHandlerBase.handleRequest(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse),
RequestHandlerBase.handleRequestBody(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse),
SolrPluginUtils.setDefaults(org.apache.solr.request.SolrQueryRequest, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams),
See also the example solrconfig.xml located in the Solr codebase (example/solr/conf).protected NamedList doAnalysis(SolrQueryRequest req) throws java.lang.Exception
doAnalysis in class AnalysisRequestHandlerBasereq - The solr request.java.lang.Exception - When analysis fails.public java.lang.String getDescription()
SolrInfoMBeangetDescription in interface SolrInfoMBeangetDescription in class RequestHandlerBasepublic java.lang.String getVersion()
SolrInfoMBeangetVersion in interface SolrInfoMBeangetVersion in class RequestHandlerBasepublic java.lang.String getSourceId()
SolrInfoMBeangetSourceId in interface SolrInfoMBeangetSourceId in class RequestHandlerBasepublic java.lang.String getSource()
SolrInfoMBeangetSource in interface SolrInfoMBeangetSource in class RequestHandlerBaseDocumentAnalysisRequest resolveAnalysisRequest(SolrQueryRequest req) throws java.io.IOException, javax.xml.stream.XMLStreamException
DocumentAnalysisRequest from the given solr request.req - The solr request.java.io.IOException - Thrown when reading/parsing the content stream of the request fails.javax.xml.stream.XMLStreamException - Thrown when reading/parsing the content stream of the request fails.NamedList<java.lang.Object> handleAnalysisRequest(DocumentAnalysisRequest request, IndexSchema schema)
DocumentAnalysisRequest and returns the analysis response as a named list.request - The DocumentAnalysisRequest to be handled.schema - The index schema.SolrInputDocument readDocument(javax.xml.stream.XMLStreamReader reader, IndexSchema schema) throws javax.xml.stream.XMLStreamException
<doc>
<field name="id">1</field>
<field name="name">The Name</field>
<field name="text">The Text Value</field>
</doc>
NOTE: each read document is expected to have at least one field which serves as the unique key.reader - The XMLStreamReader from which the document will be read.schema - The index schema. The schema is used to validate that the read document has a unique key field.javax.xml.stream.XMLStreamException - When reading of the document fails.private ContentStream extractSingleContentStream(SolrQueryRequest req)
SolrException.ErrorCode.BAD_REQUEST
error is thrown if the request doesn't hold any content stream or holds more than one.req - The solr request.