我是solr的新手,并试图弄清楚如何在用户查询时将弯引号转换为直引号。 目前我正在使用该方法,它完全正常。
//converts raw user query string with curly quotes to straight quotes
private static String querystrPreprocessor(String query, SolrParams params)
{
query = SynonymExpandingExtendedDismaxQParserPlugin.convertUnicodeQuotes(query, params);
return query;
}
但是我想在solrconfig.xml中这样做 我已将solr.MappingCharFilterFactory添加到solrConfig.xml
<queryParser name="synonym_edismax" class="solr.SynonymExpandingExtendedDismaxQParserPlugin">
<lst name="charFilter">
<str name="class">solr.MappingCharFilterFactory</str>
<str name="mapping">mapping-FoldToASCII.txt</str>
</lst>
<lst name="tokenizer">
<str name="class">solr.PatternTokenizerFactory</str>
<str name="pattern"><![CDATA[(?:\s|\")+]]></str>
</lst>
<lst name="filter">
<str name="class">solr.ASCIIFoldingFilterFactory</str>
</lst>
</queryParser>
这是正确的方法吗? 另外,我如何在代码中使用它?我需要为它编写java代码吗?