2016-03-30 6 views
0

特定のジオグラフィックロケーション(boudingボックス内)に関連するドキュメントの検索には、Elasticsearch 2.2.1を使用します。新しい文書が既存のクエリに関連するかどうかを確認するために使用できるパーコレータを作成したいと考えています。ジオパーオレーターでのドット表記の使い方

これは、文書を含むインデックスにパーコレータを配置した場合に問題なく動作しますが、このdocumentに記載されている回避策とhereには、専用のパーコレータインデックスにpercolateクエリを入れる必要があります。

私はこのインデックスにパーコレーターを配置しよう:

厳格なフィールドの解像度となしフィールドマッピングを持つフィールドのために見つけることができます:

PUT /mypercindex/.percolator/1 
    {"query": {"filtered": {"filter": 
    {"bool": 
     {"should": 
      [ 
       {"geo_bounding_box": 
        {"location.coordinates": 
         {"bottom_right": 
          {"lat":50.0,"lon":8.0} 
         ,"top_left": 
          {"lat":54.0,"lon":3.0} 
         } 
        } 
       } 
      ] 
     } 
    } 
}}} 

私はそれを言って、エラーメッセージが表示されます名前[location.coordinates]

パーコレータのマニュアルはmentionedです。専用のパーコレータインデックスの場合は、n EEDへ:

は、通常のインデックスからマッピングはこれは私の問題を引き起こす可能性があり

浸出液指数にも使用可能であることを確認してくださいしかし、私は1つのマッピングを作成する方法についてのドキュメントを見つけることができません他のインデックスで利用可能なインデックス。私は私の文書インデックスと同じマッピングで専用のパーコレータインデックスを追加しようとしましたが、私はこれを行うと同じエラーメッセージが表示されます。

私の文書インデックスのマッピングは、このようになります。

{"my_mapping": { 
    "dynamic":"strict", 
    "properties":{ 
    "body":{ 
     "properties":{ 
      "author":{ 
       "type":"string", 
       "index":"not_analyzed" 
      }, 
      "hashtags":{ 
       "type":"string", 
       "index":"not_analyzed" 
      }, 
      "language":{ 
       "type":"string", 
       "index":"not_analyzed" 
      } 
      ,"text":{ 
       "type":"string", 
       "analyzer":"stopwords" 
      }, 
      "title":{ 
       "type":"string", 
       "analyzer":"stopwords" 
      } 
     } 
    }, 
    "location":{ 
     "properties":{ 
      "coordinates":{ 
       "type":"geo_point" 
      }, 
      "names":{ 
       "type":"string", 
       "analyzer":"standard" 
      } 
     } 
    } 
    } 
}} 

任意の助けいただければ幸いです!マッピングへ.percolatorマッピングを追加する

答えて

関連する問題