Using sow=true, does split the word on whitespaces but it will not look for
synonyms of "soap powder" anymore, rather it expands separate synonyms for
"soap" and "powder".



Best Regards,
Atin Janki


On Mon, Mar 16, 2020 at 4:59 PM Audrey Lorberfeld -
audrey.lorberf...@ibm.com <audrey.lorberf...@ibm.com> wrote:

> Have you set sow=true in your search handler? I know that we have it set
> to false (sow = split on whitespace) because we WANT multi-token synonyms
> retained as multiple tokens.
>
> On 3/16/20, 10:49 AM, "atin janki" <atinja...@gmail.com> wrote:
>
>     Hello everyone,
>
>     I am using solr 8.3.
>
>     After I included Synonym Graph Filter in my managed-schema file, I
>     have noticed that if the query string contains a multi-word synonym,
>     it considers that multi-word synonym as a single term and does not
>     break it, further suppressing the default search behaviour.
>
>     I am using StandardTokenizer.
>
>     Below is a snippet from managed-schema file -
>
>     >
>     > *  <fieldType name="text_general" class="solr.TextField"
> positionIncrementGap="100" multiValued="true">*
>     > *    <analyzer type="index">*
>     > *      <tokenizer class="solr.StandardTokenizerFactory"/>*
>     > *      <filter class="solr.StopFilterFactory" words="stopwords.txt"
> ignoreCase="true"/>*
>     > *      <filter class="solr.LowerCaseFilterFactory"/>*
>     > *    </analyzer>*
>     > *    <analyzer type="query">*
>     > *      <tokenizer class="solr.StandardTokenizerFactory"/>*
>     > *      <filter class="solr.StopFilterFactory" words="stopwords.txt"
> ignoreCase="true"/>*
>     > *      <filter class="solr.SynonymGraphFilterFactory" expand="true"
> ignoreCase="true" synonyms="synonyms.txt"/>*
>     > *      <filter class="solr.LowerCaseFilterFactory"/>*
>     > *    </analyzer>**  </fieldType>*
>
>
>     Here "*soap powder*" is the search *query* which is also a multi-word
>     synonym in the synonym file as-
>
>     > s(104254535,1,'soap powder',n,1,1).
>     > s(104254535,2,'built-soap powder',n,1,0).
>     > s(104254535,3,'washing powder',n,1,0).
>
>
>     I am sharing some screenshots for understanding the problem-
>
>     *without* Synonym Graph Filter => 2 docs returned  (screenshot at
>     below mentioned URL) -
>
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__ibb.co_zQXx7mV&d=DwIBaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_8ViuZIeSRdQjONA8yHWPZIBlhj291HU3JpNIx5a55M&m=20lvJFDIjFQqyiTdHseNNeSlDRT2YSznQPoQnxGJQfM&s=QUaaR69psn7pqa3DtaC7MrTMFstQrQHgeuY0qeQTc0k&e=
>
>     *with* Synonym Graph Filter => 2 docs expected, only 1 returned
>     (screenshot at below mentioned URL) -
>
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__ibb.co_tp04Rzw&d=DwIBaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_8ViuZIeSRdQjONA8yHWPZIBlhj291HU3JpNIx5a55M&m=20lvJFDIjFQqyiTdHseNNeSlDRT2YSznQPoQnxGJQfM&s=pLPVuD71W1IhokvFuu4F672lX8Nk07b0X9pCVETRjks&e=
>
>
>     Has anyone experienced this before? If yes, is there any workaround ?
>     Or is it an expected behaviour?
>
>     Regards,
>     Atin Janki
>
>
>

Reply via email to