私はElasticSearchを使用するアプリケーションを開発していますが、場合によっては、用語やロケールに応じて検索したいと思います。ローカルホストでこれをテストしています
http://localhost:9200/index/type/_search
およびパラメータ
query : {
wildcard : { "term" : "myterm*" }
},
filter : {
and : [
{
term : { "lang" : "en" }
},
{
term : { "translations.lang" : "tr" } //this is subdocument search
},
]
}
サンプルドキュメントは次のとおりです。
{
"_index": "twitter",
"_type": "tweet",
"_id": "5084151d2c6e5d5b11000008",
"_score": null,
"_source": {
"lang": "en",
"term": "photograph",
"translations": [
{
"_id": "5084151d2c6e5d5b11000009",
"lang": "tr",
"translation": "fotoğraf",
"score": "0",
"createDate": "2012-10-21T15:30:37.994Z",
"author": "anonymous"
},
{
"_id": "50850346532b865c2000000a",
"lang": "tr",
"translation": "resim",
"score": "0",
"createDate": "2012-10-22T08:26:46.670Z",
"author": "anonymous"
}
],
"author": "anonymous",
"createDate": "2012-10-21T15:30:37.994Z"
}
}
入力言語が「en」、出力言語が「tr」のワイルドカード(オートコンプリート用)で用語を取得しようとしています。「myterm」はあるが適用されない用語を取得しており、これを操作しています。任意の提案をいただければ幸いです
前もって感謝します