我正在开发一个使用弹性搜索的应用程序,并且在某些情况下,我想根据术语和语言环境进行搜索。我在本地主机上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”的条款,但不适用于此操作。任何建议将事先
你能发表你的文件是什么样子的例子吗? – javanna
我添加了一个文档,谢谢 –