Page 1 of 1
Plus sign operators
Posted: Thu Apr 18, 2002 10:23 am
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.
Plus sign operators
Posted: Thu Apr 18, 2002 12:18 pm
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.
Plus sign operators
Posted: Thu Apr 18, 2002 12:49 pm
by kzinda
No, not in this case.
Plus sign operators
Posted: Thu Apr 18, 2002 1:09 pm
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?)
Plus sign operators
Posted: Thu Apr 18, 2002 1:55 pm
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>
Plus sign operators
Posted: Thu Apr 18, 2002 3:25 pm
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.