[Zope-CVS] CVS: Products/FieldedTextIndex - CHANGES.txt:1.4 README.txt:1.6 version.txt:1.3

Casey Duncan casey at zope.com
Mon Jan 19 23:59:26 EST 2004

Update of /cvs-repository/Products/FieldedTextIndex
In directory cvs.zope.org:/tmp/cvs-serv20432

Modified Files:
	CHANGES.txt README.txt version.txt 
Log Message:
Update docs and bump version #

=== Products/FieldedTextIndex/CHANGES.txt 1.3 => 1.4 ===
--- Products/FieldedTextIndex/CHANGES.txt:1.3	Mon Jan 12 01:09:42 2004
+++ Products/FieldedTextIndex/CHANGES.txt	Mon Jan 19 23:59:25 2004
@@ -1,10 +1,18 @@
 FieldTextIndex Changelog
-  0.2
+  1/19/2003 - 0.2 Release
+    **Indexes made with version 0.1 of FieldedTextIndex cannot be used with
+      version 0.2. You must recreate your indexes after upgrading to 0.2**
     - Added support to weight results differently depending on the field
       matched using the 'field_weights' query keyword. Thanks to
       Jean-Francois Doyon for suggesting the feature.
+    - Default weights can now be supplied for the index using through the ZMI.
+    - Totally refactored searching and scoring algorithm to efficiently handle
+      arbitrarily weighted fields.
   12/27/2003 - 0.1 Release

=== Products/FieldedTextIndex/README.txt 1.5 => 1.6 ===
--- Products/FieldedTextIndex/README.txt:1.5	Mon Jan 12 01:09:42 2004
+++ Products/FieldedTextIndex/README.txt	Mon Jan 19 23:59:25 2004
@@ -4,6 +4,9 @@
   indexer for Zope. As such, it has many of the same features such as
   relevance ranking, boolean queries, wildcards (globbing) and phrase matching.
+  **Note:** -- Indexes made with version 0.1 of FieldedTextIndex cannot be 
+  used with version 0.2. You must recreate your indexes after upgrading to 0.2
   What problems does it solve?
     In Zope sites it is common to have many different types of content objects
@@ -41,6 +44,11 @@
     queries to be performed across all fields (like a standard text index) or
     any subset of the fields which have been encountered in the objects
+    Additionally, FieldedTextIndex can weight individual fields so that
+    search terms found in those fields affect the result score differently. 
+    This allows you to make certain fields influence the relevance of results
+    more or less than others.
   Creating a FieldedTextIndex
@@ -119,7 +127,7 @@
     This would return only objects where the query terms occurred in the
     fields 'Title' or 'Description'.
-  Specifying field weights (New in 0.2)
+  Specifying field weights in queries (New in 0.2)
     It is also possible to weight individual fields differently in a query so
     that hits on certain fields affect the relevance score more than others. In
@@ -136,23 +144,19 @@
       result = catalog(dc_fields={"query":"Some search string",
-                                                   "Description":1,
-    This would return objects where the query is matched by the 'Title', 
-    'Description' or 'Subject' fields. Matches on 'Title' have their score
-    multiplied by 3. 'Description' and 'Subject' matches are multiplied by
-    2 and 1 respectively.
-    You can specify 'field_weights' with or without also specifying 'fields'.
-    If you specify 'field_weights' without 'fields', then the search is
-    limited to the fields in 'field_weights'. If you also specify 'fields', then
-    all fields specified by it are searched, regardless of which fields appear
-    in 'field_weights'. Fields named in 'fields' but not 'field_weights'
-    are automatically assigned a weight value of one. Fields in 'field_weights'
-    that do not appear in 'fields' are ignored. This allows your application
-    to have 'field_weights' globally configured while still varying the fields
-    actually searched in different queries::
+    This would return objects where the query is found in any field. Matches 
+    on 'Title' have their score multiplied by 3. 'Subject' matches are 
+    multiplied by 2.
+    You can specify 'field_weights' independently of 'fields'. The value of
+    'field_weights' does not affect the fields searched. If 'fields' is not
+    specified, then all fields are searched regardless of the value of 
+    'field_weights'. Fields not assigned a weight by 'field_weights' are
+    assigned a weight of one by default. If you specify weights for fields
+    that do not appear in the 'fields' list or are not the names of fields
+    known to the index, they are ignored::
       result = catalog(dc_fields={"query":"Some search string",
                                   "fields":["Title", "Description"],
@@ -162,6 +166,27 @@
     In this case, 'Title' is searched with a weight of 3 and 'Description'
     a weight of 1 (the default). 'Subject' is not searched since it does not 
     appear in 'fields'.
+    You can also specify zero or negative weights if desired. Zero weighted
+    fields will be used to filter the results, but will not affect the score.
+    Negatively weighted fields will reduce the score of results where terms
+    occur in them. This can be used as a way to tweak the order of results
+    to common queries. If undesired content is appearing high in the results
+    of a query, a negatively weighted field with anti-keywords matching
+    the query could be used to move the content down.
+  Specifying default weights
+    You can also specify weights to apply by default to all queries that do
+    not specify a value for 'field_weights'. To do this, go to the 'Indexes'
+    tab of the ZCatalog and click on the FieldedTextIndex. Use the 
+    'Default Field Weights' tab to set the defaults for the index. Weights
+    are applied at query-time, so you do not need to reindex for the weights
+    to take affect.
+    Queries that specify their own value for 'field_weights' override any
+    defaults. Queries can pass an empty dictionary for 'field_weights' to
+    reset all field weights to one.
   Creating a query form

=== Products/FieldedTextIndex/version.txt 1.2 => 1.3 ===
--- Products/FieldedTextIndex/version.txt:1.2	Mon Jan 12 01:09:42 2004
+++ Products/FieldedTextIndex/version.txt	Mon Jan 19 23:59:25 2004
@@ -1 +1 @@

More information about the Zope-CVS mailing list