queryAnalyzerDefinition1.setFilters(queryFilterAttributes1); analyzedFieldTypeDefinition.setAttributes(analyzedFieldTypeAttributes); analyzedFieldTypeDefinition.setIndexAnalyzer(indexAnalyzerDefinition1); analyzedFieldTypeDefinition.setQueryAnalyzer(queryAnalyzerDefinition1); queryAnalyzerDefinition2.setFilters(queryFilterAttributes2); rawFieldTypeDefinition.setAttributes(rawFieldTypeAttributes); rawFieldTypeDefinition.setIndexAnalyzer(indexAnalyzerDefinition2); rawFieldTypeDefinition.setQueryAnalyzer(queryAnalyzerDefinition2);
queryAnalyzerDefinition1.setFilters(queryFilterAttributes1); analyzedFieldTypeDefinition.setAttributes(analyzedFieldTypeAttributes); analyzedFieldTypeDefinition.setIndexAnalyzer(indexAnalyzerDefinition1); analyzedFieldTypeDefinition.setQueryAnalyzer(queryAnalyzerDefinition1); queryAnalyzerDefinition2.setFilters(queryFilterAttributes2); rawFieldTypeDefinition.setAttributes(rawFieldTypeAttributes); rawFieldTypeDefinition.setIndexAnalyzer(indexAnalyzerDefinition2); rawFieldTypeDefinition.setQueryAnalyzer(queryAnalyzerDefinition2);
/** * Adds (or replaces) a type definition for the {@link #addFields() fields used by this translation}. * * @throws SolrServerException if communicating with the Solr server failed * @throws IOException if communicating with the Solr server failed */ protected void addFieldType() throws SolrServerException, IOException { FieldTypeDefinition fieldTypeDefinition = new FieldTypeDefinition(); Map<String, Object> fieldTypeAttributes = new LinkedHashMap<>(); String name = "text_general_" + getTargetLocale().toString(); fieldTypeAttributes.put("name", name); fieldTypeAttributes.put("class", "solr.TextField"); fieldTypeDefinition.setAttributes(fieldTypeAttributes); AnalyzerDefinition analyzerDefinition = new AnalyzerDefinition(); analyzerDefinition.setAttributes( Collections.<String, Object>singletonMap("class", getAnalyzerType())); fieldTypeDefinition.setAnalyzer(analyzerDefinition); try { // The current version (5.5) of SolrJ/EmbeddedSolrServer doesn't support getting schema information, // so we do this the ugly way: try to add, check for errors, try to replace UpdateResponse response = new SchemaRequest.AddFieldType(fieldTypeDefinition).process(getClient()); if (response.getResponse().get("errors") != null) { response = new SchemaRequest.ReplaceFieldType(fieldTypeDefinition).process(getClient()); } this.logger.debug(response.toString()); } catch (Exception ex) { } }
/** * Adds (or replaces) a type definition for the {@link #addFields() fields used by this translation}. * * @throws SolrServerException if communicating with the Solr server failed * @throws IOException if communicating with the Solr server failed */ protected void addFieldType() throws SolrServerException, IOException { FieldTypeDefinition fieldTypeDefinition = new FieldTypeDefinition(); Map<String, Object> fieldTypeAttributes = new LinkedHashMap<>(); String name = "text_general_" + getTargetLocale().toString(); fieldTypeAttributes.put("name", name); fieldTypeAttributes.put("class", "solr.TextField"); fieldTypeDefinition.setAttributes(fieldTypeAttributes); AnalyzerDefinition analyzerDefinition = new AnalyzerDefinition(); analyzerDefinition.setAttributes( Collections.<String, Object>singletonMap("class", getAnalyzerType())); fieldTypeDefinition.setAnalyzer(analyzerDefinition); try { // The current version (5.5) of SolrJ/EmbeddedSolrServer doesn't support getting schema information, // so we do this the ugly way: try to add, check for errors, try to replace UpdateResponse response = new SchemaRequest.AddFieldType(fieldTypeDefinition).process(getClient()); if (response.getResponse().get("errors") != null) { response = new SchemaRequest.ReplaceFieldType(fieldTypeDefinition).process(getClient()); } this.logger.debug(response.toString()); } catch (Exception ex) { } }
@SuppressWarnings("unchecked") private static void fillFieldTypeDefinition(FieldTypeDefinition fieldTypeDefinition, NamedList<Object> fieldTypeNamedList) { Map<String, Object> fieldTypeAttributes = extractAttributeMap(fieldTypeNamedList); fieldTypeDefinition.setAttributes(fieldTypeAttributes); NamedList<Object> analyzerNamedList = (NamedList<Object>) fieldTypeNamedList.get("analyzer"); if (analyzerNamedList != null) {
@SuppressWarnings("unchecked") private static void fillFieldTypeDefinition(FieldTypeDefinition fieldTypeDefinition, NamedList<Object> fieldTypeNamedList) { Map<String, Object> fieldTypeAttributes = extractAttributeMap(fieldTypeNamedList); fieldTypeDefinition.setAttributes(fieldTypeAttributes); NamedList<Object> analyzerNamedList = (NamedList<Object>) fieldTypeNamedList.get("analyzer"); if (analyzerNamedList != null) {