私は、C#を使用したASP.NETMVC3に基づくeコマースサイトで使用されているSolrNet3.6に取り組んでいます。
「CPUソケットタイプ」と呼ばれるフィルターが1つあり、その値は次のとおりです。
- AM2 +
- AM3 +
- AM2
Solrは、「AM2」でフィルタリングすると正しく機能しますが、「AM2+」または「AM3+」でフィルタリングすると機能しません。同時に、結果やエラーも取得できません。この問題が特殊文字に関連していることは知っていますが、これを処理する方法がわかりませんか?
クエリに関するSolrNetWikiページによると、次のようにSolrQueryByFieldメソッドを使用してみてください。
また、特別な文字のエスケープを処理できるという利点もあります。
cpusockettypeしたがって、フィールドがsolr schema.xmlファイルで名前が付けられていると仮定すると、コードは次のようになります。
ISolrOperations<Item> solr = ...
var items = solr.Query(new SolrQueryByField("cpusockettype", "AM2+"));