mirror of
https://github.com/documize/community.git
synced 2025-07-24 15:49:44 +02:00
Implement PostgreSQL Full Text Search++
1. Full text search supports MySQL, MariaDB, Percona and now PostgreSQL. 2. Changed SQL Variant to typed enum. 3. Changed doc.Versioned from INT to BOOL. 4. Search Reindexer now parses all documents and attachments. 5. Site meta API call returns storage provider type. 6. README prep'ed for PostgreSQL support. 7. DELETE SQL statements ignore zero rows affected. Closes #100 !!! Co-Authored-By: Saul S <sauls8t@users.noreply.github.com> Co-Authored-By: McMatts <matt@documize.com>
This commit is contained in:
parent
97beb3f4d3
commit
8a65567169
26 changed files with 274 additions and 113 deletions
|
@ -9,9 +9,12 @@
|
|||
//
|
||||
// https://documize.com
|
||||
|
||||
import { inject as service } from '@ember/service';
|
||||
import Controller from '@ember/controller';
|
||||
|
||||
export default Controller.extend({
|
||||
appMeta: service(),
|
||||
|
||||
queryParams: ['filter', 'matchDoc', 'matchContent', 'matchTag', 'matchFile', 'slog'],
|
||||
filter: '',
|
||||
matchDoc: true,
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
//
|
||||
// https://documize.com
|
||||
|
||||
import Route from '@ember/routing/route';
|
||||
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
|
||||
import Route from '@ember/routing/route';
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
activate() {
|
||||
|
|
|
@ -10,22 +10,36 @@
|
|||
<div id="sidebar" class="sidebar">
|
||||
<h1>Search</h1>
|
||||
<div class="view-search">
|
||||
<div class="syntax">
|
||||
<div class="example">apple banana</div>
|
||||
<div class="explain">Find rows that contain at least one of the two words</div>
|
||||
<div class="example">+apple +banana</div>
|
||||
<div class="explain">Find rows that contain both words</div>
|
||||
<div class="example">+apple macintosh</div>
|
||||
<div class="explain">Find rows that contain the word "apple", but rank rows higher if they also contain "macintosh"</div>
|
||||
<div class="example">+apple -macintosh</div>
|
||||
<div class="explain">Find rows that contain the word "apple" but not "macintosh"</div>
|
||||
<div class="example">+apple +(>turnover <strudel)</div>
|
||||
<div class="explain">Find rows that contain the words "apple" and "turnover", or "apple" and "strudel" (in any order), but rank "apple turnover" higher than "apple strudel"</div>
|
||||
<div class="example">apple*</div>
|
||||
<div class="explain">Find rows that contain words such as "apple", "apples", "applesauce", or "applet"</div>
|
||||
<div class="example">"some words"</div>
|
||||
<div class="explain">Find rows that contain the exact phrase "some words" (for example, rows that contain "some words of wisdom" but not "some noise words")</div>
|
||||
</div>
|
||||
{{#if (eq appMeta.storageProvider constants.StoreProvider.MySQL)}}
|
||||
<div class="syntax">
|
||||
<div class="example">apple banana</div>
|
||||
<div class="explain">Show results that contain at least one of the two words</div>
|
||||
<div class="example">+apple +banana</div>
|
||||
<div class="explain">Show results that contain both words</div>
|
||||
<div class="example">+apple macintosh</div>
|
||||
<div class="explain">Show results that contain the word "apple", but rank rows higher if they also contain "macintosh"</div>
|
||||
<div class="example">+apple -macintosh</div>
|
||||
<div class="explain">Show results that contain the word "apple" but not "macintosh"</div>
|
||||
<div class="example">+apple +(>turnover <strudel)</div>
|
||||
<div class="explain">Show results that contain the words "apple" and "turnover", or "apple" and "strudel" (in any order), but rank "apple turnover" higher than "apple strudel"</div>
|
||||
<div class="example">apple*</div>
|
||||
<div class="explain">Show results that contain words such as "apple", "apples", "applesauce", or "applet"</div>
|
||||
<div class="example">"some words"</div>
|
||||
<div class="explain">Show results that contain the exact phrase "some words" (for example, rows that contain "some words of wisdom" but not "some noise words")</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if (eq appMeta.storageProvider constants.StoreProvider.PostgreSQL)}}
|
||||
<div class="syntax">
|
||||
<div class="example">apple | banana</div>
|
||||
<div class="explain">Show results that contain at either word</div>
|
||||
<div class="example">apple & banana</div>
|
||||
<div class="explain">Show results that contain both words</div>
|
||||
<div class="example">apple !macintosh</div>
|
||||
<div class="explain">Show results that contain the word "apple" but not "macintosh"</div>
|
||||
<div class="example">google & (apple | microsoft) & !ibm</div>
|
||||
<div class="explain">Show results that have "google", either "apple" or "microsoft" but not "ibm"</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/layout/middle-zone-sidebar}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue