Plus sign operators

Post Reply
kzinda
Posts: 62
Joined: Fri Nov 30, 2001 6:18 am

Plus sign operators

Post by kzinda »

When I execute the following search I get zero hits:

where ($field like 'two-phase flow w/12') and ($field like 'steam generator w/12')


But when I execute this search, I get many hits:

where ($field like '+two-phase +flow w/12') and ($field like '+steam +generator w/12')

I thought that since the "relative" weighting in both cases was equal between terms, I should have gotten the same number of hits in both cases. Please explain the difference.
User avatar
mark
Site Admin
Posts: 5519
Joined: Tue Apr 25, 2000 6:56 pm

Plus sign operators

Post by mark »

Are you using a custom equiv where "steam generator" or "two-phase flow" would be known as phrases? If so, the + will force them to be treated as individual terms instead of a phrase.
kzinda
Posts: 62
Joined: Fri Nov 30, 2001 6:18 am

Plus sign operators

Post by kzinda »

No, not in this case.
User avatar
mark
Site Admin
Posts: 5519
Joined: Tue Apr 25, 2000 6:56 pm

Plus sign operators

Post by mark »

hmmmm

What non-default apicp, sqlcp, and sql set settings are you using?
Do you get any error or warning messages in the HTML source of the results document when doing either query?
Try turning on <tracesql 2> or <tracesql 3> to confirm the actual sql being executed.
Does it do the same thing in tsql? (if so, what does tsql -V -V have to say about index usage?)
kzinda
Posts: 62
Joined: Fri Nov 30, 2001 6:18 am

Plus sign operators

Post by kzinda »

Here is the apicp stuff. The "if"s set things
depending on wether or not synonyms are turned on.

User synonyms were not turned on in the case I am citing.


<if $uEquiv eq $YES and $pEquivs neq 'none'>
Using Synonyms<br>
<sandr " " "" $pEquivs>
<strfmt "%s/%s" $EQUIVSDIR $ret>
<$outputBin=$ret>

<apicp eqprefix $outputBin>
<apicp alequivs 1>
<apicp keepeqvs 1>
<else>
<$pEquivs='none'>
</if>

<if $ucEquiv eq $YES and $cEquivs neq 'none'>
Using Company Synonyms<br>
<sandr " " "" $cEquivs>
<strfmt "%s/%s" $EQUIVSDIR $ret>
<$outputBin=$ret>
<if $uEquiv eq $YES and $pEquivs neq 'none'>
<apicp ueqprefix $outputBin>
<else>
<apicp eqprefix $outputBin>
</if>
<apicp keepeqvs 1>
<apicp alequivs 1>
<else>
<$cEquivs='none'>
</if>

<apicp alpostproc 1>
<apicp allinear 1>
<apicp alintersects 1>
<apicp intersects 255>
<apicp alwithin 1>
<apicp minwordlen 5>
User avatar
mark
Site Admin
Posts: 5519
Joined: Tue Apr 25, 2000 6:56 pm

Plus sign operators

Post by mark »

I think you want <apicp intersects -1> not 255. -1 means max for the supplied query. Anything else is an exact number. (The current vortex docs show the wrong default value. I'm guessing that's where you got 255.) It's not very often you can find 255 intersections of 2 terms ;-)

BTW, I didn't try to parse your if's. Please just supply the actual settings being used in the future.
Post Reply