如何在 ElasticSearch 中使用 Lucene SpanQuery

How to use lucene SpanQuery in ElasticSearch

对于我的项目,我想到了使用 ElasticSearch 的 Span Near Queries,但有一个限制,即某些标记可​​能必须使用 Fuzziness 进行搜索。我能够生成一组 SpanQuery (org.apache.lucene.search.spans.SpanQuery) 对象,其中一些启用了模糊,一些没有启用。我不知道如何在 ElasticSearch spanNearQuery 中使用这些 SpanQueries 集。

谁能帮我找到示例或文档的正确指针。有什么方法可以构造启用某些子句模糊的 ES SpanNearQueryBuilder 吗?

您可以使用 Span Multi Term Query:

将模糊查询包装到跨度查询中
{
    "span_near" : {
        "clauses" : [
            { "span_term" : { "field" : "value1" } },
            { "span_multi" : 
                "match" : {
                    "prefix" : { "user" :  { "field" : "value2" } }
                }
            }
        ],
        ...
    }
}