Re: [FT] FTIgnoreOption

Dear Andrew,

Thank you for your interest in the full-text draft.

>
>
>Dear editors,
>
>Could someone provide further clarification of FTIgnoreOption? The 
>following expression:
>(nodeA ftcontains "some phrase" without content nodeB)
>Shall we ignore all the subtree rooted from nodeB or ignore only the 
>children text nodes that immediately contained by nodeB i.e. do we need 
>to promote the children element nodes of nodeB one level up?

The expression above returns all nodeA's that (i) contain "some
phrase" as a phrase (in a regular sense) or (ii) contains "... some
<nodeB> ...  </nodeB> phrase ..." where nodeB could contain any
subtree after the word "phrase" or (iii) contains <nodeB> "some"
<nodeB> ...  </nodeB> "phrase" ...  </nodeB> or contains <nodeC>
"some" <nodeB> ...  </nodeB> "phrase" ...  </nodeC>.

The last case is the trickiest to explain but the intuition is that if
"some phrase" appears inside nodeA, even if it is in an ignored node
nodeB and even if it requires to ignore some other nodeB, it should be
treated as a match. So, even if the phrase appears inside an ignored
nodeB, it should be considered as a match.

In simpler words, "some phrase" is considered a match if it appears as
is (which is the regular, traditional sense) or if it requires to
ignore a nodeB no matter whether "some phrase" appears inside an
ignored nodeB or not as long as the phrase is in the scope (subtree)
of nodeA. So, this is done recursively and not just at the children
level.


>Can this detail be implementation-dependant?
>

No, the semantics of FTIgnoreOption should be the same across all
implementations.

>Also in FT specification 3.2.8, the example is:
>/book[@number="1"] ftcontains "Testing" without content .//title
>What does the context path "." mean? Should it be:
>/book[@number="1" and . ftcontains "Testing" without content .//title]
>
>Or the previous example is correct and there is something special with 
>semantics of "... ftcontains ... without content ..."?
>

The two queries (ours and yours) are equivalent. Our qexample above is correct and that has to do with the semantics of
ftcontains and not of FTIgnoreOption.

/book[@number="1"] is an XQuery expression that returns all books that
satify the predicate @number="1". Those books are then used by the
subsequent ftcontains expression.


>Thanks,
>
>

Thanks,
Sihem


>
>

Received on Thursday, 3 March 2005 16:34:12 UTC