2017-03-15 11 views
0

これは、入力文字列からすべての特殊文字を削除することとは少し異なります。私はちょうどそれをそのままにしたい。たとえば、次のようにSolrクエリ - すべての特殊文字の論理的解釈を削除するにはどうすればよいですか?

クエリ:母とララが

1. Haha 
2. And 
3. LaLa 

ない

1. Haha 
2. LaLa 

や、同じロジック、特殊文字の単一の入力と同じようにトークン化されます:

`! , . : ; OR NOT < >` 

...自身(論理的なコンストラクタではなく、データベースにarがある場合、クエリは結果を返します。これらの名前が存在します)

答えて

1

フィールドまたは生のクエリパーサーを使用すると、解析または変換せずに入力したクエリ文字列を検索できます。

q = {!field f='title'} Haha AND LaLa 

[デバッグレスポンス]

<lst name="debug"> 
<str name="rawquerystring">{!field f='title'}Haha AND LaLa</str> 
<str name="querystring">{!field f='title'}Haha AND LaLa</str> 
<str name="parsedquery">title:Haha AND LaLa</str> 
<str name="parsedquery_toString">title:Haha AND LaLa</str> 
<str name="QParser"/> 
</lst> 

あなたは "母とララ" を含む文書を探し応答のSolrから見ることができるように。 フィールドクエリパーザは、論理演算子ではなく検索キーワードとして "AND"を扱います。

+0

これは便利ですが、クエリ側についてです。問題はインデックス側についてのことでした。あなたは一般的に有用にするために両方の側面を提供するために答えを更新できますか? –

関連する問題