Skip to content

Commit 5a13bab

Browse files
committed
make lang field storable so it can be retrieved by field access
1 parent 7dc13f4 commit 5a13bab

File tree

4 files changed

+56
-5
lines changed

4 files changed

+56
-5
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ zh-tw
8383

8484
| Elasticsearch | Plugin | Release date |
8585
| -------------- | -------------- | ------------ |
86-
| 1.4.0 | 1.4.4.0 | Mar 4, 2014 |
86+
| 1.4.0 | 1.4.4.1 | Mar 4, 2014 |
8787
| 1.4.0 | 1.4.0.2 | Nov 26, 2014 |
8888
| 1.4.0 | 1.4.0.1 | Nov 20, 2014 |
8989
| 1.4.0 | 1.4.0.0 | Nov 14, 2014 |
@@ -93,7 +93,7 @@ zh-tw
9393

9494
## Installation
9595

96-
./bin/plugin -install langdetect -url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-langdetect/1.4.4.0/elasticsearch-langdetect-1.4.4.0-plugin.zip
96+
./bin/plugin -install langdetect -url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-langdetect/1.4.4.1/elasticsearch-langdetect-1.4.4.1-plugin.zip
9797

9898
Do not forget to restart the node after installing.
9999

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<groupId>org.xbib.elasticsearch.plugin</groupId>
99
<artifactId>elasticsearch-langdetect</artifactId>
10-
<version>1.4.4.0</version>
10+
<version>1.4.4.1</version>
1111

1212
<packaging>jar</packaging>
1313

src/main/java/org/xbib/elasticsearch/index/mapper/langdetect/LangdetectMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ public class LangdetectMapper extends AbstractFieldMapper<Object>{
3434
public static class Builder extends AbstractFieldMapper.Builder<Builder, LangdetectMapper> {
3535

3636
private StringFieldMapper.Builder contentBuilder;
37-
private StringFieldMapper.Builder langBuilder = stringField("lang");
37+
private StringFieldMapper.Builder langBuilder = stringField("lang").store(true);
3838
private ImmutableSettings.Builder settingsBuilder;
3939

4040
public Builder(String name) {
4141
super(name, new FieldType(Defaults.FIELD_TYPE));
4242
this.builder = this;
4343
this.contentBuilder = stringField(name);
44-
this.langBuilder = stringField("lang");
44+
this.langBuilder = stringField("lang").store(true);
4545
this.settingsBuilder = ImmutableSettings.settingsBuilder();
4646
}
4747

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package org.oxbib.elasticsearch.plugin;
2+
3+
import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder;
4+
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequestBuilder;
5+
import org.elasticsearch.action.index.IndexRequestBuilder;
6+
import org.elasticsearch.action.search.SearchRequestBuilder;
7+
import org.elasticsearch.action.search.SearchResponse;
8+
import org.elasticsearch.index.query.QueryBuilders;
9+
import org.elasticsearch.indices.IndexMissingException;
10+
import org.junit.Test;
11+
import org.oxbib.elasticsearch.plugin.helper.AbstractNodeTestHelper;
12+
13+
import static org.junit.Assert.assertEquals;
14+
15+
public class LangDetectBinaryTest extends AbstractNodeTestHelper {
16+
17+
@Test
18+
public void testLangDetectBinary() throws Exception {
19+
CreateIndexRequestBuilder createIndexRequestBuilder =
20+
new CreateIndexRequestBuilder(client("1").admin().indices()).setIndex("test");
21+
createIndexRequestBuilder.addMapping("someType", "{\n" +
22+
" \"someType\" : {\n" +
23+
" \"properties\": {\n" +
24+
" \"content\": {\n" +
25+
" \"type\": \"multi_field\",\n" +
26+
" \"fields\": {\n" +
27+
" \"content\": {\n" +
28+
" \"type\": \"string\"\n" +
29+
" },\n" +
30+
" \"language\": {\n" +
31+
" \"type\": \"langdetect\"\n" +
32+
" }\n" +
33+
" }\n" +
34+
" }\n" +
35+
" }\n" +
36+
" }\n" +
37+
"}");
38+
createIndexRequestBuilder.execute().actionGet();
39+
IndexRequestBuilder indexRequestBuilder =
40+
new IndexRequestBuilder(client("1")).setIndex("test").setType("someType").setId("1")
41+
.setSource("content", "IkdvZCBTYXZlIHRoZSBRdWVlbiIgKGFsdGVybmF0aXZlbHkgIkdvZCBTYXZlIHRoZSBLaW5nIg==");
42+
indexRequestBuilder.setRefresh(true).execute().actionGet();
43+
SearchRequestBuilder searchRequestBuilder =
44+
new SearchRequestBuilder(client("1"))
45+
.setIndices("test")
46+
.setQuery(QueryBuilders.matchAllQuery())
47+
.addField("content.language.lang");
48+
SearchResponse searchResponse = searchRequestBuilder.execute().actionGet();
49+
assertEquals("en", searchResponse.getHits().getAt(0).field("content.language.lang").getValue());
50+
}
51+
}

0 commit comments

Comments
 (0)