1

順序付きとは、ドキュメント内で term1 が常に term2 の前に来ることを意味します。

2 つの文書があります: 1. 「順序付きとは、文書内で term1 が常に term2 の前に来ることを意味します」 2. 「順序付きとは、文書内で term2 が常に term1 の前に来ることを意味します」

私がクエリを作成した場合:

"term1 term2"~Integer.MAX_VALUE

私の結果は次のとおりです。2つのドキュメント

1 つの結果を取得するクエリを実行するにはどうすればよいですか (term1 が term2 の前にある場合のみ):

何か案は?

4

2 に答える 2

1

SpanNearQueryを使用する必要があります
。これは、互いに近いスパンに一致します。slop、介在する一致しない位置の最大数、および一致が in-order である必要があるかどうかを指定できます。

ただし、Solr の dismax および edismax クエリ パーサーは句クエリを使用するため、一致は常に順不同です。

SurroundQueryParserは、Span クエリをサポートしており、構文をわずかに変更して、順序付けされた用語と順序付けられていない用語の両方に対してクエリを作成するオプションを使用できます。
ただし、このクエリ パーサーはトランクでのみ使用できます。

詳細情報 @ http://www.lucidimagination.com/blog/2009/02/22/exploring-query-parsers/

于 2011-11-06T17:35:18.417 に答える
0

スパン クエリを検索します。http://www.lucidimagination.com/blog/2009/07/18/the-spanquery/

于 2011-11-04T06:41:27.670 に答える