diff options
Diffstat (limited to 'python/vespa/docs/search.html')
-rw-r--r-- | python/vespa/docs/search.html | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/python/vespa/docs/search.html b/python/vespa/docs/search.html new file mode 100644 index 00000000000..e3200f5ed61 --- /dev/null +++ b/python/vespa/docs/search.html @@ -0,0 +1,291 @@ +--- + +title: Search API + +keywords: fastai +sidebar: home_sidebar + +summary: "Python search API" +description: "Python search API" +--- +<!-- + +################################################# +### THIS FILE WAS AUTOGENERATED! DO NOT EDIT! ### +################################################# +# file to edit: notebooks/search.ipynb +# command to build the docs after a change: nbdev_build_docs + +--> + +<div class="container" id="notebook-container"> + + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> + +</div> + {% endraw %} + +<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>We can connect to the CORD-19 Search app and use it to exemplify the search API</p> + +</div> +</div> +</div> + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">vespa.application</span> <span class="kn">import</span> <span class="n">Vespa</span> + +<span class="n">app</span> <span class="o">=</span> <span class="n">Vespa</span><span class="p">(</span><span class="n">url</span> <span class="o">=</span> <span class="s2">"https://api.cord19.vespa.ai"</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> + {% endraw %} + +<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Specify-the-request-body">Specify the request body<a class="anchor-link" href="#Specify-the-request-body"> </a></h2><blockquote><p>Full flexibility by specifying the entire request body</p> +</blockquote> + +</div> +</div> +</div> + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">body</span> <span class="o">=</span> <span class="p">{</span> + <span class="s1">'yql'</span><span class="p">:</span> <span class="s1">'select title, abstract from sources * where userQuery();'</span><span class="p">,</span> + <span class="s1">'hits'</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span> + <span class="s1">'query'</span><span class="p">:</span> <span class="s1">'coronavirus temperature sensitivity'</span><span class="p">,</span> + <span class="s1">'type'</span><span class="p">:</span> <span class="s1">'any'</span><span class="p">,</span> + <span class="s1">'ranking'</span><span class="p">:</span> <span class="s1">'bm25'</span> +<span class="p">}</span> +</pre></div> + + </div> +</div> +</div> + +</div> + {% endraw %} + + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">results</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> + {% endraw %} + + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">results</span><span class="p">[</span><span class="s2">"root"</span><span class="p">][</span><span class="s2">"fields"</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + +<div class="output_area"> + + + +<div class="output_text output_subarea output_execute_result"> +<pre>{'totalCount': 46917}</pre> +</div> + +</div> + +</div> +</div> + +</div> + {% endraw %} + +<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Query-+-term-matching-+-rank-profile">Query + term-matching + rank profile<a class="anchor-link" href="#Query-+-term-matching-+-rank-profile"> </a></h3> +</div> +</div> +</div> + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">vespa.search</span> <span class="kn">import</span> <span class="n">Search</span><span class="p">,</span> <span class="n">OR</span><span class="p">,</span> <span class="n">RankProfile</span> + +<span class="n">results</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">search</span><span class="p">(</span> + <span class="n">query</span><span class="o">=</span><span class="s2">"Is remdesivir an effective treatment for COVID-19?"</span><span class="p">,</span> + <span class="n">search_model</span> <span class="o">=</span> <span class="n">Search</span><span class="p">(</span> + <span class="n">match_phase</span><span class="o">=</span><span class="n">OR</span><span class="p">(),</span> + <span class="n">rank_profile</span><span class="o">=</span><span class="n">RankProfile</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">"bm25"</span><span class="p">)</span> + <span class="p">)</span> +<span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> + {% endraw %} + + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">results</span><span class="p">[</span><span class="s2">"root"</span><span class="p">][</span><span class="s2">"fields"</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + +<div class="output_area"> + + + +<div class="output_text output_subarea output_execute_result"> +<pre>{'totalCount': 46917}</pre> +</div> + +</div> + +</div> +</div> + +</div> + {% endraw %} + +<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Query-+-term-matching-+-ann-operator-+-rank_profile">Query + term-matching + ann operator + rank_profile<a class="anchor-link" href="#Query-+-term-matching-+-ann-operator-+-rank_profile"> </a></h3> +</div> +</div> +</div> + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">vespa.search</span> <span class="kn">import</span> <span class="n">Search</span><span class="p">,</span> <span class="n">ANN</span><span class="p">,</span> <span class="n">WeakAnd</span><span class="p">,</span> <span class="n">Union</span><span class="p">,</span> <span class="n">RankProfile</span> +<span class="kn">from</span> <span class="nn">random</span> <span class="kn">import</span> <span class="n">random</span> + +<span class="n">match_phase</span> <span class="o">=</span> <span class="n">Union</span><span class="p">(</span> + <span class="n">WeakAnd</span><span class="p">(</span><span class="n">hits</span> <span class="o">=</span> <span class="mi">10</span><span class="p">),</span> + <span class="n">ANN</span><span class="p">(</span> + <span class="n">doc_vector</span><span class="o">=</span><span class="s2">"title_embedding"</span><span class="p">,</span> + <span class="n">query_vector</span><span class="o">=</span><span class="s2">"title_vector"</span><span class="p">,</span> + <span class="n">embedding_model</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="p">[</span><span class="n">random</span><span class="p">()</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">768</span><span class="p">)],</span> + <span class="n">hits</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> + <span class="n">label</span><span class="o">=</span><span class="s2">"title"</span> + <span class="p">)</span> +<span class="p">)</span> +<span class="n">rank_profile</span> <span class="o">=</span> <span class="n">RankProfile</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">"bm25"</span><span class="p">,</span> <span class="n">list_features</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +<span class="n">search_model</span> <span class="o">=</span> <span class="n">Search</span><span class="p">(</span><span class="n">match_phase</span><span class="o">=</span><span class="n">match_phase</span><span class="p">,</span> <span class="n">rank_profile</span><span class="o">=</span><span class="n">rank_profile</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> + {% endraw %} + + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">results</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">query</span><span class="o">=</span><span class="s2">"Is remdesivir an effective treatment for COVID-19?"</span><span class="p">,</span> + <span class="n">search_model</span><span class="o">=</span><span class="n">search_model</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> + {% endraw %} + + {% raw %} + +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> + +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">results</span><span class="p">[</span><span class="s2">"root"</span><span class="p">][</span><span class="s2">"fields"</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + +<div class="output_area"> + + + +<div class="output_text output_subarea output_execute_result"> +<pre>{'totalCount': 1049}</pre> +</div> + +</div> + +</div> +</div> + +</div> + {% endraw %} + +</div> + + |