apache / apache/lucene

StringIndexOutOfBoundsException on searchtime [LUCENE-2849]

Open
#3,923 5 comments 0 reactions 0 assignees View on GitHub
affects-version:3.0.2 legacy-jira-priority:Minor module:benchmark type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

I've been trying to run the example PrecisionRecall.java code from Lucene in Action II (downloaded the code, so its just as in the book). It gives a StringIndexOutOfBoundsException on my machine.

Figured it out. I copied QualityBenchmark and QualityStats from the Lucene source and inserted a debugline to get a view of the argument values in the function that throws the exception.

private String fracFormat(String frac) {
int k = frac.indexOf('.');
String s1 = padd+frac.substring(0,k);
int n = Math.max(k,6);
s1 = s1.substring(s1.length()-n);
return s1 + frac.substring(k);
}

This function assumes that a decimal '.' is being used. However, the PC's we use over here at uni have a different locale using a ',' for decimals. Think you might be able to catch that by using (new DecimalFormatSymbols().getDecimalSeparator()) instead of ('.')?

---
Migrated from [LUCENE-2849](https://issues.apache.org/jira/browse/LUCENE-2849) by Jeroen Vuurens, updated Jan 07 2011
Environment:
```
Windows XP
```

Attachments: [LUCENE-2849.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-2849/LUCENE-2849.patch)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.