/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.solr.spelling; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.SpellingParams; import org.apache.solr.handler.component.SpellCheckComponent; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class SpellCheckCollatorWithCollapseTest extends SolrTestCaseJ4 { @BeforeClass public static void beforeClass() throws Exception { initCore("solrconfig-collapseqparser.xml", "schema11.xml"); } @Override @Before public void setUp() throws Exception { super.setUp(); clearIndex(); assertU(commit()); } @Test public void test() throws Exception { for(int i=0 ; i<200 ; i++) { String[] doc = {"id","" + i, "group_i", "" + (i % 10), "a_s", ((i%2)==0 ? "love" : "peace")}; assertU(adoc(doc)); if(i%5==0) { assertU(commit()); } } assertU(commit()); assertQ( req( SpellCheckComponent.COMPONENT_NAME, "true", SpellCheckComponent.SPELLCHECK_DICT, "direct", SpellingParams.SPELLCHECK_COUNT, "10", SpellingParams.SPELLCHECK_COLLATE, "true", SpellingParams.SPELLCHECK_MAX_COLLATION_TRIES, "5", SpellingParams.SPELLCHECK_MAX_COLLATIONS, "1", CommonParams.Q, "a_s:lpve", CommonParams.QT, "spellCheckCompRH_Direct", SpellingParams.SPELLCHECK_COLLATE_MAX_COLLECT_DOCS, "5", CommonParams.FQ, "{!collapse field=group_i}", "expand", "true"), "//lst[@name='spellcheck']/lst[@name='collations']/str[@name='collation']='a_s:love'"); } }