package org.apache.solr.analysis.author; import java.util.Map; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.util.TokenFilterFactory; public class AuthorCreateQueryVariationsFilterFactory extends TokenFilterFactory { private boolean plainSurname = false; private int acronymVariations = 0; private String tokenType = null; private boolean addWildcards = false; private boolean shortenMultiname = false; private boolean lookAtPayloadForOrigAuthor = false; public AuthorCreateQueryVariationsFilterFactory(Map<String,String> args) { super(args); if (args.containsKey("acronymVariations")) { acronymVariations = Integer.parseInt(args.remove("acronymVariations")); } if (args.containsKey("plainSurname")) { plainSurname = args.remove("plainSurname").equals("true"); } if (args.containsKey("addWildcards")) { addWildcards = args.remove("addWildcards").equals("true"); } if (args.containsKey("addShortenedMultiName")) { shortenMultiname = args.remove("addShortenedMultiName").equals("true"); } if (args.containsKey("lookAtPayloadForOrigAuthor")) { lookAtPayloadForOrigAuthor = args.remove("lookAtPayloadForOrigAuthor").equals("true"); } if (args.containsKey("tokenType")) { tokenType = args.remove("tokenType"); if (tokenType.equals("null")) tokenType = null; } if (!args.isEmpty()) { throw new IllegalArgumentException("Unknown parameter(s): " + args); } } public TokenStream create(TokenStream input) { return new AuthorCreateQueryVariationsFilter(input, tokenType, plainSurname, acronymVariations, addWildcards, shortenMultiname, lookAtPayloadForOrigAuthor); } }