mm with sow set to false bug

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

mm with sow set to false bug

Basel Ariqat
Hello,

We decided to upgrade solr to use Synonym graph filter, and this filter
requires sow to be set to false.
But after setting sow to false we’ve started to see some unexpected
behaviour and after digging down the problem we’ve found out that mm
results in wrong behaviour when setting sow to false and mm.autoRelax
doesn’t work properly.

The tests were as follows:
solr setup:
Solr version:
6.6.0 and 6.6.1
Index:
id,value
doc1,“This is the first sentence”
doc2,“This is the second sentence”
doc3,“This is the third one”
doc4,“This is the last one”
Field type:
<fieldType name="test_field" class="solr.TextField"
positionIncrementGap="100">
    <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory"  ignoreCase="true"
words="stopwords.txt" />
    </analyzer>
</fieldType>
stopwords.txt file:
This
Is
The
random_word

Tests:
test 1:
Query string: This one
mm value: 2
mm.autoRelax: TRUE

Expected result: doc1
Actual result: doc1

test 2:
Query string: This one
mm value: 2
mm.autoRelax: FALSE

Expected result: nothing
Actual result: doc1

test 3:
Query string: This one
mm value: 1
mm.autoRelax: TRUE

Expected result: doc1
Actual result: doc1

test 4:
Query string: This one
mm value: 1
mm.autoRelax: FALSE

Expected result: nothing
Actual result: doc1


As we can see in the tests, mm.autoRelax isn’t working properly. It behaves
like it’s always true in the previous cases.
This behaviour was present in both solr 6.6.0 and 6.6.1

What can we do to keep using SynonymGraphFilter without introducing the
above issues with autoRelax and mm?