1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>7.13. grn_expr — Groonga v10.1.1-31-g1e46ba6 documentation</title>
<link rel="stylesheet" href="../_static/groonga.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="7.13.1. Query syntax" href="grn_expr/query_syntax.html" />
<link rel="prev" title="7.12. Cast" href="cast.html" />
</head><body>
<div class="header">
<h1 class="title">
<a id="top-link" href="../index.html">
<span class="project">groonga</span>
<span class="separator">-</span>
<span class="description">An open-source fulltext search engine and column store.</span>
</a>
</h1>
<div class="other-language-links">
<ul>
<li><a href="../../../ja/html/reference/grn_expr.html">日本語</a></li>
</ul>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="grn_expr/query_syntax.html" title="7.13.1. Query syntax"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="cast.html" title="7.12. Cast"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Groonga v10.1.1-31-g1e46ba6 documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="../reference.html" accesskey="U"><span class="section-number">7. </span>Reference manual</a> »</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">7.13. </span>grn_expr</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="grn-expr">
<h1><span class="section-number">7.13. </span>grn_expr<a class="headerlink" href="#grn-expr" title="Permalink to this headline">¶</a></h1>
<p>Grn_expr is an object that searches records with specified conditions
and manipulates a database. It’s pronounced as <code class="docutils literal notranslate"><span class="pre">gurun</span> <span class="pre">expression</span></code>.</p>
<p>Conditions for searching records from a database can be represented by
conbining condition expressions such as <code class="docutils literal notranslate"><span class="pre">equal</span> <span class="pre">condition</span> <span class="pre">expression</span></code>
and <code class="docutils literal notranslate"><span class="pre">less</span> <span class="pre">than</span> <span class="pre">condition</span> <span class="pre">expression</span></code> with set operations such as
<code class="docutils literal notranslate"><span class="pre">AND</span></code>, <code class="docutils literal notranslate"><span class="pre">OR</span></code> and <code class="docutils literal notranslate"><span class="pre">NOT</span></code>. Grn_expr executes those conditions to
search records. You can also use advanced searches such as similar
search and near search by grn_expr. You can also use flexible full
text search. For example, you can control hit scores for specified
words and improve recall by re-searching with high-recall algolithm
dinamically. To determine whether re-searching or not, the number of
matched rescords is used.</p>
<p>There are three ways to create grn_expr:</p>
<blockquote>
<div><ul class="simple">
<li><p>Parsing <a class="reference internal" href="grn_expr/query_syntax.html"><span class="doc">Query syntax</span></a> string.</p></li>
<li><p>Parsing <a class="reference internal" href="grn_expr/script_syntax.html"><span class="doc">Script syntax</span></a> string.</p></li>
<li><p>Calling grn_expr related APIs.</p></li>
</ul>
</div></blockquote>
<p><a class="reference internal" href="grn_expr/query_syntax.html"><span class="doc">Query syntax</span></a> is for common search form in
Internet search site. It’s simple and easy to use but it has a
limitation. You can not use all condition expressions and set
operations in <a class="reference internal" href="grn_expr/query_syntax.html"><span class="doc">Query syntax</span></a>. You can use
<a class="reference internal" href="grn_expr/query_syntax.html"><span class="doc">Query syntax</span></a> with <code class="docutils literal notranslate"><span class="pre">query</span></code> option in
<a class="reference internal" href="commands/select.html"><span class="doc">select</span></a>.</p>
<p><a class="reference internal" href="grn_expr/script_syntax.html"><span class="doc">Script syntax</span></a> is ECMAScript like
syntax. You can use all condition expressions and set operations in
<a class="reference internal" href="grn_expr/script_syntax.html"><span class="doc">Script syntax</span></a>. You can use
<a class="reference internal" href="grn_expr/script_syntax.html"><span class="doc">Script syntax</span></a> with <code class="docutils literal notranslate"><span class="pre">filter</span></code> option and
<code class="docutils literal notranslate"><span class="pre">scorer</span></code> option in <a class="reference internal" href="commands/select.html"><span class="doc">select</span></a>.</p>
<p>You can use groonga as a library and create a grn_expr by calling
grn_expr related APIs. You can use full features with calling APIs
like <a class="reference internal" href="grn_expr/script_syntax.html"><span class="doc">Script syntax</span></a>. Calling APIs is useful
creating a custom syntax to create grn_expr. They are used in <a class="reference external" href="http://ranguba.org/#about-rroonga">rroonga</a> that is Ruby bindings
of Groonga. Rroonga can create a grn_expr by Ruby’s syntax instead of
parsing string.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="grn_expr/query_syntax.html">7.13.1. Query syntax</a></li>
<li class="toctree-l1"><a class="reference internal" href="grn_expr/script_syntax.html">7.13.2. Script syntax</a></li>
</ul>
</div>
<div class="section" id="see-also">
<h2><span class="section-number">7.13.3. </span>See also<a class="headerlink" href="#see-also" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p><a class="reference internal" href="api/grn_expr.html"><span class="doc">grn_expr</span></a>: grn_expr related APIs</p></li>
</ul>
</div></blockquote>
</div>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">7.13. grn_expr</a><ul>
<li><a class="reference internal" href="#see-also">7.13.3. See also</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="cast.html"
title="previous chapter"><span class="section-number">7.12. </span>Cast</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="grn_expr/query_syntax.html"
title="next chapter"><span class="section-number">7.13.1. </span>Query syntax</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="grn_expr/query_syntax.html" title="7.13.1. Query syntax"
>next</a> |</li>
<li class="right" >
<a href="cast.html" title="7.12. Cast"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Groonga v10.1.1-31-g1e46ba6 documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="../reference.html" ><span class="section-number">7. </span>Reference manual</a> »</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">7.13. </span>grn_expr</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2009-2021, Brazil, Inc.
</div>
</body>
</html>
|