I don’t understand your question:

In general: can it be set? Yes, : 
PhraseQuery<https://lucene.apache.org/core/7_7_2/core/org/apache/lucene/search/PhraseQuery.html#PhraseQuery-int-java.lang.String-org.apache.lucene.util.BytesRef...->(int
 slop, 
String<https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true>
 field, 
BytesRef<https://lucene.apache.org/core/7_7_2/core/org/apache/lucene/util/BytesRef.html>...
 terms)
In my specific case: also Yes. I’m parsing the query myself in a custom parser, 
so yes I can do it

As far as I understand, the slop is not specific to a position
Please explain how this could help.

Jeroen

From: 陈志祥 <zhixiang....@alibaba-inc.com>
Sent: donderdag 9 januari 2020 16:31
To: java-user@lucene.apache.org
Subject: 回复:How to query for 'any word' in a phrase

could the slop parameter in phasequery be dynamically set?

------------------------------------------------------------------
发件人:Jeroen Lauwers<jeroen.lauw...@ctlo.net<mailto:jeroen.lauw...@ctlo.net>>
日 期:2020年01月09日 23:17:37
收件人:java-user@lucene.apache.org<java-user@lucene.apache.org<mailto:java-user@lucene.apache.org%3cjava-u...@lucene.apache.org>>
主 题:How to query for 'any word' in a phrase

Dear all,

Is there a way to construct (spans?) a phrase search like the following:
the quick brown * jumps over the * *
where * = any word but exactly 1 word

I introduced these *’s at a specific position, so a PhraseQuery with slop of 2 
is just not good enough
and the two *’s at the end must be matched as well.

Is there such a thing as a Term or BytesRef that always matches everything?

Thanks,
Jeroen

Reply via email to