如何在ElasticSearch中使用lucene SpanQuery

时间:2015-03-26 11:46:42

标签: elasticsearch lucene

对于我的项目,我考虑使用ElasticSearch的Span Near Queries,其约束条件是,某些令牌可能必须使用Fuzziness进行搜索。我能够生成一组SpanQuery(org.apache.lucene.search.spans.SpanQuery)对象,其中一些启用了模糊,一些没有。我无法弄清楚如何在ElasticSearch spanNearQuery中使用这些SpanQueries集。

有人可以通过正确指向样本或文档来帮助我。有没有办法构建ES SpanNearQueryBuilder并启用一些子句模糊?

1 个答案:

答案 0 :(得分:3)

您可以使用Span Multi Term Query将模糊查询打包到范围查询中:

{
    "span_near" : {
        "clauses" : [
            { "span_term" : { "field" : "value1" } },
            { "span_multi" : 
                "match" : {
                    "prefix" : { "user" :  { "field" : "value2" } }
                }
            }
        ],
        ...
    }
}