2016-04-20 17 views
0

次のマッピングを使用してインデックスを作成しようとしています。 createIndexRequestBuilder = client.admin().indices()。prepareCreate(document.indexName());私はfolowing検索をしようとした場合部分的なテキストの検索

  XContentBuilder mappingBuilder = jsonBuilder() 
       .startObject() 
        .startObject("my_type") 
         .startObject("properties") 
          .startObject("nombre") 
           .field("type", "string") 
           .field("index", "not_analyzed") 
          .endObject()         
          .startObject("codigo") 
           .field("type", "string") 
           .field("index", "not_analyzed") 
          .endObject()         
         .endObject() 
        .endObject() 
       .endObject(); 

     createIndexRequestBuilder.addMapping("my_type", mappingBuilder); 

次に、:

GET /hogan/tipos-documento/_search?pretty 
{ 
    "query": { 
     "bool": { 
      "must": [ 
       {"wildcard": { 
        "nombre": { 
        "value": "*Type 2*" 
        } 
       }} 
      ] 
     } 
    } 
} 

問題ありません。しかし、「値」を試してみると、「タイプ2」は「ワイルドカード」で大文字と小文字が区別されるため、結果はありません。別の方法でインデックスを検索する方法はありますか?

public class Entity{ 
    private Long id; 
    private String name; 
} 

と、ユーザーが検索

を作るために大文字または小文字の「名」(」の部分のテキストを入力することができる検索フォームを持つ..

簡素化、私のようなエンティティをしたいと思います

ありがとうございます

答えて

0

​​フィールドはindex: not_analyzedではなく、keywordおよびlowercaseアナライザで分析してください。このような何か:その後、

{ 
    "settings": { 
    "index": { 
     "analysis": { 
     "analyzer": { 
      "keyword_lowercase": { 
      "type": "custom", 
      "tokenizer": "keyword", 
      "filter": [ 
       "lowercase" 
      ] 
      } 
.... 

と、マッピングで:

  "nombre": { 
       "type": "string", 
       "analyzer": "keyword_lowercase" 
      } 
+0

私が試してみましたが、このconfigurationgを行うが、それでも私は場合の結果を見つけることができません:「値」:「* 2型* "、それは" value ":" * type * "と一緒に働いています。今、私は無意味なケースで検索できますが、2つの単語(タイプと2)を使用しません。 –

+0

マッピングが正しく適用されていますか?ドキュメントを索引付けした後、 'GET/some_index/_mapping'マッピングをチェックします。 –

+0

はい、私は確信しています。私は/ hogan/_mappingと/ hoganと一緒にチェックしました。/hoganを使って、異なるマッピングを見ることができます。インデックスを作成するために、私は答えにコードを使用しました:http://stackoverflow.com/a/36745584/6161679 –

関連する問題