Skip to content

Commit 01490a4

Browse files
author
Ethan Hann
committed
Update docs
1 parent d90b4e4 commit 01490a4

File tree

8 files changed

+271
-43
lines changed

8 files changed

+271
-43
lines changed

docs-src/searching.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ $result = $bookIndex->search('two cities', true);
1919
$result->documents(); // Array of arrays.
2020
```
2121

22-
## Filtering Tag Fields
22+
## Filtering
23+
### Tag Fields
2324

2425
Tag fields can be filtered with the index's tagFilter method.
2526

@@ -40,7 +41,7 @@ $result = $bookIndex
4041
->search('two cities');
4142
```
4243

43-
## Filtering Numeric Fields
44+
### Numeric Fields
4445

4546
Numeric fields can be filtered with the index's numericFilter method.
4647

@@ -50,7 +51,7 @@ $result = $bookIndex
5051
->search('two cities');
5152
```
5253

53-
## Filtering Geo Fields
54+
### Geo Fields
5455

5556
Numeric fields can be filtered with the index's geoFilter method.
5657

@@ -69,9 +70,9 @@ $result = $bookIndex
6970
->sortBy('price')
7071
->search('two cities');
7172
```
73+
7274

73-
74-
## Number of Search Results
75+
## Number of Results
7576

7677
The number of documents can be retrieved after performing a search.
7778

docs/indexing/index.html

Lines changed: 95 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -337,12 +337,46 @@
337337
</li>
338338

339339
<li class="md-nav__item">
340-
<a href="#indexing-from-a-hash" title="Indexing from a Hash" class="md-nav__link">
341-
Indexing from a Hash
340+
<a href="#indexing-from-a-hash" title="Indexing From a Hash" class="md-nav__link">
341+
Indexing From a Hash
342342
</a>
343343

344344
</li>
345345

346+
<li class="md-nav__item">
347+
<a href="#aliasing" title="Aliasing" class="md-nav__link">
348+
Aliasing
349+
</a>
350+
351+
<nav class="md-nav">
352+
<ul class="md-nav__list">
353+
354+
<li class="md-nav__item">
355+
<a href="#adding-an-alias" title="Adding an Alias" class="md-nav__link">
356+
Adding an Alias
357+
</a>
358+
359+
</li>
360+
361+
<li class="md-nav__item">
362+
<a href="#updating-an-alias" title="Updating an Alias" class="md-nav__link">
363+
Updating an Alias
364+
</a>
365+
366+
</li>
367+
368+
<li class="md-nav__item">
369+
<a href="#deleting-an-alias" title="Deleting an Alias" class="md-nav__link">
370+
Deleting an Alias
371+
</a>
372+
373+
</li>
374+
375+
</ul>
376+
</nav>
377+
378+
</li>
379+
346380

347381

348382

@@ -468,11 +502,45 @@
468502
</li>
469503

470504
<li class="md-nav__item">
471-
<a href="#indexing-from-a-hash" title="Indexing from a Hash" class="md-nav__link">
472-
Indexing from a Hash
505+
<a href="#indexing-from-a-hash" title="Indexing From a Hash" class="md-nav__link">
506+
Indexing From a Hash
507+
</a>
508+
509+
</li>
510+
511+
<li class="md-nav__item">
512+
<a href="#aliasing" title="Aliasing" class="md-nav__link">
513+
Aliasing
514+
</a>
515+
516+
<nav class="md-nav">
517+
<ul class="md-nav__list">
518+
519+
<li class="md-nav__item">
520+
<a href="#adding-an-alias" title="Adding an Alias" class="md-nav__link">
521+
Adding an Alias
473522
</a>
474523

475524
</li>
525+
526+
<li class="md-nav__item">
527+
<a href="#updating-an-alias" title="Updating an Alias" class="md-nav__link">
528+
Updating an Alias
529+
</a>
530+
531+
</li>
532+
533+
<li class="md-nav__item">
534+
<a href="#deleting-an-alias" title="Deleting an Alias" class="md-nav__link">
535+
Deleting an Alias
536+
</a>
537+
538+
</li>
539+
540+
</ul>
541+
</nav>
542+
543+
</li>
476544

477545

478546

@@ -640,7 +708,7 @@ <h2 id="batch-indexing">Batch Indexing<a class="headerlink" href="#batch-indexin
640708
<span class="nv">$bookIndex</span><span class="o">-&gt;</span><span class="na">addMany</span><span class="p">(</span><span class="nv">$documents</span><span class="p">,</span> <span class="k">true</span><span class="p">);</span>
641709
</pre></div>
642710

