Filter Elasticsearch复杂邻近查询
考虑到我的问题如下:Filter Elasticsearch复杂邻近查询,filter,elasticsearch,proximity,Filter,elasticsearch,Proximity,考虑到我的问题如下: 理事会*W/5(小费或小费) 上面的查询可以翻译为:查找任何相隔不超过5个单词的council*和(提示或提示) 因此,以下文本将匹配: 海港城市议会提示 委员会最佳提示 理事会十大建议 但这一个不应该匹配: 。。。谢尔港市议会。根本没有什么好的提示 我需要帮助来建立一个elasticsearch查询。我在考虑Regex查询,但我不太确定是否有更好的选择。谢谢您可以使用查询和的组合。我们可以使用下面的查询执行相同的搜索 { "query": { "s
理事会*W/5(小费或小费)
上面的查询可以翻译为:查找任何相隔不超过5个单词的council*和(提示或提示)
因此,以下文本将匹配:
- 海港城市议会提示
- 委员会最佳提示
- 理事会十大建议
- 。。。谢尔港市议会。根本没有什么好的提示
我需要帮助来建立一个elasticsearch查询。我在考虑Regex查询,但我不太确定是否有更好的选择。谢谢您可以使用查询和的组合。我们可以使用下面的查询执行相同的搜索
{
"query": {
"span_near": {
"clauses": [
{
"span_multi":
{
"match":
{
"prefix": { "text": "council"}
}
}
},
{
"span_or": {
"clauses": [
{
"span_term": {
"text": {
"value": "tip"
}
}
},
{
"span_term": {
"text": {
"value": "tips"
}
}
}
]
}
}
],
"slop": 5,
"in_order": true
}
}
}
需要注意的重要事项是span\u术语,它是您搜索的文本。在本例中,我只有一个名为“text”的字段Slop表示我们允许在术语之间使用的字数,按顺序表示字数顺序很重要。所以“议会小费”和“议会小费”不匹配。谢谢,伙计,这正是我想要的。我的查询非常复杂,我必须实现一些东西来使用这些span_*elasticsearch查询翻译这些查询。