Hello All,

I have my field description listed below, but I don't think its pertinent. As 
my issue seems to be with the query parser.

I'm currently using an edismax subquery clause to help with my searching as 
such:

_query_:"{!type=edismax qf='ref_expertise'}\(nonlinear OR soliton\) AND 
\"optical lattice\""

translates correctly to

+(+((ref_expertise:nonlinear) (ref_expertise:soliton)) +(ref_expertise:"optical 
lattice"))


but the users expect the default operator to be AND (it is in all simpler 
searches), however nothing I can do here gets me that same result as above when 
the search is:

_query_:"{!type=edismax qf='ref_expertise'}\(nonlinear OR soliton\) \"optical 
lattice\""

this gets converted to:

+(((ref_expertise:nonlinear) (ref_expertise:soliton)) (ref_expertise:"optical 
lattice"))

where the "optical lattice" is optional.

These produce the same results, trying q.op and mm. Also the default search 
term as  set in the solr.config is AND.

_query_:"{!type=edismax q.op=AND qf='ref_expertise'}\(nonlinear OR 
soliton\)\"optical lattice\""
_query_:"{!type=edismax mm=1.0 qf='ref_expertise'}\(nonlinear OR 
soliton\)\"optical lattice\""




Any ideas???

Thanks In Advance

Steven Fuchs






    <fieldType name="intl_string" class="solr.TextField" >
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" preserveOriginal="1"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory" />
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" 
maxGramSize="25" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory" />
      </analyzer>
    </fieldType>









Reply via email to