643-
<h2 id="indexing-from-a-hash">Indexing from a Hash<a class="headerlink" href="#indexing-from-a-hash" title="Permanent link">&para;</a></h2>
711+
<h2 id="indexing-from-a-hash">Indexing From a Hash<a class="headerlink" href="#indexing-from-a-hash" title="Permanent link">&para;</a></h2>
644712
<p>Redis hashes are key/value pairs referenced by a key.
645713
It is possible to index an existing hash with the <strong>addHash</strong> method.
646714
The document's ID has to be the same as the hash's key.
@@ -654,6 +722,28 @@ <h2 id="indexing-from-a-hash">Indexing from a Hash<a class="headerlink" href="#i
654722
<div class="codehilite"><pre><span></span><span class="x">$document = $bookIndex-&gt;makeDocument(&#39;foo&#39;);</span>
655723
<span class="x">$bookIndex-&gt;replaceHash($document);</span>
656724
</pre></div>
725+
726+
<h2 id="aliasing">Aliasing<a class="headerlink" href="#aliasing" title="Permanent link">&para;</a></h2>
727+
<p>Indexes can be aliased.</p>
728+
<p>Note that an exception will be thrown if any alias method is called before an index's <a href="/#create-the-schema">schema</a> is created. </p>
729+
<h3 id="adding-an-alias">Adding an Alias<a class="headerlink" href="#adding-an-alias" title="Permanent link">&para;</a></h3>
730+
<p>An alias can be added for an index like this:</p>
731+
<div class="codehilite"><pre><span></span><span class="nv">$index</span><span class="o">-&gt;</span><span class="na">addAlias</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">);</span>
732+
</pre></div>
733+
734+
<h3 id="updating-an-alias">Updating an Alias<a class="headerlink" href="#updating-an-alias" title="Permanent link">&para;</a></h3>
735+
<p>Assuming an alias has already been added to an index, like this:</p>
736+
<div class="codehilite"><pre><span></span><span class="nv">$oldIndex</span><span class="o">-&gt;</span><span class="na">addAlias</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">);</span>
737+
</pre></div>
738+
739+
<p>...it can be reassigned to a different index like this:</p>
740+
<div class="codehilite"><pre><span></span><span class="nv">$newIndex</span><span class="o">-&gt;</span><span class="na">updateAlias</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">);</span>
741+
</pre></div>
742+
743+
<h3 id="deleting-an-alias">Deleting an Alias<a class="headerlink" href="#deleting-an-alias" title="Permanent link">&para;</a></h3>
744+
<p>An alias can be deleted like this:</p>
745+
<div class="codehilite"><pre><span></span><span class="nv">$index</span><span class="o">-&gt;</span><span class="na">deleteAlias</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">);</span>
746+
</pre></div>
657747

658748

659749

docs/laravel-support/index.html

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,13 +386,27 @@
386386
Configure the Scout Driver
387387
</a>
388388

389+
</li>
390+
391+
<li class="md-nav__item">
392+
<a href="#define-searchable-schema" title="Define Searchable Schema" class="md-nav__link">
393+
Define Searchable Schema
394+
</a>
395+
389396
</li>
390397

391398
<li class="md-nav__item">
392399
<a href="#import-a-model" title="Import a Model" class="md-nav__link">
393400
Import a Model
394401
</a>
395402

403+
</li>
404+
405+
<li class="md-nav__item">
406+
<a href="#query-filters" title="Query Filters" class="md-nav__link">
407+
Query Filters
408+
</a>
409+
396410
</li>
397411

398412
</ul>
@@ -477,13 +491,27 @@
477491
Configure the Scout Driver
478492
</a>
479493

494+
</li>
495+
496+
<li class="md-nav__item">
497+
<a href="#define-searchable-schema" title="Define Searchable Schema" class="md-nav__link">
498+
Define Searchable Schema
499+
</a>
500+
480501
</li>
481502

482503
<li class="md-nav__item">
483504
<a href="#import-a-model" title="Import a Model" class="md-nav__link">
484505
Import a Model
485506
</a>
486507

508+
</li>
509+
510+
<li class="md-nav__item">
511+
<a href="#query-filters" title="Query Filters" class="md-nav__link">
512+
Query Filters
513+
</a>
514+
487515
</li>
488516

489517
</ul>
@@ -535,6 +563,54 @@ <h3 id="configure-the-scout-driver">Configure the Scout Driver<a class="headerli
535563
<div class="codehilite"><pre><span></span><span class="s1">&#39;driver&#39;</span> <span class="o">=&gt;</span> <span class="nx">env</span><span class="p">(</span><span class="s1">&#39;SCOUT_DRIVER&#39;</span><span class="p">,</span> <span class="s1">&#39;ehann-redisearch&#39;</span><span class="p">),</span>
536564
</pre></div>
537565

566+
<h3 id="define-searchable-schema">Define Searchable Schema<a class="headerlink" href="#define-searchable-schema" title="Permanent link">&para;</a></h3>
567+
<p>Define the field types that will be used on indexing</p>
568+
<div class="codehilite"><pre><span></span><span class="cp">&lt;?php</span>
569+
570+
<span class="k">namespace</span> <span class="nx">App</span><span class="p">;</span>
571+
572+
<span class="k">use</span> <span class="nx">Laravel\Scout\Searchable</span><span class="p">;</span>
573+
<span class="o">...</span>
574+
<span class="k">use</span> <span class="nx">Ehann\RediSearch\Fields\TextField</span><span class="p">;</span>
575+
<span class="k">use</span> <span class="nx">Ehann\RediSearch\Fields\GeoField</span><span class="p">;</span>
576+
<span class="k">use</span> <span class="nx">Ehann\RediSearch\Fields\NumericField</span><span class="p">;</span>
577+
<span class="k">use</span> <span class="nx">Ehann\RediSearch\Fields\TagField</span><span class="p">;</span>
578+
<span class="k">use</span> <span class="nx">Ehann\RediSearch\Fields\GeoLocation</span><span class="p">;</span>
579+
<span class="o">...</span>
580+
581+
<span class="k">class</span> <span class="nc">User</span> <span class="k">extends</span> <span class="nx">Model</span> <span class="p">{</span>
582+
<span class="k">use</span> <span class="nx">Searchable</span><span class="p">;</span>
583+
584+
<span class="k">public</span> <span class="k">function</span> <span class="nf">searchableAs</span><span class="p">()</span>
585+
<span class="p">{</span>
586+
<span class="k">return</span> <span class="s2">&quot;user_index&quot;</span><span class="p">;</span>
587+
<span class="p">}</span>
588+
589+
<span class="k">public</span> <span class="k">function</span> <span class="nf">toSearchableArray</span><span class="p">()</span>
590+
<span class="p">{</span>
591+
<span class="k">return</span> <span class="p">[</span>
592+
<span class="s2">&quot;name&quot;</span> <span class="o">=&gt;</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">name</span><span class="p">,</span>
593+
<span class="s2">&quot;username&quot;</span> <span class="o">=&gt;</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">username</span><span class="p">,</span>
594+
<span class="s2">&quot;location&quot;</span> <span class="o">=&gt;</span> <span class="k">new</span> <span class="nx">GeoLocation</span><span class="p">(</span>
595+
<span class="nv">$this</span><span class="o">-&gt;</span><span class="na">longitude</span><span class="p">,</span>
596+
<span class="nv">$this</span><span class="o">-&gt;</span><span class="na">latitude</span>
597+
<span class="p">)</span>
598+
<span class="s2">&quot;age&quot;</span> <span class="o">=&gt;</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">age</span><span class="p">,</span>
599+
<span class="p">];</span>
600+
<span class="p">}</span>
601+
602+
<span class="k">public</span> <span class="k">function</span> <span class="nf">searchableSchema</span><span class="p">()</span>
603+
<span class="p">{</span>
604+
<span class="k">return</span> <span class="p">[</span>
605+
<span class="s2">&quot;name&quot;</span> <span class="o">=&gt;</span> <span class="nx">TextField</span><span class="o">::</span><span class="na">class</span><span class="p">,</span>
606+
<span class="s2">&quot;username&quot;</span> <span class="o">=&gt;</span> <span class="nx">TextField</span><span class="o">::</span><span class="na">class</span><span class="p">,</span>
607+
<span class="s2">&quot;location&quot;</span> <span class="o">=&gt;</span> <span class="nx">GeoField</span><span class="o">::</span><span class="na">class</span><span class="p">,</span>
608+
<span class="s2">&quot;age&quot;</span> <span class="o">=&gt;</span> <span class="nx">NumericField</span><span class="o">::</span><span class="na">class</span>
609+
<span class="p">];</span>
610+
<span class="p">}</span>
611+
<span class="p">}</span>
612+
</pre></div>
613+
538614
<h3 id="import-a-model">Import a Model<a class="headerlink" href="#import-a-model" title="Permanent link">&para;</a></h3>
539615
<p>Import a "Product" model that is <a href="https://laravel.com/docs/5.6/scout#configuration">configured to be searchable</a>:</p>
540616
<div class="codehilite"><pre><span></span>artisan ehann:redisearch:import App<span class="se">\\</span>Product
@@ -548,8 +624,16 @@ <h3 id="import-a-model">Import a Model<a class="headerlink" href="#import-a-mode
548624
<div class="codehilite"><pre><span></span>artisan ehann:redisearch:import App<span class="se">\\</span>Product --no-id
549625
</pre></div>
550626

627+
<h3 id="query-filters">Query Filters<a class="headerlink" href="#query-filters" title="Permanent link">&para;</a></h3>
628+
<p>How To Query Filters? <a href="http://www.ethanhann.com/redisearch-php/searching/#filtering-tag-fields">Filtering Tag Fields</a></p>
629+
<div class="codehilite"><pre><span></span><span class="x">App\User::search(&quot;Search Query&quot;, function($index){</span>
630+
<span class="x"> return $filter-&gt;geoFilter(&quot;location&quot;, 5.56475, 5.75516, 100)</span>
631+
<span class="x"> -&gt;numericFilter(&#39;age&#39;, 18, 32)</span>
632+
<span class="x">})-&gt;get()</span>
633+
</pre></div>
634+
551635
<h2 id="what-now">What now?<a class="headerlink" href="#what-now" title="Permanent link">&para;</a></h2>
552-
<p>See the <a href="https://laravel.com/docs/5.6/scout">Laravel Scout</a> documentation for additional information. </p>
636+
<p>See the <a href="https://laravel.com/docs/5.6/scout">Laravel Scout</a> documentation for additional information.</p>
553637

554638

555639

docs/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)