Solr 5.4 を使用して、郵便番号を音声学的に索引付けおよび検索しようとしています。NGramFilterFactory と BeiderMorseFilterFactory を組み合わせてみましたが、うまくいかないようです。たとえば、「AB11 9RD」を格納してインデックス化し、「a B 11 nine Rd」として検索したいとします。ここに schema.xml を掲載しています。実装するためのヒントをいただければ幸いです。
<types>
<fieldType name="string" class="solr.StrField"/>
<fieldType name="postcode" class="solr.TextField" omitNorms="true">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<tokenizer class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="1"/>
</analyzer>
</fieldType>
<fieldType name="postcode_phonetic" class="solr.TextField" omitNorms="true">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<tokenizer class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="1"/>
<filter class="solr.UpperCaseFilterFactory"/>
<filter class="solr.BeiderMorseFilterFactory" nameType="GENERIC" ruleType="APPROX" concat="true" languageSet="auto"/>
</analyzer>
</fieldType>
<fields>
<copyField source="Postcode" dest="PostcodePhonetic"/>
<field name="Postcode" type="postcode" indexed="true" stored="true" multiValued="true"/>
<field name="PostcodePhonetic" type="postcode_phonetic" indexed="true" stored="false" multiValued="true"/>
<field name="PostcodePhonetic2" type="postcode_phonetic2" indexed="true" stored="false" multiValued="true"/>