Konstantin Ryabitsev <[email protected]> wrote:
> On Mon, Nov 08, 2021 at 08:49:23PM +0000, Eric Wong wrote:
> > Konstantin Ryabitsev <[email protected]> wrote:
> > > On Mon, Nov 08, 2021 at 01:49:07PM -0600, Rob Herring wrote:
> >
> > > > > lei q -I https://lore.kernel.org/all/ -o ~/Mail/floppy \
> > > > > --threads --dedupe=mid \
> > > > > '(dfn:drivers/block/floppy.c OR dfhh:floppy_* OR s:floppy \
> > > > > OR ((nq:bug OR nq:regression) AND nq:floppy)) \
> > > > > AND rt:1.month.ago..'
> > > >
> > > > I tried a similar one which I had working as a bookmark:
> >
> > That's actually treating the entire single-quoted section as
> > a phrase search for Xapian.
>
> Hmm... I noticed that when I `lei edit-search` the initial query that was
> causing quoting issues, I get the following:
>
> [lei]
> q = (dfn:drivers OR dfn:arch OR dfn:Documentation OR
> dfn:include OR dfn:scripts) AND f:[email protected]
>
> So, the extra quotes didn't get added to the config file. Running `lei up` on
> that saved search seems to do the right thing, so the erroneous quotes are
> only added during the initial `lei q` call.
Right, each entry in lei.q is actually an entry in argv[].
So the correct query should look something like:
[lei]
q = (
q = dfn:drivers/block/floppy.c
q = OR
...
> > The correct way to use '(', ')', and '*' on the command-line for
> > Xapian is to shell escape them:
>
> But putting them into single quotes should accomplish the same result, no? At
> least, that's how I've always understood shell escaping.
Yeah, that works, too. As long as spaces/tabs don't show up
within each argv[] element, it won't be interpreted as a phrase.
I really wanted: lei q s:"a quick brown fox"
to work from a shell like it would in the WWW UI;
and thus deprioritized '(' and ')' working properly :x
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/