Lucene中SpanQuery的目的是什么?

22

有人能解释一下什么是SpanQuery,以及它的典型用例是什么吗?

文档非常简洁,并且一直提到“span”的概念,我不太确定我是否理解。

4个回答

18

Spans提供了Lucene的接近搜索功能。它们用于查找多个术语彼此接近,而无需要求这些术语按特定顺序出现。您可以指定要查找的术语以及它们必须接近的距离。您可以将这些Span查询与彼此或其他类型的Lucene查询结合使用。


1
查询中的slop和没有slop有什么不同? - Joel
1
这很有用 http://www.lucidimagination.com/blog/2009/07/18/the-spanquery/ - Joel
3
以上评论的当前链接:https://lucidworks.com/blog/the-spanquery/ - Paul
3
“使用slop查询”可以在搜索时使用分析器,但“span”无法使用。 "Span"具有顺序特性,在具有slop查询的情况下缺失该特性。 - Raghu
我找到的关于SpanQuery的有效链接是https://massiveprogramming.blogspot.com/2014/10/the-spanquery-lucidworks.html。 - nantitv

5

1
当前链接:https://lucidworks.com/blog/the-spanquery/ - Jeff Evans

4

一个span查询是一种查询,它返回有关文档中每个匹配项发生位置的信息。您可以使用getSpans()方法获取这些位置。

以下幻灯片(不幸的是,它们是Powerpoint格式)包含一个示例:http://www.cnlp.org/apachecon2005/AdvancedLucene.ppt


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接