我正在开发一个使用弹性搜索的应用程序,在某些情况下,我想根据术语和语言环境进行搜索。我正在本地主机上测试这个
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”但不适用的条款,并对此进行操作。任何建议将不胜感激
提前致谢