You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by eh...@apache.org on 2007/02/03 08:36:05 UTC

svn commit: r503178 - in /lucene/solr/trunk/client/ruby/solrb/examples/delicious_library: ./ conf/

Author: ehatcher
Date: Fri Feb  2 23:36:04 2007
New Revision: 503178

URL: http://svn.apache.org/viewvc?view=rev&rev=503178
Log:
Add Delicious Library <http://www.delicious-monster.com/> importer and small sample set.  This is way more fun than processing MARC records!

To launch Solr properly for this dataset, cd solr: java -Dsolr.solr.home=../examples/delicious_library/ -jar start.jar - this will keep this index separate
from any others you may be experimenting with.


Added:
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/   (with props)
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/admin-extra.html
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/protwords.txt
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/schema.xml   (with props)
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/scripts.conf
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/solrconfig.xml   (with props)
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/stopwords.txt
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/synonyms.txt
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/dl_importer.rb   (with props)
    lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/sample_export.txt

Propchange: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Feb  2 23:36:04 2007
@@ -0,0 +1 @@
+data

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/admin-extra.html
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/admin-extra.html?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/admin-extra.html (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/admin-extra.html Fri Feb  2 23:36:04 2007
@@ -0,0 +1,31 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- The content of this page will be statically included into the top
+of the admin page.  Uncomment this as an example to see there the content
+will show up.
+
+<hr>
+<i>This line will appear before the first table</i>
+<tr>
+<td colspan="2">
+This row will be appended to the end of the first table
+</td>
+</tr>
+<hr>
+
+-->

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/protwords.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/protwords.txt?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/protwords.txt (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/protwords.txt Fri Feb  2 23:36:04 2007
@@ -0,0 +1,21 @@
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#-----------------------------------------------------------------------
+# Use a protected word file to protect against the stemmer reducing two
+# unrelated words to the same base word.
+
+# Some non-words that normally won't be encountered,
+# just to test that they won't be stemmed.
+dontstems
+zwhacky
+

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/schema.xml?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/schema.xml (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/schema.xml Fri Feb  2 23:36:04 2007
@@ -0,0 +1,236 @@
+<?xml version="1.0" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- This is the Solr schema file. This file should be named "schema.xml" and
+ should be in the conf directory under the solr home
+ (i.e. ./solr/conf/schema.xml by default) 
+ or located where the classloader for the Solr webapp can find it.
+
+ For more information, on how to customize this file, please see
+ http://wiki.apache.org/solr/SchemaXml
+-->
+
+<schema name="flare" version="1.1">
+  <!-- attribute "name" is the name of this schema and is only used for display purposes.
+       Applications should change this to reflect the nature of the search collection.
+       version="1.1" is Solr's version number for the schema syntax and semantics.  It should
+       not normally be changed by applications.
+       1.0: multiValued attribute did not exist, all fields are multiValued by nature
+       1.1: multiValued attribute introduced, false by default -->
+
+  <types>
+    <!-- field type definitions. The "name" attribute is
+       just a label to be used by field definitions.  The "class"
+       attribute and any other attributes determine the real
+       behavior of the fieldtype.
+         Class names starting with "solr" refer to java classes in the
+       org.apache.solr.analysis package.
+    -->
+
+    <!-- The StrField type is not analyzed, but indexed/stored verbatim.  
+       - StrField and TextField support an optional compressThreshold which
+       limits compression (if enabled in the derived fields) to values which
+       exceed a certain size (in characters).
+    -->
+    <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
+
+    <!-- boolean type: "true" or "false" -->
+    <fieldtype name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
+
+    <!-- The optional sortMissingLast and sortMissingFirst attributes are
+         currently supported on types that are sorted internally as strings.
+       - If sortMissingLast="true", then a sort on this field will cause documents
+         without the field to come after documents with the field,
+         regardless of the requested sort order (asc or desc).
+       - If sortMissingFirst="true", then a sort on this field will cause documents
+         without the field to come before documents with the field,
+         regardless of the requested sort order.
+       - If sortMissingLast="false" and sortMissingFirst="false" (the default),
+         then default lucene sorting will be used which places docs without the
+         field first in an ascending sort and last in a descending sort.
+    -->    
+
+
+    <!-- numeric field types that store and index the text
+         value verbatim (and hence don't support range queries, since the
+         lexicographic ordering isn't equal to the numeric ordering) -->
+    <fieldtype name="integer" class="solr.IntField" omitNorms="true"/>
+    <fieldtype name="long" class="solr.LongField" omitNorms="true"/>
+    <fieldtype name="float" class="solr.FloatField" omitNorms="true"/>
+    <fieldtype name="double" class="solr.DoubleField" omitNorms="true"/>
+
+
+    <!-- Numeric field types that manipulate the value into
+         a string value that isn't human-readable in its internal form,
+         but with a lexicographic ordering the same as the numeric ordering,
+         so that range queries work correctly. -->
+    <fieldtype name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
+    <fieldtype name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
+    <fieldtype name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
+    <fieldtype name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
+
+
+    <!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and
+         is a more restricted form of the canonical representation of dateTime
+         http://www.w3.org/TR/xmlschema-2/#dateTime    
+         The trailing "Z" designates UTC time and is mandatory.
+         Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
+         All other components are mandatory.
+
+         Expressions can also be used to denote calculations that should be
+         performed relative to "NOW" to determine the value, ie...
+
+               NOW/HOUR
+                  ... Round to the start of the current hour
+               NOW-1DAY
+                  ... Exactly 1 day prior to now
+               NOW/DAY+6MONTHS+3DAYS
+                  ... 6 months and 3 days in the future from the start of
+                      the current day
+                      
+         Consult the DateField javadocs for more information.
+      -->
+    <fieldtype name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
+
+    <!-- solr.TextField allows the specification of custom text analyzers
+         specified as a tokenizer and a list of token filters. Different
+         analyzers may be specified for indexing and querying.
+
+         The optional positionIncrementGap puts space between multiple fields of
+         this type on the same document, with the purpose of preventing false phrase
+         matching across fields.
+
+         For more info on customizing your analyzer chain, please see
+         http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
+     -->
+
+    <!-- One can also specify an existing Analyzer class that has a
+         default constructor via the class attribute on the analyzer element
+    <fieldtype name="text_greek" class="solr.TextField">
+      <analyzer class="org.apache.lucene.analysis.el.GreekAnalyzer"/>
+    </fieldType>
+    -->
+
+    <!-- A text field that only splits on whitespace for exact matching of words -->
+    <fieldtype name="text_ws" class="solr.TextField" positionIncrementGap="100">
+      <analyzer>
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+      </analyzer>
+    </fieldtype>
+
+    <!-- A text field that uses WordDelimiterFilter to enable splitting and matching of
+        words on case-change, alpha numeric boundaries, and non-alphanumeric chars,
+        so that a query of "wifi" or "wi fi" could match a document containing "Wi-Fi".
+        Synonyms and stopwords are customized by external files, and stemming is enabled.
+        Duplicate tokens at the same position (which may result from Stemmed Synonyms or
+        WordDelim parts) are removed.
+        -->
+    <fieldtype name="text" class="solr.TextField" positionIncrementGap="100">
+      <analyzer type="index">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <!-- in this example, we will only use synonyms at query time
+        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
+        -->
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+      <analyzer type="query">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+    </fieldtype>
+
+
+    <!-- Less flexible matching, but less false matches.  Probably not ideal for product names,
+         but may be good for SKUs.  Can insert dashes in the wrong place and still match. -->
+    <fieldtype name="textTight" class="solr.TextField" positionIncrementGap="100" >
+      <analyzer>
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+    </fieldtype>
+
+ </types>
+
+
+ <fields>
+   <!-- Valid attributes for fields:
+     name: mandatory - the name for the field
+     type: mandatory - the name of a previously defined type from the <types> section
+     indexed: true if this field should be indexed (searchable or sortable)
+     stored: true if this field should be retrievable
+     compressed: [false] if this field should be stored using gzip compression
+       (this will only apply if the field type is compressable; among
+       the standard field types, only TextField and StrField are)
+     multiValued: true if this field may contain multiple values per document
+     omitNorms: (expert) set to true to omit the norms associated with
+       this field (this disables length normalization and index-time
+       boosting for the field, and saves some memory).  Only full-text
+       fields or fields that need an index-time boost need norms.
+   -->
+
+   <field name="id" type="string" indexed="true" stored="true"/>
+
+   <!-- catchall field, containing all other searchable text fields (implemented
+        via copyField further on in this schema  -->
+   <field name="text" type="text" indexed="true" stored="false" multiValued="true"/>
+
+   <!-- Dynamic field definitions.  If a field name is not found, dynamicFields
+        will be used if the name matches any of the patterns.
+        RESTRICTION: the glob-like pattern in the name attribute must have
+        a "*" only at the start or the end.
+        EXAMPLE:  name="*_i" will match any field ending in _i (like myid_i, z_i)
+        Longer patterns will be matched first.  if equal size patterns
+        both match, the first appearing in the schema will be used.  -->
+   <dynamicField name="*_facet"  type="string"  indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="*_text"   type="text"    indexed="true"  stored="true" multiValued="true"/>
+ </fields>
+
+ <!-- field to use to determine and enforce document uniqueness. -->
+ <uniqueKey>id</uniqueKey>
+
+ <!-- field for the QueryParser to use when an explicit fieldname is absent -->
+ <defaultSearchField>text</defaultSearchField>
+
+ <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
+ <solrQueryParser defaultOperator="AND"/>
+
+  <!-- copyField commands copy one field to another at the time a document
+        is added to the index.  It's used either to index the same field differently,
+        or to add multiple fields to the same field for easier/faster searching.  -->
+ <copyField source="*_text" dest="text"/>
+
+ <!-- Similarity is the scoring routine for each document vs. a query.
+      A custom similarity may be specified here, but the default is fine
+      for most applications.  -->
+ <!-- <similarity class="org.apache.lucene.search.DefaultSimilarity"/> -->
+
+</schema>

Propchange: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/schema.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/scripts.conf
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/scripts.conf?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/scripts.conf (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/scripts.conf Fri Feb  2 23:36:04 2007
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+user=
+solr_hostname=localhost
+solr_port=8983
+rsyncd_port=18983
+data_dir=
+webapp_name=solr
+master_host=
+master_data_dir=
+master_status_dir=

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/solrconfig.xml?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/solrconfig.xml (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/solrconfig.xml Fri Feb  2 23:36:04 2007
@@ -0,0 +1,278 @@
+<?xml version="1.0" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<config>
+
+  <!-- Used to specify an alternate directory to hold all index data
+       other than the default ./data under the Solr home.
+       If replication is in use, this should match the replication configuration. -->
+  <!--
+  <dataDir>./solr/data</dataDir>
+  -->
+
+  <indexDefaults>
+   <!-- Values here affect all index writers and act as a default unless overridden. -->
+    <useCompoundFile>false</useCompoundFile>
+    <mergeFactor>10</mergeFactor>
+    <maxBufferedDocs>1000</maxBufferedDocs>
+    <maxMergeDocs>2147483647</maxMergeDocs>
+    <maxFieldLength>10000</maxFieldLength>
+    <writeLockTimeout>1000</writeLockTimeout>
+    <commitLockTimeout>10000</commitLockTimeout>
+  </indexDefaults>
+
+  <mainIndex>
+    <!-- options specific to the main on-disk lucene index -->
+    <useCompoundFile>false</useCompoundFile>
+    <mergeFactor>10</mergeFactor>
+    <maxBufferedDocs>1000</maxBufferedDocs>
+    <maxMergeDocs>2147483647</maxMergeDocs>
+    <maxFieldLength>10000</maxFieldLength>
+
+    <!-- If true, unlock any held write or commit locks on startup. 
+         This defeats the locking mechanism that allows multiple
+         processes to safely access a lucene index, and should be
+         used with care. -->
+    <unlockOnStartup>false</unlockOnStartup>
+  </mainIndex>
+
+  <!-- the default high-performance update handler -->
+  <updateHandler class="solr.DirectUpdateHandler2">
+
+    <!-- A prefix of "solr." for class names is an alias that
+         causes solr to search appropriate packages, including
+         org.apache.solr.(search|update|request|core|analysis)
+     -->
+
+    <!-- autocommit pending docs if certain criteria are met 
+    <autoCommit> 
+      <maxDocs>10000</maxDocs>
+    </autoCommit>
+    -->
+
+    <!-- The RunExecutableListener executes an external command.
+         exe - the name of the executable to run
+         dir - dir to use as the current working directory. default="."
+         wait - the calling thread waits until the executable returns. default="true"
+         args - the arguments to pass to the program.  default=nothing
+         env - environment variables to set.  default=nothing
+      -->
+    <!-- A postCommit event is fired after every commit or optimize command
+    <listener event="postCommit" class="solr.RunExecutableListener">
+      <str name="exe">snapshooter</str>
+      <str name="dir">solr/bin</str>
+      <bool name="wait">true</bool>
+      <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
+      <arr name="env"> <str>MYVAR=val1</str> </arr>
+    </listener>
+    -->
+    <!-- A postOptimize event is fired only after every optimize command, useful
+         in conjunction with index distribution to only distribute optimized indicies 
+    <listener event="postOptimize" class="solr.RunExecutableListener">
+      <str name="exe">snapshooter</str>
+      <str name="dir">solr/bin</str>
+      <bool name="wait">true</bool>
+    </listener>
+    -->
+
+  </updateHandler>
+
+
+  <query>
+    <!-- Maximum number of clauses in a boolean query... can affect
+        range or prefix queries that expand to big boolean
+        queries.  An exception is thrown if exceeded.  -->
+    <maxBooleanClauses>1024</maxBooleanClauses>
+
+    
+    <!-- Cache used by SolrIndexSearcher for filters (DocSets),
+         unordered sets of *all* documents that match a query.
+         When a new searcher is opened, its caches may be prepopulated
+         or "autowarmed" using data from caches in the old searcher.
+         autowarmCount is the number of items to prepopulate.  For LRUCache,
+         the autowarmed items will be the most recently accessed items.
+       Parameters:
+         class - the SolrCache implementation (currently only LRUCache)
+         size - the maximum number of entries in the cache
+         initialSize - the initial capacity (number of entries) of
+           the cache.  (seel java.util.HashMap)
+         autowarmCount - the number of entries to prepopulate from
+           and old cache.
+         -->
+    <filterCache
+      class="solr.LRUCache"
+      size="512"
+      initialSize="512"
+      autowarmCount="256"/>
+
+   <!-- queryResultCache caches results of searches - ordered lists of
+         document ids (DocList) based on a query, a sort, and the range
+         of documents requested.  -->
+    <queryResultCache
+      class="solr.LRUCache"
+      size="512"
+      initialSize="512"
+      autowarmCount="256"/>
+
+  <!-- documentCache caches Lucene Document objects (the stored fields for each document).
+       Since Lucene internal document ids are transient, this cache will not be autowarmed.  -->
+    <documentCache
+      class="solr.LRUCache"
+      size="512"
+      initialSize="512"
+      autowarmCount="0"/>
+
+    <!-- If true, stored fields that are not requested will be loaded lazily.
+    -->
+    <enableLazyFieldLoading>false</enableLazyFieldLoading>
+
+    <!-- Example of a generic cache.  These caches may be accessed by name
+         through SolrIndexSearcher.getCache(),cacheLookup(), and cacheInsert().
+         The purpose is to enable easy caching of user/application level data.
+         The regenerator argument should be specified as an implementation
+         of solr.search.CacheRegenerator if autowarming is desired.  -->
+    <!--
+    <cache name="myUserCache"
+      class="solr.LRUCache"
+      size="4096"
+      initialSize="1024"
+      autowarmCount="1024"
+      regenerator="org.mycompany.mypackage.MyRegenerator"
+      />
+    -->
+
+   <!-- An optimization that attempts to use a filter to satisfy a search.
+         If the requested sort does not include score, then the filterCache
+         will be checked for a filter matching the query. If found, the filter
+         will be used as the source of document ids, and then the sort will be
+         applied to that.
+    <useFilterForSortedQuery>true</useFilterForSortedQuery>
+   -->
+
+   <!-- An optimization for use with the queryResultCache.  When a search
+         is requested, a superset of the requested number of document ids
+         are collected.  For example, if a search for a particular query
+         requests matching documents 10 through 19, and queryWindowSize is 50,
+         then documents 0 through 50 will be collected and cached.  Any further
+         requests in that range can be satisfied via the cache.  -->
+    <queryResultWindowSize>10</queryResultWindowSize>
+
+    <!-- This entry enables an int hash representation for filters (DocSets)
+         when the number of items in the set is less than maxSize.  For smaller
+         sets, this representation is more memory efficient, more efficient to
+         iterate over, and faster to take intersections.  -->
+    <HashDocSet maxSize="3000" loadFactor="0.75"/>
+
+
+    <!-- boolToFilterOptimizer converts boolean clauses with zero boost
+         into cached filters if the number of docs selected by the clause exceeds
+         the threshold (represented as a fraction of the total index) -->
+    <boolTofilterOptimizer enabled="true" cacheSize="32" threshold=".05"/>
+
+
+    <!-- a newSearcher event is fired whenever a new searcher is being prepared
+         and there is a current searcher handling requests (aka registered). -->
+    <!-- QuerySenderListener takes an array of NamedList and executes a
+         local query request for each NamedList in sequence. -->
+    <!--
+    <listener event="newSearcher" class="solr.QuerySenderListener">
+      <arr name="queries">
+        <lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst>
+        <lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst>
+      </arr>
+    </listener>
+    -->
+
+    <!-- a firstSearcher event is fired whenever a new searcher is being
+         prepared but there is no current registered searcher to handle
+         requests or to gain autowarming data from. -->
+    <!--
+    <listener event="firstSearcher" class="solr.QuerySenderListener">
+      <arr name="queries">
+        <lst> <str name="q">fast_warm</str> <str name="start">0</str> <str name="rows">10</str> </lst>
+      </arr>
+    </listener>
+    -->
+
+    <!-- If a search request comes in and there is no current registered searcher,
+         then immediately register the still warming searcher and use it.  If
+         "false" then all requests will block until the first searcher is done
+         warming. -->
+    <useColdSearcher>false</useColdSearcher>
+
+  </query>
+
+
+  <!-- requestHandler plugins... incoming queries will be dispatched to the
+     correct handler based on the qt (query type) param matching the
+     name of registered handlers.
+     The "standard" request handler is the default and will be used if qt
+     is not specified in the request.
+  -->
+  <requestHandler name="indexinfo" class="solr.IndexInfoRequestHandler"/>
+  <requestHandler name="standard" class="solr.StandardRequestHandler">
+    <!-- default values for query parameters -->
+     <lst name="defaults">
+       <str name="echoParams">explicit</str>
+       <!-- 
+       <int name="rows">10</int>
+       <str name="fl">*</str>
+       <str name="version">2.1</str>
+        -->
+     </lst>
+  </requestHandler>
+
+  <!-- queryResponseWriter plugins... query responses will be written using the
+    writer specified by the 'wt' request parameter matching the name of a registered
+    writer.
+    The "standard" writer is the default and will be used if 'wt' is not specified 
+    in the request. XMLResponseWriter will be used if nothing is specified here.
+    The json, python, and ruby writers are also available by default.
+
+    <queryResponseWriter name="standard" class="org.apache.solr.request.XMLResponseWriter"/>
+    <queryResponseWriter name="json" class="org.apache.solr.request.JSONResponseWriter"/>
+    <queryResponseWriter name="python" class="org.apache.solr.request.PythonResponseWriter"/>
+    <queryResponseWriter name="ruby" class="org.apache.solr.request.RubyResponseWriter"/>
+
+    <queryResponseWriter name="custom" class="com.example.MyResponseWriter"/>
+  -->
+
+  <!-- XSLT response writer transforms the XML output by any xslt file found
+       in Solr's conf/xslt directory.  Changes to xslt files are checked for
+       every xsltCacheLifetimeSeconds.  
+   -->
+  <queryResponseWriter name="xslt" class="org.apache.solr.request.XSLTResponseWriter">
+    <int name="xsltCacheLifetimeSeconds">5</int>
+  </queryResponseWriter> 
+    
+  <!-- config for the admin interface --> 
+  <admin>
+    <defaultQuery>solr</defaultQuery>
+    <gettableFiles>solrconfig.xml schema.xml admin-extra.html</gettableFiles>
+    <!-- pingQuery should be "URLish" ...
+         &amp; separated key=val pairs ... but there shouldn't be any
+         URL escaping of the values -->
+    <pingQuery>
+     q=solr
+    </pingQuery>
+    <!-- configure a healthcheck file for servers behind a loadbalancer
+    <healthcheck type="file">server-enabled</healthcheck>
+    -->
+  </admin>
+
+</config>

Propchange: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/solrconfig.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/stopwords.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/stopwords.txt?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/stopwords.txt (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/stopwords.txt Fri Feb  2 23:36:04 2007
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#-----------------------------------------------------------------------
+# a couple of test stopwords to test that the words are really being
+# configured from this file:
+stopworda
+stopwordb
+
+#Standard english stop words taken from Lucene's StopAnalyzer
+an
+and
+are
+as
+at
+be
+but
+by
+for
+if
+in
+into
+is
+it
+no
+not
+of
+on
+or
+s
+such
+t
+that
+the
+their
+then
+there
+these
+they
+this
+to
+was
+will
+with
+

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/synonyms.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/synonyms.txt?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/synonyms.txt (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/conf/synonyms.txt Fri Feb  2 23:36:04 2007
@@ -0,0 +1,31 @@
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#-----------------------------------------------------------------------
+#some test synonym mappings unlikely to appear in real input text
+aaa => aaaa
+bbb => bbbb1 bbbb2
+ccc => cccc1,cccc2
+a\=>a => b\=>b
+a\,a => b\,b
+fooaaa,baraaa,bazaaa
+
+# Some synonym groups specific to this example
+GB,gib,gigabyte,gigabytes
+MB,mib,megabyte,megabytes
+Television, Televisions, TV, TVs
+#notice we use "gib" instead of "GiB" so any WordDelimiterFilter coming
+#after us won't split it into two words.
+
+# Synonym mappings can be used for spelling correction too
+pixima => pixma
+

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/dl_importer.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/dl_importer.rb?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/dl_importer.rb (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/dl_importer.rb Fri Feb  2 23:36:04 2007
@@ -0,0 +1,68 @@
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# TODO: distill common shell script needs into common file for parsing parameters for Solr URL, input filename, -debug, etc
+#       script/runner or script/console-like, from Rails.  A data mapper would be a great generalizable piece.
+
+require 'solr'
+
+solr_url = ENV["SOLR_URL"] || "http://localhost:8983/solr"
+dl_filename = ARGV[0]
+debug = ARGV[1] == "-debug"
+
+solr = Solr::Connection.new(solr_url)
+
+lines = IO.readlines(dl_filename)
+headers = lines[0].split("\t")
+puts headers.join(','),"-----" if debug
+
+# Exported column names
+# medium,associatedURL,boxHeightInInches,boxLengthInInches,boxWeightInPounds,boxWidthInInches,
+# scannednumber,upc,asin,country,title,fullTitle,series,numberInSeries,edition,aspect,mediacount,
+# genre,price,currentValue,language,netrating,description,owner,publisher,published,rare,purchaseDate,rating,
+# used,signed,hasExperienced,notes,location,paid,condition,notowned,author,illustrator,pages
+mapping = {
+  :id => :upc,
+  :medium_facet => :medium,
+  :country_facet => :country,
+  :signed_facet => :signed,
+  :rating_facet => :netrating,
+  :language_facet => :language,
+  :genre_facet => Proc.new {|data| data.genre.split('/').map {|s| s.strip}},
+  :title_text => :title,
+  :notes_text => :notes,
+  :publisher_text => :publisher,
+  :description_text => :description
+}
+
+lines[1..-1].each do |line|
+  data = headers.zip(line.split("\t"))
+  def data.method_missing(key)
+    self.assoc(key.to_s)[1]
+  end
+
+  doc = {}
+  mapping.each do |solr_name, data_column_or_proc|
+    if data_column_or_proc.is_a? Proc
+      value = data_column_or_proc.call(data)
+    else
+      value = data.send(data_column_or_proc)
+    end  
+    doc[solr_name] = value if value
+  end
+  
+  puts doc.inspect if debug
+  solr.add doc unless debug
+
+end
+
+solr.commit unless debug

Propchange: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/dl_importer.rb
------------------------------------------------------------------------------
    svn:executable = *

Added: lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/sample_export.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/sample_export.txt?view=auto&rev=503178
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/sample_export.txt (added)
+++ lucene/solr/trunk/client/ruby/solrb/examples/delicious_library/sample_export.txt Fri Feb  2 23:36:04 2007
@@ -0,0 +1,13 @@
+medium	associatedURL	boxHeightInInches	boxLengthInInches	boxWeightInPounds	boxWidthInInches	scannednumber	upc	asin	country	title	fullTitle	series	numberInSeries	edition	aspect	mediacount	genre	price	currentValue	language	netrating	description	owner	publisher	published	rare	purchaseDate	rating	used	signed	hasExperienced	notes	location	paid	condition	notowned	author	illustrator	pages
+book							9780865681743	0865681740	us	Xing Yi Nei Gong: Xing Yi Health Maintenance and Internal Strength Development	Xing Yi Nei Gong: Xing Yi Health Maintenance and Internal Strength Development				Paperback			$21.95	$14.05		4.5	This is the most complete book on the art of xing yi (hsing Yi) available. It includes the complete xing yi history and lineage going back eight generations; manuscripts handed down from famous practitioners Dai Long Bang and Li Neng Ran; 16 health maintenance and power development exercises; qigong (chi kung) exerices; xing yi long spear power training exercises; and more.		Unique Publications	1998-02-10 12:00:00 +0000		2007-02-03 02:22:25 -0500										Dan Miller/ Tim Cartmell		200
+book							0752064712459	073571245X	us	Eric Meyer on CSS: Mastering the Language of Web Design	Eric Meyer on CSS: Mastering the Language of Web Design				Paperback		Web Site Design/ Internet Publishing/ HTML - General/ jp-unknown1/ Qualifying Textbooks - Winter 2007	$45.00	$9.99		4.5	There are several other books on the market that serve as in-depth technical guides or reference books for CSS. None, however, take a more hands-on approach and use practical examples to teach readers how to solve the problems they face in designing with CSS - until now. Eric Meyer provides a variety of carefully crafted projects that teach how to use CSS and why particular methods were chosen. The web site includes all of the files needed to complete the tutorials in the book. In addition, bonus information is be posted.		New Riders Press	2002-06-28 12:00:00 +0000		2007-02-03 02:21:00 -0500										Eric A. Meyer		352
+book							9780961454739	0961454733	us	Art & Fear	Art & Fear				Paperback		Study & Teaching/ Criticism	$12.95	$7.25		4.5	"This is a book about making art. Ordinary art. Ordinary art means something like: all art not made by Mozart. After all, art is rarely made by Mozart-like people; essentially-statistically speaking-there aren't any people like that. Geniuses get made once-a-century or so, yet good art gets made all the time, so to equate the making of art with the workings of genius removes this intimately human activity to a strangely unreachable and unknowable place. For all practical purposes making art can be examined in great detail without ever getting entangled in the very remote problems of genius."&#x2028;--from the Introduction/ Art & Fear explores the way art gets made, the reasons it often doesn't get made, and the nature of the difficulties that cause so many artists to give up along the way. The book's co-authors, David Bayles and Ted Orland, are themselves 
 both working artists, grappling daily with the problems of making art in the real world. Their insights and observations, drawn from personal experience, provide an incisive view into the world of art as it is expeienced by artmakers themselves./ This is not your typical self-help book. This is a book written by artists, for artists -- it's about what it feels like when artists sit down at their easel or keyboard, in their studio or performance space, trying to do the work they need to do. First published in 1994, Art & Fear quickly became an underground classic. Word-of-mouth response alone-now enhanced by internet posting-has placed it among the best-selling books on artmaking and creativity nationally./ Art & Fear has attracted a remarkably diverse audience, ranging from beginning to accomplished artists in every medium, and including an exceptional concentration among students and teachers. The original Capra Press edition of Art & Fear sold 80,000 copies./ An excerpt:/ 
 Today, more than it was however many years ago, art is hard because you have to keep after it so consistently. On so many different fronts. For so little external reward. Artists become veteran artists only by making peace not just with themselves, but with a huge range of issues. You have to find your work.../ 		Image Continuum Press	2001-04-01 12:00:00 +0000		2007-02-03 02:20:32 -0500										David Bayles/ Ted Orland		122
+book							9780135974445	0135974445	us	Agile Software Development, Principles, Patterns, and Practices	Agile Software Development, Principles, Patterns, and Practices				Hardcover		C & C++ Windows Programming/ Object-Oriented Design/ Software Development/ Qualifying Textbooks - Winter 2007	$68.20	$38.50		4.5			Prentice Hall	2002-10-15 12:00:00 +0000		2007-02-03 02:20:25 -0500										Robert C. Martin		552
+book							9780312275631	0312275633	us	Awareness: The Key to Living in Balance	Awareness: The Key to Living in Balance				Paperback		Meditation/ Mysticism/ Self-Help/ Spiritualism/ Osho/ Personal Transformation	$11.95	$7.61		4.5	Underlying all meditation techniques, including martial arts-and in fact underlying all great athletic performances-is a quality of being awake and present to the moment, a quality that Osho calls awareness. Once we can identify and understand what this quality of awareness is, we have the key to self-mastery in virtually every area of our lives.According to great masters like Lao Tzu or Buddha, most of us move through our lives like sleepwalkers. Never really present in what we are doing, never fully alert to our environment, and not even aware of what motivates us to do and say the things we do.At the same time, all of us have experienced moments of awareness-or awakening, to use another-in extraordinary circumstances. On the road, in a sudden and 
 unexpected accident, time seems to stop and one is suddenly aware of every movement, every sound, every thought. Or in moments that touch us deeply-welcoming a new baby into the world for the first time, or being with someone at the moment of death.Awareness, says Osho, is the key to being self-directed, centered, and free in every aspect of our lives. In this book, Osho teaches how to live life more attentively, mindfully, and meditatively, with love, caring and consciousness.OSHO challenges readers to examine and break free of the conditioned belief systems and prejudices that limit their capacity to life in all its richness. He has been described by the Sunday Times of London as one of the "1000 Makers of the 20th Century" and by Sunday Mid-Day (India) as one of the ten people-along with Gandhi, Nehru, and Buddha-who have changed the destiny of India. More than a decade after his death in 1990, the influence of his teachings continues to expand, reaching seekers of all ag
 es in virtually every country of the world.		St. Martin's Griffin	2001-12-10 12:00:00 +0000		2007-02-03 02:20:16 -0500										Osho		192
+book							9780690012903	069001290X	us	Flower, Moon, Snow: A Book of Haiku	Flower, Moon, Snow: A Book of Haiku				Library Binding		20th Century/ Japanese & Haiku/ United States	$12.89	$4.40					Crowell	1977-02-04 12:00:00 +0000		2007-02-03 02:19:27 -0500										Kazue Mizumura		48
+book							9780060958404	0060958405	us	Words and Rules: The Ingredients of Language	Words and Rules: The Ingredients of Language				Paperback		Logic & Language/ Grammar/ Linguistics/ Neuroscience/ Cognitive	$15.00	$3.50		4	Human languages are capable of expressing a literally endless number of different ideas. How do we manage it--so effortlessly that we scarcely ever stop to think about it? In Words and Rules: The Ingredients of Language, a look at the simple concepts that we use to devise works as complex as love sonnets and tax laws, renowned neuroscientist and linguist Steven Pinker shows us how. The latest linguistic research suggests that each of us stores a limited (though large) number of words and word-parts in memory and manipulates them with a much smaller number of rules to produce every writing and utterance, and Pinker explains every step of the way with engaging good humor./ Pinker's enthusiasm for the subject infects the reader, particularly as he emphasizes 
 the relation between how we communicate and how we think. What does it mean that a small child who has never heard the word wug can tell a researcher that when one wug meets another, there are two wugs? Some rule must be telling the child that English plurals end in -s, which also explains mistakes like mouses. Is our communication linked inextricably with our thinking? Pinker says yes, and it's hard to disagree. Words and Rules is an excellent introduction to and overview of current thinking about language, and will greatly reward the careful reader with new ways of thinking about how we think, talk, and write. --Rob Lightner/ 		Harper Perennial	2000-01-15 12:00:00 +0000		2007-02-03 02:18:58 -0500										Steven Pinker		368
+book							9781592400874	1592400876	us	Eats, Shoots & Leaves: The Zero Tolerance Approach to Punctuation	Eats, Shoots & Leaves: The Zero Tolerance Approach to Punctuation				Hardcover		Essays/ Grammar/ Reference/ Writing Skills	$19.95	$1.84		4	A bona fide publishing phenomenon, Lynne Truss's now classic #1 New York Times bestseller Eats, Shoots & Leaves makes its paperback debut after selling over 3 million copies worldwide in hardcover./ We all know the basics of punctuation. Or do we? A look at most neighborhood signage tells a different story. Through sloppy usage and low standards on the Internet, in e-mail, and now text messages, we have made proper punctuation an endangered species./ In Eats, Shoots & Leaves, former editor Truss dares to say, in her delightfully urbane, witty, and very English way, that it is time to look at our commas and semicolons and see them as the wonderful and necessary things they are. This is a book for people who love punctuation and get upse
 t when it is mishandled. From the invention of the question mark in the time of Charlemagne to George Orwell shunning the semicolon, this lively history makes a powerful case for the preservation of a system of printing conventions that is much too subtle to be mucked about with. BACKCOVER: Praise for Lynne Truss and Eats, Shoots & Leaves:&#x2028;&#x2028;Eats, Shoots & Leaves&#x201c;makes correct usage so cool that you have to admire Ms. Truss.&#x201d;&#x2028;&#x2014;Janet Maslin, The New York Times&#x2028;&#x2028;&#x201c;Witty, smart, passionate.&#x201d;&#x2028;&#x2014;Los Angeles Times Book Review, Best Books Of 2004: Nonfiction &#x2028;&#x2028;&#x201c;Who knew grammar could be so much fun?&#x201d;&#x2028;&#x2014;Newsweek&#x2028;&#x2028;&#x201c;Witty and instructive. . . . Truss is an entertaining, well-read scold in a culture that could use more scolding.&#x201d;&#x2028;&#x2014;USA Today&#x201c;Truss is William Safire crossed with John Cleese's Basil Fawlty.&#x201d;&#x202
 8;&#x2014;Entertainment Weekly&#x2028;&#x2028;&#x201c;Lynne Truss has done the English-speaking world a huge service.&#x201d;&#x2028;&#x2014;The Christian Science Monitor&#x2028;&#x2028;&#x201c;This book changed my life in small, perfect ways like learning how to make better coffee or fold an omelet. It's the perfect gift for anyone who cares about grammar and a gentle introduction for those who don't care enough.&#x201d;&#x2028;&#x2014;The Boston Sunday Globe&#x2028;&#x2028;&#x201c;Lynne Truss makes [punctuation] a joy to contemplate.&#x201d;&#x2028;&#x2014;Elle&#x2028;&#x2028;&#x201c;If Lynne Truss were Roman Catholic I'd nominate her for sainthood.&#x201d; &#x2014;Frank McCourt, author of Angela's Ashes&#x2028;&#x2028;&#x201c;Truss's scholarship is impressive and never dry.&#x201d;&#x2028;&#x2014;Edmund Morris, The New York Times Book Review/ 		Gotham	2004-04-12 12:00:00 +0000		2007-02-03 02:18:24 -0500										Lynne Truss		209
+book							9780142000281	0142000280	us	Getting Things Done: The Art of Stress-Free Productivity	Getting Things Done: The Art of Stress-Free Productivity				Paperback		Health & Stress/ Time Management/ Guides/ Labor & Industrial Relations/ Motivational/ Office Skills/ Creativity/ Self-Esteem/ Stress Management	$15.00	$7.01		4.5	With first-chapter allusions to martial arts, "flow," "mind like water," and other concepts borrowed from the East (and usually mangled), you'd almost think this self-helper from David Allen should have been called Zen and the Art of Schedule Maintenance./ Not quite. Yes, Getting Things Done offers a complete system for downloading all those free-floating gotta-do's clogging your brain into a sophisticated framework of files and action lists--all purportedly to free your mind to focus on whatever you're working on. However, it still operates from the decidedly Western notion that if we could just get really, really organized, we could turn ourselves in
 to 24//7 productivity machines. (To wit, Allen, whom the New Economy bible Fast Company has dubbed "the personal productivity guru," suggests that instead of meditating on crouching tigers and hidden dragons while you wait for a plane, you should unsheathe that high-tech saber known as the cell phone and attack that list of calls you need to return.)/ As whole-life-organizing systems go, Allen's is pretty good, even fun and therapeutic. It starts with the exhortation to take every unaccounted-for scrap of paper in your workstation that you can't junk, The next step is to write down every unaccounted-for gotta-do cramming your head onto its own scrap of paper. Finally, throw the whole stew into a giant "in-basket"/ That's where the processing and prioritizing begin; in Allen's system, it get a little convoluted at times, rife as it is with fancy terms, subterms, and sub-subterms for even the simplest concepts. Thank goodness the spine of his system is captured on a straightfo
 rward, one-page flowchart that you can pin over your desk and repeatedly consult without having to refer back to the book. That alone is worth the purchase price. Also of value is Allen's ingenious Two-Minute Rule: if there's anything you absolutely must do that you can do right now in two minutes or less, then do it now, thus freeing up your time and mind tenfold over the long term. It's commonsense advice so obvious that most of us completely overlook it, much to our detriment; Allen excels at dispensing such wisdom in this useful, if somewhat belabored, self-improver aimed at everyone from CEOs to soccer moms (who we all know are more organized than most CEOs to start with). --Timothy Murphy/ 		Penguin (Non-Classics)	2002-12-31 12:00:00 +0000		2007-02-03 02:16:57 -0500										David Allen		267
+book							9780140195682	0140195688	us	Sitting: A Guide to Buddhist Meditation	Sitting: A Guide to Buddhist Meditation				Paperback		Rituals & Practice	$12.00	$2.90		4.5			Penguin (Non-Classics)	1998-05-01 12:00:00 +0000		2007-02-03 00:20:13 -0500										Diana St. Ruth		96
+book							9780060922245	0060922249	us	Care of the Soul : A Guide for Cultivating Depth and Sacredness in Everyday Life	Care of the Soul : A Guide for Cultivating Depth and Sacredness in Everyday Life				Paperback		Personal Transformation/ New Age/ Spiritual/ Pastoral Theology	$14.00	$0.01		4	Care of the Soul is considered to be one of the best primers for soul work ever written. Thomas Moore, an internationally renowned theologian and former Catholic monk, offers a philosophy for living that involves accepting our humanity rather than struggling to transcend it. By nurturing the soul in everyday life, Moore shows how to cultivate dignity, peace, and depth of character. For example, in addressing the importance of daily rituals he writes, "Ritual maintains the world's holiness. As in a dream a small object may assume significance, so in a life that is animated by ritual there are no insignificant things." This is the eloquence that helped reintroduce the sacred into everyday
  language and contemporary values.		Harper Paperbacks	1994-01-26 12:00:00 +0000		2007-02-03 00:19:54 -0500										Thomas Moore		336
+book							9780977616602	0977616606	us	Rails Recipes (Pragmatic Programmers)	Rails Recipes (Pragmatic Programmers)				Paperback		Object-Oriented Design/ Internet	$32.95	$22.46		4.5	Rails is large, powerful, and new. How do you use it effectively? How do you harness the power? And, most important, how do you get high quality, real-world applications written?/ From the latest Ajax effects to time-saving automation tips for your development process, Rails Recipes will show you how the experts have already solved the problems you have./  &#x2022; Use generators to automate repetitive coding tasks./  &#x2022; Create sophisticated role-based authentication schemes./  &#x2022; Add live search and live preview to your site./  &#x2022; Run tests when anyone checks code in./  &#x2022; How to create tagged data the right way./  &#x2022; and many, many more.../ Owning Rails Recipes is like having the best Rails programmers sitting next to you while you code./ 		Pragmatic Bookshelf	01-06
 -2006		01-02-2007	3									Chad Fowler		332
\ No newline at end of file