Dear John

Maybe you should add the following option :

map { 'mode':'all' }

because ’any’ is the default.

Best regards,
Fabrice

De : [email protected] 
[mailto:[email protected]] De la part de John Best
Envoyé : vendredi 28 novembre 2014 11:32
À : Christian Grün
Cc : BaseX
Objet : Re: [basex-talk] How to use ft:search() for querying 2 or more phrases?

Hi Christian,
Thanks for the reply.
Using intersect, results in 5 Articles. Whereas you suggestion with -

ft:search("Articles",
    ("electromagnetic waves", "electromagnetic particles")
  )/ancestor::Doc
results in 218 Articles.
Why the difference of 213 ?
I am checking some of these additional, do they have both phrases. Will come 
back again.



On Fri, Nov 28, 2014 at 3:52 PM, Christian Grün 
<[email protected]<mailto:[email protected]>> wrote:
Hi John,

You can specify more than one search string with ft:search [2]:

  ft:search("Articles",
    ("electromagnetic waves", "electromagnetic particles")
  )/ancestor::Doc

In your case, the "phrase" option is not required, because it creates
a single string from all of your search strings. Please see [1] for
more information on the search modes.

Best,
Christian

[1] http://docs.basex.org/wiki/Full-Text_Module#ft:search
[2] http://docs.basex.org/wiki/Full-Text#Combining_Results



On Fri, Nov 28, 2014 at 10:34 AM, John Best 
<[email protected]<mailto:[email protected]>> wrote:
> Hi BaseX Team,
>
> The subject itself is explanatory. I have following query -
>
> ft:search("Articles", ("electromagnetic waves"), map { 'mode':='Phrase'
> })/ancestor::Doc
> return $x
>
> This query searches for "electromagnetic waves" as a phrase. I want to
> search another phrase "electromagnetic particles" with the previous phrase.
>
>
> List only those Articles having both these phrases.
>
> --
> Have a nice day
> JBest
>
>



--
Have a nice day
JBest

Reply via email to