1

このsolr utilメソッド、つまりSolrUtils::escapeQueryChars()を使用できるプログラミングの実際のシナリオが必要です。

現在、solrのクエリからクエリ文字をエスケープするために使用しています。

q:+人気:[10 TO *] +section:0

そして、私は使用しています

escapeQueryChars(+人気:[10 TO *] +セクション:0)

しかし、エスケープ後に結果を取得できません。

4

2 に答える 2

1

SolrUtils :: escapeQueryCharsは通常、Solrで特別な意味を持つクエリ内の文字をエスケープするために使用されます。

現在の文字のリストは+ - && || ! ( ) { } [ ] ^ " ~ * ? : \Solrで特別な意味を持っており、エスケープしないと動作が異なります。

たとえば、5*エスケープしない限り検索している場合は、ワイルドカード検索として動作し、から始まるトークンで結果を返します5

于 2013-02-08T04:27:24.993 に答える
0

クエリ値でのみ使用されます。

ほとんどの場合、ユーザーからのクエリを受け付けます。したがって、例外を回避するためにこれらの文字をエスケープすることが不可欠です

ユーザー検索クエリは次のようになります: 「Thomas' Calculus (12th Edition)」

$query = new SolrQuery('product_name:'.SolrUtils::escapeQueryChars($userQuery));
于 2014-02-26T23:40:49.860 に答える