3

solr のファセット クエリで単語を検索する方法 (つまり、ファセットによる検索でワイルドカードを使用する方法)
、たとえば、ファセットフィールドにMyFieldがあり、次の値がある場合:

  1. ValX ValY
  2. ValX
  3. ValZ ValW
  4. ValX ValV
  5. ヴァラヴァルエックス
  6. ValA ValB

を検索するfq=MyField:ValXと、2 番目のレコードのみが取得されます。ValX を検索して、1 番目、2 番目、4 番目、5 番目のレコードを取得するにはどうすればよいですか? は許可されておらず、5 番目のレコードは返されません
。 どんなアイデアでも大歓迎です。fq=MyField:*ValX*fq=MyField:ValX*

4

2 に答える 2

2

MyField は schema.xml でどのように定義されていますか? たとえば、トークン化されていないように見えます

type="string"

type="text"

フィールド値はトークン化されるため、

fq=MyField:valx

1、2、4、および 5 に一致する必要があります。

于 2012-09-09T15:09:50.687 に答える
1

ファセット クエリのワイルドカード カードが機能するはずです。

ワイルドカードクエリは分析を受けないため、試すことができますfq=MyField:valx*

あなたがしようとしているのは、フィルタリングではなく検索です。
小文字のフィルターと検索で空白のトークナイザーを使用するq=MyField:valxと、結果と一致します。プレフィックスおよびワイルドカード クエリも使用できます。

于 2012-09-09T14:21:04.750 に答える