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 "PacktBook2009" by DavidSmiley
Date Sun, 10 Jan 2010 05:19:31 GMT
Dear Wiki user,

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

The "PacktBook2009" page has been changed by DavidSmiley.
The comment on this change is: Noted multi-terms in trie implementation; ms() function supplanting
need for rord/ord for dates..
http://wiki.apache.org/solr/PacktBook2009?action=diff&rev1=6&rev2=7

--------------------------------------------------

  == Chapter 2: Schema and Text Analysis ==
  
  === Trie based field types ===
- The schema.xml used in the book examples has a schema version 1.1 instead of 1.2 which is
Solr 1.4's new default. The distinction is fairly trivial.  The bigger difference is that
Solr 1.4 defines a set of "Trie" based field types which are used in preference to the "Sortable"
based ones.  For example, there is now a `TrieIntField` using a field type named `tint` which
is to be used in preference to `SortableIntField` with a field type named `sint`.  The trie
field types have improved performance characteristics, particularly for range queries, and
they are of course sortable.  However, the "Sortable" field variants still do one thing that
the trie based fields cannot do which is the ability to specify `sortMissingLast` and `sortMissingFirst`.
 There is further documentation about these field types in the [[http://svn.apache.org/viewvc/lucene/solr/tags/release-1.4.0/example/solr/conf/schema.xml?revision=834197&view=markup|Solr
1.4 example schema.xml file]].
+ The schema.xml used in the book examples has a schema version 1.1 instead of 1.2 which is
Solr 1.4's new default. The distinction is fairly trivial.  The bigger difference is that
Solr 1.4 defines a set of "Trie" based field types which are used in preference to the "Sortable"
based ones.  For example, there is now a `TrieIntField` using a field type named `tint` which
is to be used in preference to `SortableIntField` with a field type named `sint`.  There is
a trie based date as well now occupying the type name `date`, pushing aside the former implementation
to `pdate`.  The trie field types have improved performance characteristics, particularly
for range queries, and they are of course sortable.  However, the "Sortable" field variants
still do one thing that the trie based fields cannot do which is the ability to specify `sortMissingLast`
and `sortMissingFirst`.  There is further documentation about these field types in the [[http://svn.apache.org/viewvc/lucene/solr/tags/release-1.4.0/example/solr/conf/schema.xml?revision=834197&view=markup|Solr
1.4 example schema.xml file]].
+ 
+ Understand that the trie based dates internally use multiple indexed terms to function.
 There are areas of Solr that require fields containing no more than one underlying indexed
term.  For example, the function queries `ord` and `rord` have this requirement on its argument.
 When encountering this limitation, don't use a trie date (or index both ways).
  
  === Text Analysis ===
   * !ReverseWildcardFilter
@@ -135, +137 @@

   * ms(), ms(x), ms(x,y)
  The `ms` function deals with times in milliseconds since the common 1970 epoch.  Arguments
either refer to a date field or it is a literal (ex: 2000-01-01T00:00:00Z ).  Without arguments
it returns the current time.  One argument will return the time referenced, probably a field
reference.  When there are two, it returns the difference `x-y`. This function is useful when
boosting more recent documents sooner. There is excellent information on this subject [[SolrRelevancyFAQ#How_can_I_boost_the_score_of_newer_documents|at
the wiki]].
  
+ NOTE: The examples involving sorting on dates in the chapter were based on the non-trie
based "pdate" date type (i.e. `solr.Date class`).  Use of `rord` and `ord` won't work with
trie field types.  But with the addition of the much needed `ms` function, it's moot since
you can simply use this function in place of `rord` and `ord` in a date based situation.
+ 
   * Function Range Queries
  Functions Queries can also be used for filtering searches.  Using the `frange` QParserPlugin,
you specify a numeric range applied on the given function query.  This advanced technique
is best described at 
  [[http://www.lucidimagination.com/blog/2009/07/06/ranges-over-functions-in-solr-14/|Yonik's
blog post]] at Lucid Imationation. 

Mime
View raw message