When a search query contains a pipe character (|) followed by a non-numeric value (e.g. test|c), Solr incorrectly treats the value after the pipe as a payload and attempts to parse it as a float. This results in a runtime failure with the following error:

NumberFormatException: For input string: "c"
at org.apache.lucene.analysis.payloads.FloatEncoder.encode(FloatEncoder.java:31)
at org.apache.lucene.analysis.payloads.DelimitedPayloadTokenFilter.incrementToken(DelimitedPayloadTokenFi

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

ahmad.estaitia created an issue. See original summary.

ahmad.estaitia’s picture

StatusFileSize
new1.06 KB
mkalkbrenner’s picture

Category: Bug report » Support request
Status: Active » Fixed

This patch will break features.
Use the existing preg_replace processor.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.