mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-24 05:44:59 +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
|
The `_shutdown` API has been removed without a replacement. Nodes should be managed via operating
|
||||||
systems and the provided start/stop scripts.
|
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);
|
OffsetAttribute offset = stream.addAttribute(OffsetAttribute.class);
|
||||||
TypeAttribute type = stream.addAttribute(TypeAttribute.class);
|
TypeAttribute type = stream.addAttribute(TypeAttribute.class);
|
||||||
|
|
||||||
int position = 0;
|
int position = -1;
|
||||||
while (stream.incrementToken()) {
|
while (stream.incrementToken()) {
|
||||||
int increment = posIncr.getPositionIncrement();
|
int increment = posIncr.getPositionIncrement();
|
||||||
if (increment > 0) {
|
if (increment > 0) {
|
||||||
|
@ -53,18 +53,22 @@ public class AnalyzeActionTests extends ElasticsearchIntegrationTest {
|
|||||||
assertThat(token.getTerm(), equalTo("this"));
|
assertThat(token.getTerm(), equalTo("this"));
|
||||||
assertThat(token.getStartOffset(), equalTo(0));
|
assertThat(token.getStartOffset(), equalTo(0));
|
||||||
assertThat(token.getEndOffset(), equalTo(4));
|
assertThat(token.getEndOffset(), equalTo(4));
|
||||||
|
assertThat(token.getPosition(), equalTo(0));
|
||||||
token = analyzeResponse.getTokens().get(1);
|
token = analyzeResponse.getTokens().get(1);
|
||||||
assertThat(token.getTerm(), equalTo("is"));
|
assertThat(token.getTerm(), equalTo("is"));
|
||||||
assertThat(token.getStartOffset(), equalTo(5));
|
assertThat(token.getStartOffset(), equalTo(5));
|
||||||
assertThat(token.getEndOffset(), equalTo(7));
|
assertThat(token.getEndOffset(), equalTo(7));
|
||||||
|
assertThat(token.getPosition(), equalTo(1));
|
||||||
token = analyzeResponse.getTokens().get(2);
|
token = analyzeResponse.getTokens().get(2);
|
||||||
assertThat(token.getTerm(), equalTo("a"));
|
assertThat(token.getTerm(), equalTo("a"));
|
||||||
assertThat(token.getStartOffset(), equalTo(8));
|
assertThat(token.getStartOffset(), equalTo(8));
|
||||||
assertThat(token.getEndOffset(), equalTo(9));
|
assertThat(token.getEndOffset(), equalTo(9));
|
||||||
|
assertThat(token.getPosition(), equalTo(2));
|
||||||
token = analyzeResponse.getTokens().get(3);
|
token = analyzeResponse.getTokens().get(3);
|
||||||
assertThat(token.getTerm(), equalTo("test"));
|
assertThat(token.getTerm(), equalTo("test"));
|
||||||
assertThat(token.getStartOffset(), equalTo(10));
|
assertThat(token.getStartOffset(), equalTo(10));
|
||||||
assertThat(token.getEndOffset(), equalTo(14));
|
assertThat(token.getEndOffset(), equalTo(14));
|
||||||
|
assertThat(token.getPosition(), equalTo(3));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,6 +111,14 @@ public class AnalyzeActionTests extends ElasticsearchIntegrationTest {
|
|||||||
assertThat(token.getTerm(), equalTo("a"));
|
assertThat(token.getTerm(), equalTo("a"));
|
||||||
token = analyzeResponse.getTokens().get(3);
|
token = analyzeResponse.getTokens().get(3);
|
||||||
assertThat(token.getTerm(), equalTo("tset"));
|
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
|
@Test
|
||||||
|
Loading…
x
Reference in New Issue
Block a user