Lucene中的“black lab*”宠物店“~5(多词短语近距离搜索)

Lucene中的“black lab*”宠物店“~5(多词短语近距离搜索),lucene,lucene.net,Lucene,Lucene.net,如何在Lucene中对两个多词短语进行近似搜索。例如,我想找到所有 黑色实验室*黑色拉布拉多犬、黑色拉布拉多犬等,带有5个单词的短语“宠物店”。我应该使用哪种分析仪?建议使用哪种查询解析器?我在Lucene.NET工作。我已经将ComplexPhraseQueryParser从Java移植到了C,但该解析器似乎没有起到作用,或者我只是用错了。我刚刚开始学习Lucene,非常感谢您的帮助。您只需要。您只需要。您可以使用一个: new SpanNearQuery( new SpanQuery

如何在Lucene中对两个多词短语进行近似搜索。例如,我想找到所有 黑色实验室*黑色拉布拉多犬、黑色拉布拉多犬等,带有5个单词的短语“宠物店”。我应该使用哪种分析仪?建议使用哪种查询解析器?我在Lucene.NET工作。我已经将ComplexPhraseQueryParser从Java移植到了C,但该解析器似乎没有起到作用,或者我只是用错了。我刚刚开始学习Lucene,非常感谢您的帮助。

您只需要。

您只需要。

您可以使用一个:

new SpanNearQuery(
    new SpanQuery[] {
        new SpanNearQuery(
            new SpanQuery[] {
                new SpanTermQuery(new Term(FIELD, "black")),
                new SpanMultiTermQueryWrapper<WildcardQuery>(new WildcardQuery(new Term(FIELD, "lab*"))),
            },
            0,
            true),
        new SpanNearQuery(
            new SpanQuery[] {
                new SpanTermQuery(new Term(FIELD, "pet")),
                new SpanTermQuery(new Term(FIELD, "shop")),
            },
            0,
            true),
    },
    5,
    true);
默认的Lucene QueryParser不支持span查询,但您可以尝试使用。在文档方面,我找不到其他的东西

您还可以找到并使用它。

您可以使用:

new SpanNearQuery(
    new SpanQuery[] {
        new SpanNearQuery(
            new SpanQuery[] {
                new SpanTermQuery(new Term(FIELD, "black")),
                new SpanMultiTermQueryWrapper<WildcardQuery>(new WildcardQuery(new Term(FIELD, "lab*"))),
            },
            0,
            true),
        new SpanNearQuery(
            new SpanQuery[] {
                new SpanTermQuery(new Term(FIELD, "pet")),
                new SpanTermQuery(new Term(FIELD, "shop")),
            },
            0,
            true),
    },
    5,
    true);
默认的Lucene QueryParser不支持span查询,但您可以尝试使用。在文档方面,我找不到其他的东西


您可能也会发现它很有用。

lucene.net 3.0.3中是否提供了SpanMultiTermQueryRapper?我不这么认为。如果它是:@Ricard Poole True,它就会在这个目录中。去看一看并尝试将其移植到C。有太多的依赖项。@pelican_george最新版本的Lucene.Net中提供了它:SpanMultitermQueryRapper在Lucene.Net 3.0.3中可用吗?我不这么认为。如果它是:@Ricard Poole True,它就会在这个目录中。查看并尝试将其移植到C。tho的依赖项太多。@pelican_george Lucene.Net的最新版本中提供了它: