lucene-solr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Solr Wiki] Update of "ExtendedDisMax" by JanHoydahl
Date Fri, 22 Jun 2012 00:17:23 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.

The "ExtendedDisMax" page has been changed by JanHoydahl:
http://wiki.apache.org/solr/ExtendedDisMax?action=diff&rev1=10&rev2=11

Comment:
ps2, ps3

  This parser supports full Lucene !QueryParser syntax including boolean operators 'AND',
'OR', 'NOT', '+' and '-', fielded search, term boosting, fuzzy, grouping with parens, phrase
search, phrase slop, numeric ranges, wildcard search and more. If there is a syntax error
in the input, such as non-existing field name or unbalanced double-quotes, the input is gracefully
searched as literal strings.
  
  == Query Structure ==
- For each "word" in the query string, dismax builds a !DisjunctionMaxQuery object for that
word across all of the fields in the `qf` param (with the appropriate boost values and a tiebreaker
value set from the `tie` param).  These !DisjunctionMaxQuery objects are then put in a !BooleanQuery
with the minNumberShouldMatch option set according to the `mm` param.  If any other params
are specified, a larger !BooleanQuery is wrapped arround the first !BooleanQuery from the
`qf` options, and the other params (`bf`, `bq`, `pf`, `pf2`, `pf3`) are added as optional
clauses.  The only complex clause comes from from the `pf` param, which is a single !DisjuntionMaxQuery
containing the whole query 'phrase' against each of the `pf` fields.
+ For each "word" in the query string, dismax builds a !DisjunctionMaxQuery object for that
word across all of the fields in the `qf` param (with the appropriate boost values and a tiebreaker
value set from the `tie` param).  These !DisjunctionMaxQuery objects are then put in a !BooleanQuery
with the minNumberShouldMatch option set according to the `mm` param.  If any other params
are specified, a larger !BooleanQuery is wrapped arround the first !BooleanQuery from the
`qf` options, and the other params (`bf`, `bq`, `pf`, `pf2`, `pf3`, 'ps2', 'ps3') are added
as optional clauses.  The only complex clause comes from from the `pf` param, which is a single
!DisjuntionMaxQuery containing the whole query 'phrase' against each of the `pf` fields.
  
  /!\ :TODO: /!\ Need more detail on the query structure generated based on input ... a picture
would be nice.
  
@@ -63, +63 @@

  === pf2 (Phrase bigram fields) ===
  As with 'pf' but chops the input into bi-grams, e.g. "the brown fox jumped" is queried as
"the brown" "brown fox" "fox jumped"
  
+ === ps2 (Phrase bigram slop) ===
+ 
+ <!> [[Solr4.0]] As with 'ps' but sets default slop factor for 'pf2'. If not specified,
'ps' will be used.
+ 
  === pf3 (Phrase trigram fields) ===
  As with 'pf' but chops the input into tri-grams, e.g. "the brown fox jumped" is queried
as "the brown fox" "brown fox jumped"
+ 
+ === ps3 (Phrase trigram slop) ===
+ 
+ <!> [[Solr4.0]] As with 'ps' but sets default slop factor for 'pf3'. If not specified,
'ps' will be used.
  
  === tie (Tie breaker) ===
  Float value to use as tiebreaker in !DisjunctionMaxQueries (should be something much less
than 1)

Mime
View raw message