0

我是 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代码吗?

4

0 回答 0