2017-07-14 3 views
1

は、私がデータストレージとしてElasticSearchを使用春のアプリをサポートする必要がある、と私はこの問題は、JavaのモデルのフィールドはElasticSearchモデルフィールドをSpringのKeyWordタイプとしてマークするにはどうすればよいですか?

@Field(type = FieldType.String) 

のような注釈が付けられている

POST http://localhost:1234/library/myType/_search 
{ 
    "query": { 
     "bool": {   
      "filter": {"term": {"myTextField": "filterValue"}}   
     }   
    } 
} 

のように、用語によって、いくつかのデータのフィルタリングを抽出必要好きではない

@Field(type = FieldType.Keyword) 

私はキーワード注釈をGoogleに試みましたが、明らかにできない回避策があるようです。モデルフィールドにアノテーションを付けてクエリの用語でフィルタリングする方法

+0

はどのバージョンを使用していますか?とES? – Val

+0

@Val ESバージョンは2.3.4、spring-web-4.3.3 – Oxoron

+0

Spring Webではなく、SpringデータES – Val

答えて

1

keywordデータ型はES 5で追加されたため、spring-data-es 2.0.3では見つかりません。

あなたはすなわち、代わりにこのように、not_analyzedとして、あなたのフィールドを宣言する必要があります:春データESの

@Field(type = FieldType.String, index = FieldIndex.not_analyzed) 
+0

ありがとうございます!それは間違いなく私が必要なものです。 – Oxoron

+0

素晴らしい、嬉しい助け! – Val

関連する問題