tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Support for boolean queries in apropos



On Mon, Mar 12, 2012 at 10:15 AM, Alan Barrett <apb%cequrux.com@localhost> 
wrote:
> On Sun, 11 Mar 2012, Abhinav Upadhyay wrote:
>>
>> The FTS engine of Sqlite supports Boolean queries. Boolean queries simply
>> means building complex queries by combining simple queries using Boolean
>> operators: AND, OR, and NOT. For example:
>>
>> $ apropos add new user NOT (git OR ssh)
>>
>> This will provide results which match the query "add new user" but do not
>> match for "git" or "ssh".
>
>
> Instead of exposing the underlying syntax of the SQL engine, I would prefer
> to see a user interface syntax similar to that ptovided by google search.
>
>        $ apropos 'add "new user" -(git|ssh)'
>        $ apropos add '"new user"' '-(git|ssh)'
>
> where the outer quotes are for the shell, the inner quotes around "new user"
> mean that those two words must appear together, the "-" means the following
> term must not appear, the "|" means OR, and the parentheses are for scoping.
>  Not shown in the example is the "+" operator, which google search uses to
> mean that the term must appear, or that the term has a higher weight than
> other terms in determining the overall ranking of the results.
>
>
>> 2. Or, another option is to use '||', '&&' and '~' as the symbols for the
>> OR, AND, NOT Boolean operators respectively in the apropos frontend and
>> pre-process it to build a proper SQL query so that Sqlite is able to
>> understand and execute it properly.
>
>
> Please don't make users learn new syntax.  I expect many users will already
> familiar with the syntax offered by google search, so I think it's a good
> idea to re-use that syntax.

I agree with what you proposed, makes more sense.

--
Abhinav


Home | Main Index | Thread Index | Old Index