[Groonga-commit] groonga/groonga [master] doc select: add description about match_escalation_threshold parameter

Back to archive index

null+****@clear***** null+****@clear*****
2012年 5月 8日 (火) 17:49:20 JST


Kouhei Sutou	2012-05-08 17:49:20 +0900 (Tue, 08 May 2012)

  New Revision: 4d85d3b55cffff103f2ec052058195cd3acac556

  Log:
    doc select: add description about match_escalation_threshold parameter

  Added files:
    doc/source/example/commands/select/match_escalation_threshold.log
    doc/source/tokenizers.txt
  Modified files:
    doc/source/commands/select.txt
    doc/source/reference.txt

  Modified: doc/source/commands/select.txt (+30 -6)
===================================================================
--- doc/source/commands/select.txt    2012-05-08 16:40:35 +0900 (0c922b8)
+++ doc/source/commands/select.txt    2012-05-08 17:49:20 +0900 (4859c4a)
@@ -323,7 +323,7 @@ See :doc:`/spec/query_syntax` for other syntax.
 
 It can be used for not only fulltext search but also other
 conditions. For example, ``column:value`` means the value of
-``column`` column equals to ``value``. ``column:<value`` means the
+``column`` column is equal to ``value``. ``column:<value`` means the
 value of ``column`` column is less than ``value``.
 
 Here is a simple equality operator search example.
@@ -358,7 +358,7 @@ both ``filter`` and ``query``.
 ``filter`` parameter is desgined for complex conditions. A filter text
 should be formated in :doc:`/spec/script_syntax`. The syntax is
 similar to ECMAScript. For example, ``column == "value"`` means that
-the ``column`` column equals to ``"value"``. ``column < value`` means
+the ``column`` column is equal to ``"value"``. ``column < value`` means
 that the value of ``column`` column is less than ``value``.
 
 Here is a simple equality operator search example.
@@ -387,13 +387,11 @@ Advanced search parameters
 ``match_escalation_threshold``
 """"""""""""""""""""""""""""""
 
-TODO: add example.
-
 It specifies threshold to determine whether search storategy
 escalation is used or not. The threshold is compared against the
 number of matched records. If the number of matched records is equal
-to or less than the threshold, search storategy escalation is
-used. See :doc:`/spec/search` about search storategy escalation.
+to or less than the threshold, the search storategy escalation is
+used. See :doc:`/spec/search` about the search storategy escalation.
 
 The default threshold is 0. It means that search storategy escalation
 is used only when no records are matched.
@@ -405,6 +403,32 @@ The default threshold can be customized by one of the followings.
   * ``match-escalation-threshold`` configuration item in configuration
     file
 
+Here is a simple ``match_escalation_threshold`` usage example.
+
+.. groonga-command
+.. include:: ../example/commands/select/match_escalation_threshold.log
+.. select Entries --match_columns content --query groo
+.. select Entries --match_columns content --query groo --match_escalation_threshold -1
+
+The first ``select`` command searches records that contain a word
+``groo`` in ``content`` column value from ``Entries`` table. But no
+records are matched because the ``TokenBigram`` tokenizer tokenizes
+``groonga`` to ``groonga`` not ``gr|ro|oo|on|ng|ga``. (The
+``TokenBigramSplitSymbolAlpha`` tokenizer tokenizes ``groonga`` to
+``gr|ro|oo|on|ng|ga``. See :doc:`/tokenizers` for details.) It means
+that ``groonga`` is indexed but ``groo`` isn't indexed. So no records
+are matched against ``groo`` by exact match. In the case, the search
+storategy escalation is used because the number of matched records (0)
+is equal to ``match_escalation_threshold`` (0). One record is matched
+against ``groo`` by unsplit search.
+
+The second ``select`` command also searches records that contain a
+word ``groo`` in ``content`` column value from ``Entries`` table. And
+it also doesn't found matched records. In this case, the search
+storategy escalation is not used because the number of matched
+records (0) is less than ``match_escalation_threshold`` (-1). So no
+more searches aren't executed. And no records are matched.
+
 ``query_expansion``
 """""""""""""""""""
 

  Added: doc/source/example/commands/select/match_escalation_threshold.log (+75 -0) 100644
===================================================================
--- /dev/null
+++ doc/source/example/commands/select/match_escalation_threshold.log    2012-05-08 17:49:20 +0900 (9964cc7)
@@ -0,0 +1,75 @@
+Execution example::
+
+  > select Entries --match_columns content --query groo
+  [
+    [
+      0, 
+      1336466929.13937, 
+      0.000423669815063477
+    ], 
+    [
+      [
+        [
+          1
+        ], 
+        [
+          [
+            "_id", 
+            "UInt32"
+          ], 
+          [
+            "_key", 
+            "ShortText"
+          ], 
+          [
+            "content", 
+            "Text"
+          ], 
+          [
+            "n_likes", 
+            "UInt32"
+          ]
+        ], 
+        [
+          2, 
+          "Groonga", 
+          "I started to use groonga. It's very fast!", 
+          10
+        ]
+      ]
+    ]
+  ]
+  > select Entries --match_columns content --query groo --match_escalation_threshold -1
+  [
+    [
+      0, 
+      1336466929.3408, 
+      0.00037693977355957
+    ], 
+    [
+      [
+        [
+          0
+        ], 
+        [
+          [
+            "_id", 
+            "UInt32"
+          ], 
+          [
+            "_key", 
+            "ShortText"
+          ], 
+          [
+            "content", 
+            "Text"
+          ], 
+          [
+            "n_likes", 
+            "UInt32"
+          ]
+        ]
+      ]
+    ]
+  ]
+  
\ No newline at end of file

  Modified: doc/source/reference.txt (+1 -0)
===================================================================
--- doc/source/reference.txt    2012-05-08 16:40:35 +0900 (02d41f6)
+++ doc/source/reference.txt    2012-05-08 17:49:20 +0900 (99f2d4d)
@@ -12,6 +12,7 @@
    output
    commands
    type
+   tokenizers
    pseudo_column
    expr
    functions

  Added: doc/source/tokenizers.txt (+8 -0) 100644
===================================================================
--- /dev/null
+++ doc/source/tokenizers.txt    2012-05-08 17:49:20 +0900 (af7f1df)
@@ -0,0 +1,8 @@
+.. -*- rst -*-
+
+.. highlightlang:: none
+
+Tokenizers
+==========
+
+TODO: Write me.




Groonga-commit メーリングリストの案内
Back to archive index