本文介绍了在弹性搜索的子文档中搜索术语的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个下面的索引文档结构;
{
/ pre>
term:some term
inlang:some lang
translations:{
{
translation:some translation,
outlang:some lang ,
翻译:{
{
翻译:一些翻译1
outlang:some lang 1
translations {...}
}
}
},
...
}
}
我想在这样的文档中找到一个翻译。但是,本翻译可能存在于本文档的任何级别。是否可以通过使用弹性搜索动态地搜索项?
例如,
{
query :{
* .translation:searchterm
}
}
提前感谢
解决方案我已经设法用以下查询:
{
query:{
query_string:{
query:someterm,
fields:[* .translation]
}
}
}
或
{
查询:{
multi_match:{
query:someterm,
fields:[* .translation]
}
}
}
您可以看到弹性搜索的Google群组对话
I have a index document structure like below;
{ "term":"some term", "inlang":"some lang" "translations" : { { "translation":"some translation", "outlang":"some lang", "translations" : { { "translation":"some translation 1" "outlang": "some lang 1" "translations" : {...} } } }, ... } }
I want to find a translation in such documents. However, this translation can exists at any level of this document. Is it possible to search term dynamically by using elasticsearch?
For example,
{ "query": { "*.translation":"searchterm" } }
Thanks in advance
解决方案I have managed to do that with following query;
{ "query": { "query_string": { "query": "someterm", "fields": ["*.translation"] } } }
or
{ "query": { "multi_match": { "query": "someterm", "fields": ["*.translation"] } } }
You can see elasticsearch google group conversation here
这篇关于在弹性搜索的子文档中搜索术语的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!