mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-23 21:38:15 +00:00
Analysis: Fix wrong position number by analyze API
Add breaking chages comment to migrate docs Fix the stopword included text using stopword filter
This commit is contained in:
parent
2ce0ea15b0
commit
933edf7bcc
@ -410,3 +410,7 @@ a single `expand_wildcards` parameter. See <<multi-index,the multi-index docs>>
|
||||
The `_shutdown` API has been removed without a replacement. Nodes should be managed via operating
|
||||
systems and the provided start/stop scripts.
|
||||
|
||||
=== Analyze API
|
||||
|
||||
The Analyze API return 0 as first Token's position instead of 1.
|
||||
|
||||
|
@ -220,7 +220,7 @@ public class TransportAnalyzeAction extends TransportSingleCustomOperationAction
|
||||
OffsetAttribute offset = stream.addAttribute(OffsetAttribute.class);
|
||||
TypeAttribute type = stream.addAttribute(TypeAttribute.class);
|
||||
|
||||
int position = 0;
|
||||
int position = -1;
|
||||
while (stream.incrementToken()) {
|
||||
int increment = posIncr.getPositionIncrement();
|
||||
if (increment > 0) {
|
||||
|
@ -53,18 +53,22 @@ public class AnalyzeActionTests extends ElasticsearchIntegrationTest {
|
||||
assertThat(token.getTerm(), equalTo("this"));
|
||||
assertThat(token.getStartOffset(), equalTo(0));
|
||||
assertThat(token.getEndOffset(), equalTo(4));
|
||||
assertThat(token.getPosition(), equalTo(0));
|
||||
token = analyzeResponse.getTokens().get(1);
|
||||
assertThat(token.getTerm(), equalTo("is"));
|
||||
assertThat(token.getStartOffset(), equalTo(5));
|
||||
assertThat(token.getEndOffset(), equalTo(7));
|
||||
assertThat(token.getPosition(), equalTo(1));
|
||||
token = analyzeResponse.getTokens().get(2);
|
||||
assertThat(token.getTerm(), equalTo("a"));
|
||||
assertThat(token.getStartOffset(), equalTo(8));
|
||||
assertThat(token.getEndOffset(), equalTo(9));
|
||||
assertThat(token.getPosition(), equalTo(2));
|
||||
token = analyzeResponse.getTokens().get(3);
|
||||
assertThat(token.getTerm(), equalTo("test"));
|
||||
assertThat(token.getStartOffset(), equalTo(10));
|
||||
assertThat(token.getEndOffset(), equalTo(14));
|
||||
assertThat(token.getPosition(), equalTo(3));
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,6 +111,14 @@ public class AnalyzeActionTests extends ElasticsearchIntegrationTest {
|
||||
assertThat(token.getTerm(), equalTo("a"));
|
||||
token = analyzeResponse.getTokens().get(3);
|
||||
assertThat(token.getTerm(), equalTo("tset"));
|
||||
|
||||
analyzeResponse = client().admin().indices().prepareAnalyze("of course").setTokenizer("standard").setTokenFilters("stop").get();
|
||||
assertThat(analyzeResponse.getTokens().size(), equalTo(1));
|
||||
assertThat(analyzeResponse.getTokens().get(0).getTerm(), equalTo("course"));
|
||||
assertThat(analyzeResponse.getTokens().get(0).getPosition(), equalTo(1));
|
||||
assertThat(analyzeResponse.getTokens().get(0).getStartOffset(), equalTo(3));
|
||||
assertThat(analyzeResponse.getTokens().get(0).getEndOffset(), equalTo(9));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
x
Reference in New Issue
Block a user