私はsolrの特殊文字と「\」でエスケープすることについて多くのことを読みましたが、文字列フィールドタイプを使用していない限り、これがうまく機能しませんでした。
値として含まれるインデックス付きテキスト フィールドがa[b
あります。この値を検索して、そのテキストを含むドキュメントのみを返したいと思います (そのテキストだけを含む必要はありませんが、これらの 3 文字をその順序で含める必要があります)。私が試したいくつかのクエリと、Solr から見た parsedQuery を次に示します。
q=field:a\\[b
parsedquery: field:a field:b
(a または ab を含むものは何でも返すようです)
q=field:"a\\[b"
parsedquery: PhraseQuery(field:"a b")
(を含むものは何でも返すようですa b
)
私は箱から出して text_general を使用しています - 私はいくつかの推奨される変更を試みましたが、今のところうまくいきません。誰かがこの問題を抱えていて、それを機能させる方法を見つけましたか?