You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Jan Høydahl (Jira)" <ji...@apache.org> on 2019/09/18 11:22:00 UTC

[jira] [Commented] (LUCENE-8137) GraphTokenStreamFiniteStrings does not handle position inc > 1 in multi-word synoyms

    [ https://issues.apache.org/jira/browse/LUCENE-8137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16932317#comment-16932317 ] 

Jan Høydahl commented on LUCENE-8137:
-------------------------------------

I think I'm hitting this issue as well. We have SF followed by SGF.

For input "a hero", SF removes "a" and "hero" gets position=2. But if "hero" has a synonym, then the gap is eaten by SGF and "hero" and its synonym will have position=1. Attaching a patch with a test that I belive reproduces the issue (although my TokenStream karma is not very high).

[^SGF_SF_interaction.patch]

If you believe it is not the same issue, then I can open a new JIRA.

> GraphTokenStreamFiniteStrings does not handle position inc > 1 in multi-word synoyms
> ------------------------------------------------------------------------------------
>
>                 Key: LUCENE-8137
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8137
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 7.2.1, 8.0
>            Reporter: Jim Ferenczi
>            Assignee: Jim Ferenczi
>            Priority: Major
>         Attachments: SGF_SF_interaction.patch
>
>
> The automaton built for graph queries that contain multiple multi-word synonyms does not handle gaps if they appear in the middle of a multi-word synonym. In such case the token next to the gap is considered as part of the multi-word synonym. 
> Stop words that appear before or after multi-word synonyms are handled correctly in the current version but the synonym rule "part of speech, pos" for instance does not create the expected query if "of" is removed by a filter that is set after the synonym_graph.  One solution would be to reuse TokenStreamToAutomaton (with minor changes to add the ability to create token transitions rather than chars) which preserves gaps (as a transition) in the produced automaton.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org