diff --git a/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiDocMaker.java b/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiDocMaker.java deleted file mode 100644 index f202b0c16ce..00000000000 --- a/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiDocMaker.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.apache.lucene.benchmark.byTask.feeds; - -/** - * 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. - */ - -import org.apache.lucene.benchmark.byTask.utils.Config; - -/** - * A {@link DocMaker} which reads the English Wikipedia dump. Uses - * {@link EnwikiContentSource} as its content source, regardless if a different - * content source was defined in the configuration. - * @deprecated Please use {@link DocMaker} instead, with content.source=EnwikiContentSource - */ -@Deprecated -public class EnwikiDocMaker extends DocMaker { - @Override - public void setConfig(Config config) { - super.setConfig(config); - // Override whatever content source was set in the config - source = new EnwikiContentSource(); - source.setConfig(config); - System.out.println("NOTE: EnwikiDocMaker is deprecated; please use DocMaker instead (which is the default if you don't specify doc.maker) with content.source=EnwikiContentSource"); - } -} diff --git a/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocMaker.java b/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocMaker.java deleted file mode 100644 index 5f54c0f6646..00000000000 --- a/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocMaker.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.apache.lucene.benchmark.byTask.feeds; - -/** - * 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. - */ - -import org.apache.lucene.benchmark.byTask.utils.Config; - -/** - * A DocMaker reading one line at a time as a Document from a single file. This - * saves IO cost (over DirContentSource) of recursing through a directory and - * opening a new file for every document. It also re-uses its Document and Field - * instance to improve indexing speed.
- * The expected format of each line is (arguments are separated by <TAB>): - * title, date, body. If a line is read in a different format, a - * {@link RuntimeException} will be thrown. In general, you should use this doc - * maker with files that were created with - * {@link org.apache.lucene.benchmark.byTask.tasks.WriteLineDocTask}.
- *
- * Config properties: - * - * @deprecated Please use {@link DocMaker} instead, with content.source=LineDocSource - */ -@Deprecated -public class LineDocMaker extends DocMaker { - @Override - public void setConfig(Config config) { - super.setConfig(config); - source = new LineDocSource(); - source.setConfig(config); - System.out.println("NOTE: LineDocMaker is deprecated; please use DocMaker instead (which is the default if you don't specify doc.maker) with content.source=LineDocSource"); - } -} diff --git a/lucene/contrib/db/bdb-je/src/java/org/apache/lucene/store/je/JEDirectory.java b/lucene/contrib/db/bdb-je/src/java/org/apache/lucene/store/je/JEDirectory.java index 83c6b98386e..8e2e760d697 100644 --- a/lucene/contrib/db/bdb-je/src/java/org/apache/lucene/store/je/JEDirectory.java +++ b/lucene/contrib/db/bdb-je/src/java/org/apache/lucene/store/je/JEDirectory.java @@ -21,12 +21,7 @@ import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; +import java.util.*; import org.apache.lucene.store.Directory; import org.apache.lucene.store.IndexInput; @@ -195,6 +190,10 @@ public class JEDirectory extends Directory { return new JEIndexInput(this, name); } + @Override + public void sync(Collection names) throws IOException { + } + @Override public Lock makeLock(String name) { return new JELock(); diff --git a/lucene/contrib/db/bdb/src/java/org/apache/lucene/store/db/DbDirectory.java b/lucene/contrib/db/bdb/src/java/org/apache/lucene/store/db/DbDirectory.java index 74478b1ed09..829dbedda3d 100644 --- a/lucene/contrib/db/bdb/src/java/org/apache/lucene/store/db/DbDirectory.java +++ b/lucene/contrib/db/bdb/src/java/org/apache/lucene/store/db/DbDirectory.java @@ -21,12 +21,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.ByteArrayInputStream; import java.io.DataInputStream; -import java.util.Set; -import java.util.HashSet; -import java.util.List; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Collections; +import java.util.*; import org.apache.lucene.store.Directory; import org.apache.lucene.store.Lock; @@ -211,6 +206,10 @@ public class DbDirectory extends Directory { } @Override + public void sync(Collection names) throws IOException { + } + + @Override public IndexInput openInput(String name) throws IOException { diff --git a/lucene/contrib/demo/src/java/org/apache/lucene/demo/html/SimpleCharStream.java b/lucene/contrib/demo/src/java/org/apache/lucene/demo/html/SimpleCharStream.java index fedf92d9456..a1727ff689f 100644 --- a/lucene/contrib/demo/src/java/org/apache/lucene/demo/html/SimpleCharStream.java +++ b/lucene/contrib/demo/src/java/org/apache/lucene/demo/html/SimpleCharStream.java @@ -204,7 +204,7 @@ public class SimpleCharStream } /** - * @deprecated + * @deprecated (gen) * @see #getEndColumn */ @@ -213,7 +213,7 @@ public class SimpleCharStream } /** - * @deprecated + * @deprecated (gen) * @see #getEndLine */ diff --git a/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java b/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java index 4829cd24a71..11d8e533ea2 100644 --- a/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java +++ b/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java @@ -37,17 +37,7 @@ public class TextFragment this.textStartPos = textStartPos; this.fragNum = fragNum; } - /** - * @deprecated Use {@link #TextFragment(CharSequence, int, int)} instead. - * This constructor will be removed in Lucene 4.0 - */ - @Deprecated - public TextFragment(StringBuffer markedUpText,int textStartPos, int fragNum) - { - this.markedUpText=markedUpText; - this.textStartPos = textStartPos; - this.fragNum = fragNum; - } + void setScore(float score) { this.score=score; diff --git a/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java b/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java index 2d90077d22f..064f1da3d9f 100644 --- a/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java +++ b/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java @@ -107,25 +107,12 @@ public abstract class BaseFragmentsBuilder implements FragmentsBuilder { return fragments.toArray( new String[fragments.size()] ); } - @Deprecated - protected String[] getFieldValues( IndexReader reader, int docId, String fieldName) throws IOException { - Document doc = reader.document( docId, new MapFieldSelector( new String[]{ fieldName } ) ); - return doc.getValues( fieldName ); // according to Document class javadoc, this never returns null - } - protected Field[] getFields( IndexReader reader, int docId, String fieldName) throws IOException { // according to javadoc, doc.getFields(fieldName) cannot be used with lazy loaded field??? - Document doc = reader.document( docId, new MapFieldSelector( new String[]{ fieldName } ) ); + Document doc = reader.document( docId, new MapFieldSelector(fieldName) ); return doc.getFields( fieldName ); // according to Document class javadoc, this never returns null } - @Deprecated - protected String makeFragment( StringBuilder buffer, int[] index, String[] values, WeightedFragInfo fragInfo ){ - final int s = fragInfo.startOffset; - return makeFragment( fragInfo, getFragmentSource( buffer, index, values, s, fragInfo.endOffset ), s, - preTags, postTags, NULL_ENCODER ); - } - protected String makeFragment( StringBuilder buffer, int[] index, Field[] values, WeightedFragInfo fragInfo, String[] preTags, String[] postTags, Encoder encoder ){ final int s = fragInfo.startOffset; @@ -151,18 +138,6 @@ public abstract class BaseFragmentsBuilder implements FragmentsBuilder { return fragment.toString(); } - @Deprecated - protected String getFragmentSource( StringBuilder buffer, int[] index, String[] values, - int startOffset, int endOffset ){ - while( buffer.length() < endOffset && index[0] < values.length ){ - buffer.append( values[index[0]] ); - buffer.append( multiValuedSeparator ); - index[0]++; - } - int eo = buffer.length() < endOffset ? buffer.length() : endOffset; - return buffer.substring( startOffset, eo ); - } - protected String getFragmentSource( StringBuilder buffer, int[] index, Field[] values, int startOffset, int endOffset ){ while( buffer.length() < endOffset && index[0] < values.length ){ diff --git a/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java b/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java index 51b2d274ce0..b42fa173857 100644 --- a/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java +++ b/lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java @@ -70,12 +70,7 @@ import org.apache.lucene.search.WildcardQuery; import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.search.highlight.SynonymTokenizer.TestHighlightRunner; import org.apache.lucene.search.regex.RegexQuery; -import org.apache.lucene.search.regex.SpanRegexQuery; -import org.apache.lucene.search.spans.SpanNearQuery; -import org.apache.lucene.search.spans.SpanNotQuery; -import org.apache.lucene.search.spans.SpanOrQuery; -import org.apache.lucene.search.spans.SpanQuery; -import org.apache.lucene.search.spans.SpanTermQuery; +import org.apache.lucene.search.spans.*; import org.apache.lucene.store.Directory; import org.apache.lucene.util.automaton.BasicAutomata; import org.apache.lucene.util.automaton.CharacterRunAutomaton; @@ -300,8 +295,7 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte } public void testSpanRegexQuery() throws Exception { - query = new SpanOrQuery(new SpanQuery [] { - new SpanRegexQuery(new Term(FIELD_NAME, "ken.*")) }); + query = new SpanOrQuery(new SpanMultiTermQueryWrapper(new RegexQuery(new Term(FIELD_NAME, "ken.*")))); searcher = new IndexSearcher(ramDir, true); hits = searcher.search(query, 100); int maxNumFragmentsRequired = 2; @@ -698,8 +692,8 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte String text = searcher.doc(hits.scoreDocs[i].doc).get(HighlighterTest.FIELD_NAME); int maxNumFragmentsRequired = 2; String fragmentSeparator = "..."; - QueryScorer scorer = null; - TokenStream tokenStream = null; + QueryScorer scorer; + TokenStream tokenStream; tokenStream = analyzer.tokenStream(HighlighterTest.FIELD_NAME, new StringReader(text)); @@ -726,8 +720,8 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte String text = searcher.doc(hits.scoreDocs[i].doc).get(HighlighterTest.FIELD_NAME); int maxNumFragmentsRequired = 2; String fragmentSeparator = "..."; - QueryScorer scorer = null; - TokenStream tokenStream = null; + QueryScorer scorer; + TokenStream tokenStream; tokenStream = analyzer.tokenStream(HighlighterTest.FIELD_NAME, new StringReader(text)); @@ -754,8 +748,8 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte String text = searcher.doc(hits.scoreDocs[i].doc).get(HighlighterTest.FIELD_NAME); int maxNumFragmentsRequired = 2; String fragmentSeparator = "..."; - QueryScorer scorer = null; - TokenStream tokenStream = null; + QueryScorer scorer; + TokenStream tokenStream; tokenStream = analyzer.tokenStream(HighlighterTest.FIELD_NAME, new StringReader(text)); @@ -820,8 +814,7 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte Highlighter hg = new Highlighter(new SimpleHTMLFormatter(), new QueryTermScorer(query)); hg.setTextFragmenter(new NullFragmenter()); - String match = null; - match = hg.getBestFragment(analyzer, "data", "help me [54-65]"); + String match = hg.getBestFragment(analyzer, "data", "help me [54-65]"); assertEquals("help me [54-65]", match); } @@ -1133,7 +1126,7 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte TermQuery query = new TermQuery(new Term("data", goodWord)); - String match = null; + String match; StringBuilder sb = new StringBuilder(); sb.append(goodWord); for (int i = 0; i < 10000; i++) { @@ -1246,8 +1239,7 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte public void run() throws Exception { doSearching("AnInvalidQueryWhichShouldYieldNoResults"); - for (int i = 0; i < texts.length; i++) { - String text = texts[i]; + for (String text : texts) { TokenStream tokenStream = analyzer.tokenStream(FIELD_NAME, new StringReader(text)); Highlighter highlighter = getHighlighter(query, FIELD_NAME, tokenStream, HighlighterTest.this); @@ -1716,8 +1708,8 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte ramDir = newDirectory(); IndexWriter writer = new IndexWriter(ramDir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET, true))); - for (int i = 0; i < texts.length; i++) { - addDoc(writer, texts[i]); + for (String text : texts) { + addDoc(writer, text); } Document doc = new Document(); NumericField nfield = new NumericField(NUMERIC_FIELD_NAME, Store.YES, true); @@ -1881,7 +1873,7 @@ final class SynonymTokenizer extends TokenStream { } public Highlighter getHighlighter(Query query, String fieldName, TokenStream stream, Formatter formatter, boolean expanMultiTerm) { - Scorer scorer = null; + Scorer scorer; if (mode == QUERY) { scorer = new QueryScorer(query, fieldName); if(!expanMultiTerm) { diff --git a/lucene/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java b/lucene/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java index 9feb9c727de..59a3b45746a 100644 --- a/lucene/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java +++ b/lucene/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java @@ -64,8 +64,6 @@ public class InstantiatedIndexWriter implements Closeable { private PrintStream infoStream = null; - private int maxFieldLength = IndexWriter.DEFAULT_MAX_FIELD_LENGTH; - private final InstantiatedIndex index; private final Analyzer analyzer; @@ -431,9 +429,7 @@ public class InstantiatedIndexWriter implements Closeable { }; /** - * Adds a document to this index. If the document contains more than - * {@link #setMaxFieldLength(int)} terms for a given field, the remainder are - * discarded. + * Adds a document to this index. */ public void addDocument(Document doc) throws IOException { addDocument(doc, getAnalyzer()); @@ -441,9 +437,7 @@ public class InstantiatedIndexWriter implements Closeable { /** * Adds a document to this index, using the provided analyzer instead of the - * value of {@link #getAnalyzer()}. If the document contains more than - * {@link #setMaxFieldLength(int)} terms for a given field, the remainder are - * discarded. + * value of {@link #getAnalyzer()}. * * @param doc * @param analyzer @@ -555,9 +549,6 @@ public class InstantiatedIndexWriter implements Closeable { } tokens.add(token); // the vector will be built on commit. fieldSetting.fieldLength++; - if (fieldSetting.fieldLength > maxFieldLength) { - break; - } } tokenStream.end(); tokenStream.close(); @@ -666,14 +657,6 @@ public class InstantiatedIndexWriter implements Closeable { addDocument(doc, analyzer); } - public int getMaxFieldLength() { - return maxFieldLength; - } - - public void setMaxFieldLength(int maxFieldLength) { - this.maxFieldLength = maxFieldLength; - } - public Similarity getSimilarity() { return similarity; } diff --git a/lucene/contrib/misc/src/java/org/apache/lucene/index/FieldNormModifier.java b/lucene/contrib/misc/src/java/org/apache/lucene/index/FieldNormModifier.java index bf4804ed1e3..9cfd56803ca 100644 --- a/lucene/contrib/misc/src/java/org/apache/lucene/index/FieldNormModifier.java +++ b/lucene/contrib/misc/src/java/org/apache/lucene/index/FieldNormModifier.java @@ -22,6 +22,7 @@ import java.util.Date; import java.util.List; import java.util.ArrayList; +import org.apache.lucene.search.DefaultSimilarity; import org.apache.lucene.search.Similarity; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; @@ -52,19 +53,21 @@ public class FieldNormModifier { */ public static void main(String[] args) throws IOException { if (args.length < 3) { - System.err.println("Usage: FieldNormModifier [field2] ..."); + System.err.println("Usage: FieldNormModifier [field2] ..."); System.exit(1); } Similarity s = null; - if (!args[1].equals("-n")) { - try { - s = Class.forName(args[1]).asSubclass(Similarity.class).newInstance(); - } catch (Exception e) { - System.err.println("Couldn't instantiate similarity with empty constructor: " + args[1]); - e.printStackTrace(System.err); - System.exit(1); - } + + if (args[1].equals("-d")) + args[1] = DefaultSimilarity.class.getName(); + + try { + s = Class.forName(args[1]).asSubclass(Similarity.class).newInstance(); + } catch (Exception e) { + System.err.println("Couldn't instantiate similarity with empty constructor: " + args[1]); + e.printStackTrace(System.err); + System.exit(1); } Directory d = FSDirectory.open(new File(args[0])); @@ -142,11 +145,7 @@ public class FieldNormModifier { for (int d = 0; d < termCounts.length; d++) { if (delDocs == null || !delDocs.get(d)) { - if (sim == null) { - subReader.setNorm(d, fieldName, Similarity.encodeNorm(1.0f)); - } else { - subReader.setNorm(d, fieldName, sim.encodeNormValue(sim.lengthNorm(fieldName, termCounts[d]))); - } + subReader.setNorm(d, fieldName, sim.encodeNormValue(sim.lengthNorm(fieldName, termCounts[d]))); } } } diff --git a/lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java b/lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java index 8526af82e1c..ce42d8bbc99 100644 --- a/lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java +++ b/lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java @@ -96,7 +96,7 @@ public class MultiPassIndexSplitter { new WhitespaceAnalyzer(Version.LUCENE_CURRENT)) .setOpenMode(OpenMode.CREATE)); System.err.println("Writing part " + (i + 1) + " ..."); - w.addIndexes(new IndexReader[]{input}); + w.addIndexes(input); w.close(); } System.err.println("Done."); diff --git a/lucene/contrib/misc/src/java/org/apache/lucene/misc/LengthNormModifier.java b/lucene/contrib/misc/src/java/org/apache/lucene/misc/LengthNormModifier.java deleted file mode 100644 index fecc5b06860..00000000000 --- a/lucene/contrib/misc/src/java/org/apache/lucene/misc/LengthNormModifier.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.apache.lucene.misc; - -/** - * Copyright 2006 The Apache Software Foundation - * - * Licensed 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. - */ - -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.MultiFields; -import org.apache.lucene.index.Terms; -import org.apache.lucene.index.TermsEnum; -import org.apache.lucene.index.DocsEnum; -import org.apache.lucene.search.Similarity; -import org.apache.lucene.store.Directory; -import org.apache.lucene.store.FSDirectory; -import org.apache.lucene.util.StringHelper; -import org.apache.lucene.util.Bits; - -import java.io.File; -import java.io.IOException; -import java.util.Date; - -/** - * Given a directory, a Similarity, and a list of fields, updates the - * fieldNorms in place for every document using the Similarity.lengthNorm. - * - *

- * NOTE: This only works if you do not use field/document boosts in your - * index. - *

- * - * @version $Id$ - * @deprecated Use {@link org.apache.lucene.index.FieldNormModifier} - */ -@Deprecated -public class LengthNormModifier { - - /** - * Command Line Execution method. - * - *
-   * Usage: LengthNormModifier /path/index package.SimilarityClassName field1 field2 ...
-   * 
- */ - public static void main(String[] args) throws IOException { - if (args.length < 3) { - System.err.println("Usage: LengthNormModifier [field2] ..."); - System.exit(1); - } - - Similarity s = null; - try { - s = Class.forName(args[1]).asSubclass(Similarity.class).newInstance(); - } catch (Exception e) { - System.err.println("Couldn't instantiate similarity with empty constructor: " + args[1]); - e.printStackTrace(System.err); - } - - File index = new File(args[0]); - Directory d = FSDirectory.open(index); - - LengthNormModifier lnm = new LengthNormModifier(d, s); - - for (int i = 2; i < args.length; i++) { - System.out.print("Updating field: " + args[i] + " " + (new Date()).toString() + " ... "); - lnm.reSetNorms(args[i]); - System.out.println(new Date().toString()); - } - - d.close(); - } - - - private Directory dir; - private Similarity sim; - - /** - * Constructor for code that wishes to use this class progaomatically. - * - * @param d The Directory to modify - * @param s The Similarity to use in reSetNorms - */ - public LengthNormModifier(Directory d, Similarity s) { - dir = d; - sim = s; - } - - /** - * Resets the norms for the specified field. - * - *

- * Opens a new IndexReader on the Directory given to this instance, - * modifies the norms using the Similarity given to this instance, - * and closes the IndexReader. - *

- * - * @param field the field whose norms should be reset - */ - public void reSetNorms(String field) throws IOException { - String fieldName = StringHelper.intern(field); - int[] termCounts = new int[0]; - - IndexReader reader = IndexReader.open(dir, false); - try { - - termCounts = new int[reader.maxDoc()]; - Bits delDocs = MultiFields.getDeletedDocs(reader); - DocsEnum docs = null; - - Terms terms = MultiFields.getTerms(reader, field); - if (terms != null) { - TermsEnum termsEnum = terms.iterator(); - while(termsEnum.next() != null) { - docs = termsEnum.docs(delDocs, docs); - int doc; - while ((doc = docs.nextDoc()) != DocsEnum.NO_MORE_DOCS) { - termCounts[doc] += docs.freq(); - } - } - } - - for (int d = 0; d < termCounts.length; d++) { - if (!delDocs.get(d)) { - byte norm = Similarity.encodeNorm(sim.lengthNorm(fieldName, termCounts[d])); - reader.setNorm(d, fieldName, norm); - } - } - } finally { - reader.close(); - } - } - -} diff --git a/lucene/contrib/queries/src/java/org/apache/lucene/search/BooleanFilter.java b/lucene/contrib/queries/src/java/org/apache/lucene/search/BooleanFilter.java index a514c380d7f..2e6868e5202 100644 --- a/lucene/contrib/queries/src/java/org/apache/lucene/search/BooleanFilter.java +++ b/lucene/contrib/queries/src/java/org/apache/lucene/search/BooleanFilter.java @@ -106,27 +106,15 @@ public class BooleanFilter extends Filter } if (res !=null) - return finalResult(res, reader.maxDoc()); + return res; return DocIdSet.EMPTY_DOCIDSET; } - /** Provide a SortedVIntList when it is definitely smaller - * than an OpenBitSet. - * @deprecated Either use CachingWrapperFilter, or - * switch to a different DocIdSet implementation yourself. - * This method will be removed in Lucene 4.0 - */ - @Deprecated - protected final DocIdSet finalResult(OpenBitSetDISI result, int maxDocs) { - return result; - } - /** * Adds a new FilterClause to the Boolean Filter container * @param filterClause A FilterClause object containing a Filter and an Occur parameter */ - public void add(FilterClause filterClause) { if (filterClause.getOccur().equals(Occur.MUST)) { diff --git a/lucene/contrib/queries/src/java/org/apache/lucene/search/ChainedFilter.java b/lucene/contrib/queries/src/java/org/apache/lucene/search/ChainedFilter.java index f06d0e23a06..e95b50660d8 100644 --- a/lucene/contrib/queries/src/java/org/apache/lucene/search/ChainedFilter.java +++ b/lucene/contrib/queries/src/java/org/apache/lucene/search/ChainedFilter.java @@ -149,18 +149,6 @@ public class ChainedFilter extends Filter return result; } - /** Provide a SortedVIntList when it is definitely - * smaller than an OpenBitSet - * @deprecated Either use CachingWrapperFilter, or - * switch to a different DocIdSet implementation yourself. - * This method will be removed in Lucene 4.0 - **/ - @Deprecated - protected final DocIdSet finalResult(OpenBitSetDISI result, int maxDocs) { - return result; - } - - /** * Delegates to each filter in the chain. * @param reader IndexReader @@ -175,7 +163,7 @@ public class ChainedFilter extends Filter { doChain(result, logic, chain[index[0]].getDocIdSet(reader)); } - return finalResult(result, reader.maxDoc()); + return result; } /** @@ -195,7 +183,7 @@ public class ChainedFilter extends Filter { doChain(result, logic[index[0]], chain[index[0]].getDocIdSet(reader)); } - return finalResult(result, reader.maxDoc()); + return result; } @Override diff --git a/lucene/contrib/queries/src/java/org/apache/lucene/search/regex/SpanRegexQuery.java b/lucene/contrib/queries/src/java/org/apache/lucene/search/regex/SpanRegexQuery.java deleted file mode 100644 index 818a9497deb..00000000000 --- a/lucene/contrib/queries/src/java/org/apache/lucene/search/regex/SpanRegexQuery.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.apache.lucene.search.regex; - -/** - * 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. - */ - -import org.apache.lucene.index.Term; -import org.apache.lucene.search.spans.SpanMultiTermQueryWrapper; - -/** - * A SpanQuery version of {@link RegexQuery} allowing regular expression - * queries to be nested within other SpanQuery subclasses. - * @deprecated Use new SpanMultiTermQueryWrapper<RegexQuery>(new RegexQuery()) instead. - * This query will be removed in Lucene 4.0 - */ -@Deprecated -public class SpanRegexQuery extends SpanMultiTermQueryWrapper implements RegexQueryCapable { - private final RegexCapabilities regexImpl = new JavaUtilRegexCapabilities(); - - public SpanRegexQuery(Term term) { - super(new RegexQuery(term)); - } - - public Term getTerm() { return query.getTerm(); } - - public void setRegexImplementation(RegexCapabilities impl) { - query.setRegexImplementation(impl); - } - - public RegexCapabilities getRegexImplementation() { - return query.getRegexImplementation(); - } -} diff --git a/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestRegexQuery.java b/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestRegexQuery.java index e0baef7687a..8fa1ba82469 100644 --- a/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestRegexQuery.java +++ b/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestRegexQuery.java @@ -17,6 +17,7 @@ package org.apache.lucene.search.regex; * limitations under the License. */ +import org.apache.lucene.search.spans.SpanMultiTermQueryWrapper; import org.apache.lucene.store.Directory; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.MultiFields; @@ -73,10 +74,10 @@ public class TestRegexQuery extends LuceneTestCase { } private int spanRegexQueryNrHits(String regex1, String regex2, int slop, boolean ordered) throws Exception { - SpanRegexQuery srq1 = new SpanRegexQuery( newTerm(regex1)); - SpanRegexQuery srq2 = new SpanRegexQuery( newTerm(regex2)); + SpanQuery srq1 = new SpanMultiTermQueryWrapper(new RegexQuery(newTerm(regex1))); + SpanQuery srq2 = new SpanMultiTermQueryWrapper(new RegexQuery(newTerm(regex2))); SpanNearQuery query = new SpanNearQuery( new SpanQuery[]{srq1, srq2}, slop, ordered); - + return searcher.search(query, null, 1000).totalHits; } diff --git a/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestSpanRegexQuery.java b/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestSpanRegexQuery.java index 762478686ac..3ce218ca7dd 100644 --- a/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestSpanRegexQuery.java +++ b/lucene/contrib/queries/src/test/org/apache/lucene/search/regex/TestSpanRegexQuery.java @@ -112,67 +112,6 @@ public class TestSpanRegexQuery extends LuceneTestCase { indexStoreB.close(); } - /** remove in lucene 4.0 */ - @Deprecated - public void testSpanRegexOld() throws Exception { - Directory directory = newDirectory(); - IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer())); - Document doc = new Document(); - // doc.add(newField("field", "the quick brown fox jumps over the lazy dog", - // Field.Store.NO, Field.Index.ANALYZED)); - // writer.addDocument(doc); - // doc = new Document(); - doc.add(newField("field", "auto update", Field.Store.NO, - Field.Index.ANALYZED)); - writer.addDocument(doc); - doc = new Document(); - doc.add(newField("field", "first auto update", Field.Store.NO, - Field.Index.ANALYZED)); - writer.addDocument(doc); - writer.optimize(); - writer.close(); - - IndexSearcher searcher = new IndexSearcher(directory, true); - SpanRegexQuery srq = new SpanRegexQuery(new Term("field", "aut.*")); - SpanFirstQuery sfq = new SpanFirstQuery(srq, 1); - // SpanNearQuery query = new SpanNearQuery(new SpanQuery[] {srq, stq}, 6, - // true); - int numHits = searcher.search(sfq, null, 1000).totalHits; - assertEquals(1, numHits); - searcher.close(); - directory.close(); - } - - /** remove in lucene 4.0 */ - @Deprecated - public void testSpanRegexBugOld() throws CorruptIndexException, IOException { - createRAMDirectories(); - - SpanRegexQuery srq = new SpanRegexQuery(new Term("field", "a.*")); - SpanRegexQuery stq = new SpanRegexQuery(new Term("field", "b.*")); - SpanNearQuery query = new SpanNearQuery(new SpanQuery[] { srq, stq }, 6, - true); - - // 1. Search the same store which works - IndexSearcher[] arrSearcher = new IndexSearcher[2]; - arrSearcher[0] = new IndexSearcher(indexStoreA, true); - arrSearcher[1] = new IndexSearcher(indexStoreB, true); - MultiSearcher searcher = new MultiSearcher(arrSearcher); - int numHits = searcher.search(query, null, 1000).totalHits; - arrSearcher[0].close(); - arrSearcher[1].close(); - - // Will fail here - // We expect 2 but only one matched - // The rewriter function only write it once on the first IndexSearcher - // So it's using term: a1 b1 to search on the second IndexSearcher - // As a result, it won't match the document in the second IndexSearcher - assertEquals(2, numHits); - indexStoreA.close(); - indexStoreB.close(); - } - private void createRAMDirectories() throws CorruptIndexException, LockObtainFailedException, IOException { // creating a document to store diff --git a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/processors/QueryNodeProcessorPipeline.java b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/processors/QueryNodeProcessorPipeline.java index 7e00e1a0d70..68d3638f8e1 100644 --- a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/processors/QueryNodeProcessorPipeline.java +++ b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/processors/QueryNodeProcessorPipeline.java @@ -17,11 +17,7 @@ package org.apache.lucene.queryParser.core.processors; * limitations under the License. */ -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.ListIterator; +import java.util.*; import org.apache.lucene.queryParser.core.QueryNodeException; import org.apache.lucene.queryParser.core.config.QueryConfigHandler; @@ -96,23 +92,6 @@ public class QueryNodeProcessorPipeline implements QueryNodeProcessor, } - /** - * Adds a processor to the pipeline, it's always added to the end of the - * pipeline. - * - * @deprecated this class now conforms to {@link List} interface, so use - * {@link #add(QueryNodeProcessor)} instead - * - * @param processor the processor to be added - */ - @Deprecated - public void addProcessor(QueryNodeProcessor processor) { - this.processors.add(processor); - - processor.setQueryConfigHandler(this.queryConfig); - - } - /** * For reference about this method check: * {@link QueryNodeProcessor#setQueryConfigHandler(QueryConfigHandler)}. diff --git a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/MultiFieldQueryParserWrapper.java b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/MultiFieldQueryParserWrapper.java deleted file mode 100644 index 46eb864a250..00000000000 --- a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/MultiFieldQueryParserWrapper.java +++ /dev/null @@ -1,269 +0,0 @@ -package org.apache.lucene.queryParser.standard; - -/** - * 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. - */ - -import java.util.Map; - -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.queryParser.ParseException; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.Query; - -/** - * This class behaves as the as the lucene 2.4 MultiFieldQueryParser class, but uses the new - * query parser interface instead of the old one.
- *
- * This class should be used when the new query parser features are needed and - * also keep at the same time the old query parser interface.
- * - * @deprecated this class will be removed soon, it's a temporary class to be - * used along the transition from the old query parser to the new - * one - */ -@Deprecated -public class MultiFieldQueryParserWrapper extends QueryParserWrapper { - - /** - * Creates a MultiFieldQueryParser. Allows passing of a map with term to - * Boost, and the boost to apply to each term. - * - *

- * It will, when parse(String query) is called, construct a query like this - * (assuming the query consists of two terms and you specify the two fields - * title and body): - *

- * - * - * (title:term1 body:term1) (title:term2 body:term2) - * - * - *

- * When setDefaultOperator(AND_OPERATOR) is set, the result will be: - *

- * - * - * +(title:term1 body:term1) +(title:term2 body:term2) - * - * - *

- * When you pass a boost (title=>5 body=>10) you can get - *

- * - * - * +(title:term1^5.0 body:term1^10.0) +(title:term2^5.0 body:term2^10.0) - * - * - *

- * In other words, all the query's terms must appear, but it doesn't matter in - * what fields they appear. - *

- */ -public MultiFieldQueryParserWrapper(String[] fields, Analyzer analyzer, Map boosts) { - this(fields, analyzer); - StandardQueryParser qpHelper = getQueryParserHelper(); - - qpHelper.setMultiFields(fields); - qpHelper.setFieldsBoost(boosts); - - } - - /** - * Creates a MultiFieldQueryParser. - * - *

- * It will, when parse(String query) is called, construct a query like this - * (assuming the query consists of two terms and you specify the two fields - * title and body): - *

- * - * - * (title:term1 body:term1) (title:term2 body:term2) - * - * - *

- * When setDefaultOperator(AND_OPERATOR) is set, the result will be: - *

- * - * - * +(title:term1 body:term1) +(title:term2 body:term2) - * - * - *

- * In other words, all the query's terms must appear, but it doesn't matter in - * what fields they appear. - *

- */ - public MultiFieldQueryParserWrapper(String[] fields, Analyzer analyzer) { - super(null, analyzer); - - StandardQueryParser qpHelper = getQueryParserHelper(); - qpHelper.setAnalyzer(analyzer); - - qpHelper.setMultiFields(fields); - } - - /** - * Parses a query which searches on the fields specified. - *

- * If x fields are specified, this effectively constructs: - * - *

-   * <code>
-   * (field1:query1) (field2:query2) (field3:query3)...(fieldx:queryx)
-   * </code>
-   * 
- * - * @param queries - * Queries strings to parse - * @param fields - * Fields to search on - * @param analyzer - * Analyzer to use - * @throws ParseException - * if query parsing fails - * @throws IllegalArgumentException - * if the length of the queries array differs from the length of the - * fields array - */ - public static Query parse(String[] queries, String[] fields, Analyzer analyzer) - throws ParseException { - if (queries.length != fields.length) - throw new IllegalArgumentException("queries.length != fields.length"); - BooleanQuery bQuery = new BooleanQuery(); - for (int i = 0; i < fields.length; i++) { - QueryParserWrapper qp = new QueryParserWrapper(fields[i], analyzer); - Query q = qp.parse(queries[i]); - if (q != null && // q never null, just being defensive - (!(q instanceof BooleanQuery) || ((BooleanQuery) q).getClauses().length > 0)) { - bQuery.add(q, BooleanClause.Occur.SHOULD); - } - } - return bQuery; - } - - /** - * Parses a query, searching on the fields specified. Use this if you need to - * specify certain fields as required, and others as prohibited. - *

- * - *

-   * Usage:
-   * <code>
-   * String[] fields = {"filename", "contents", "description"};
-   * BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
-   *                BooleanClause.Occur.MUST,
-   *                BooleanClause.Occur.MUST_NOT};
-   * MultiFieldQueryParser.parse("query", fields, flags, analyzer);
-   * </code>
-   * 
- *

- * The code above would construct a query: - * - *

-   * <code>
-   * (filename:query) +(contents:query) -(description:query)
-   * </code>
-   * 
- * - * @param query - * Query string to parse - * @param fields - * Fields to search on - * @param flags - * Flags describing the fields - * @param analyzer - * Analyzer to use - * @throws ParseException - * if query parsing fails - * @throws IllegalArgumentException - * if the length of the fields array differs from the length of the - * flags array - */ - public static Query parse(String query, String[] fields, - BooleanClause.Occur[] flags, Analyzer analyzer) throws ParseException { - if (fields.length != flags.length) - throw new IllegalArgumentException("fields.length != flags.length"); - BooleanQuery bQuery = new BooleanQuery(); - for (int i = 0; i < fields.length; i++) { - QueryParserWrapper qp = new QueryParserWrapper(fields[i], analyzer); - Query q = qp.parse(query); - if (q != null && // q never null, just being defensive - (!(q instanceof BooleanQuery) || ((BooleanQuery) q).getClauses().length > 0)) { - bQuery.add(q, flags[i]); - } - } - return bQuery; - } - - /** - * Parses a query, searching on the fields specified. Use this if you need to - * specify certain fields as required, and others as prohibited. - *

- * - *

-   * Usage:
-   * <code>
-   * String[] query = {"query1", "query2", "query3"};
-   * String[] fields = {"filename", "contents", "description"};
-   * BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
-   *                BooleanClause.Occur.MUST,
-   *                BooleanClause.Occur.MUST_NOT};
-   * MultiFieldQueryParser.parse(query, fields, flags, analyzer);
-   * </code>
-   * 
- *

- * The code above would construct a query: - * - *

-   * <code>
-   * (filename:query1) +(contents:query2) -(description:query3)
-   * </code>
-   * 
- * - * @param queries - * Queries string to parse - * @param fields - * Fields to search on - * @param flags - * Flags describing the fields - * @param analyzer - * Analyzer to use - * @throws ParseException - * if query parsing fails - * @throws IllegalArgumentException - * if the length of the queries, fields, and flags array differ - */ - public static Query parse(String[] queries, String[] fields, - BooleanClause.Occur[] flags, Analyzer analyzer) throws ParseException { - if (!(queries.length == fields.length && queries.length == flags.length)) - throw new IllegalArgumentException( - "queries, fields, and flags array have have different length"); - BooleanQuery bQuery = new BooleanQuery(); - for (int i = 0; i < fields.length; i++) { - QueryParserWrapper qp = new QueryParserWrapper(fields[i], analyzer); - Query q = qp.parse(queries[i]); - if (q != null && // q never null, just being defensive - (!(q instanceof BooleanQuery) || ((BooleanQuery) q).getClauses().length > 0)) { - bQuery.add(q, flags[i]); - } - } - return bQuery; - } - -} diff --git a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/QueryParserWrapper.java b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/QueryParserWrapper.java deleted file mode 100644 index 839cfa3aae5..00000000000 --- a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/QueryParserWrapper.java +++ /dev/null @@ -1,491 +0,0 @@ -package org.apache.lucene.queryParser.standard; - -/** - * 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. - */ - -import java.text.Collator; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.document.DateTools; -import org.apache.lucene.document.DateTools.Resolution; -import org.apache.lucene.queryParser.ParseException; -import org.apache.lucene.queryParser.QueryParser; -import org.apache.lucene.queryParser.core.QueryNodeException; -import org.apache.lucene.queryParser.core.config.FieldConfig; -import org.apache.lucene.queryParser.core.config.QueryConfigHandler; -import org.apache.lucene.queryParser.core.nodes.QueryNode; -import org.apache.lucene.queryParser.core.parser.SyntaxParser; -import org.apache.lucene.queryParser.core.processors.QueryNodeProcessor; -import org.apache.lucene.queryParser.standard.builders.StandardQueryBuilder; -import org.apache.lucene.queryParser.standard.builders.StandardQueryTreeBuilder; -import org.apache.lucene.queryParser.standard.config.AllowLeadingWildcardAttribute; -import org.apache.lucene.queryParser.standard.config.AnalyzerAttribute; -import org.apache.lucene.queryParser.standard.config.DateResolutionAttribute; -import org.apache.lucene.queryParser.standard.config.DefaultOperatorAttribute; -import org.apache.lucene.queryParser.standard.config.DefaultPhraseSlopAttribute; -import org.apache.lucene.queryParser.standard.config.LocaleAttribute; -import org.apache.lucene.queryParser.standard.config.LowercaseExpandedTermsAttribute; -import org.apache.lucene.queryParser.standard.config.MultiTermRewriteMethodAttribute; -import org.apache.lucene.queryParser.standard.config.PositionIncrementsAttribute; -import org.apache.lucene.queryParser.standard.config.RangeCollatorAttribute; -import org.apache.lucene.queryParser.standard.config.StandardQueryConfigHandler; -import org.apache.lucene.queryParser.standard.parser.StandardSyntaxParser; -import org.apache.lucene.queryParser.standard.processors.StandardQueryNodeProcessorPipeline; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.FuzzyQuery; -import org.apache.lucene.search.MultiTermQuery; -import org.apache.lucene.search.Query; - -/** - * This class performs the query parsing using the new query parser - * implementation, but keeps the old {@link QueryParser} API.
- *
- * This class should be used when the new query parser features are and the old - * {@link QueryParser} API are needed at the same time.
- * - * @deprecated this class will be removed soon, it's a temporary class to be - * used along the transition from the old query parser to the new - * one - */ -@Deprecated -public class QueryParserWrapper { - - /** - * The default operator for parsing queries. Use - * {@link QueryParserWrapper#setDefaultOperator} to change it. - */ - static public enum Operator { OR, AND } - - // the nested class: - /** Alternative form of QueryParser.Operator.AND */ - public static final Operator AND_OPERATOR = Operator.AND; - - /** Alternative form of QueryParser.Operator.OR */ - public static final Operator OR_OPERATOR = Operator.OR; - - /** - * Returns a String where those characters that QueryParser expects to be - * escaped are escaped by a preceding \. - */ - public static String escape(String s) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - // These characters are part of the query syntax and must be escaped - if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' - || c == ':' || c == '^' || c == '[' || c == ']' || c == '\"' - || c == '{' || c == '}' || c == '~' || c == '*' || c == '?' - || c == '|' || c == '&') { - sb.append('\\'); - } - sb.append(c); - } - return sb.toString(); - } - - private SyntaxParser syntaxParser = new StandardSyntaxParser(); - - private StandardQueryConfigHandler config; - - private StandardQueryParser qpHelper; - - private QueryNodeProcessor processorPipeline; - - private StandardQueryBuilder builder = new StandardQueryTreeBuilder(); - - private String defaultField; - - public QueryParserWrapper(String defaultField, Analyzer analyzer) { - this.defaultField = defaultField; - - this.qpHelper = new StandardQueryParser(); - - this.config = (StandardQueryConfigHandler) qpHelper.getQueryConfigHandler(); - - this.qpHelper.setAnalyzer(analyzer); - - this.processorPipeline = new StandardQueryNodeProcessorPipeline(this.config); - - } - - StandardQueryParser getQueryParserHelper() { - return qpHelper; - } - - public String getField() { - return this.defaultField; - } - - public Analyzer getAnalyzer() { - - if (this.config != null - && this.config.hasAttribute(AnalyzerAttribute.class)) { - - return this.config.getAttribute(AnalyzerAttribute.class).getAnalyzer(); - - } - - return null; - - } - - /** - * Sets the {@link StandardQueryBuilder} used to generate a {@link Query} - * object from the parsed and processed query node tree. - * - * @param builder the builder - */ - public void setQueryBuilder(StandardQueryBuilder builder) { - this.builder = builder; - } - - /** - * Sets the {@link QueryNodeProcessor} used to process the query node tree - * generated by the - * {@link org.apache.lucene.queryParser.standard.parser.StandardSyntaxParser}. - * - * @param processor the processor - */ - public void setQueryProcessor(QueryNodeProcessor processor) { - this.processorPipeline = processor; - this.processorPipeline.setQueryConfigHandler(this.config); - - } - - /** - * Sets the {@link QueryConfigHandler} used by the {@link QueryNodeProcessor} - * set to this object. - * - * @param queryConfig the query config handler - */ - public void setQueryConfig(StandardQueryConfigHandler queryConfig) { - this.config = queryConfig; - - if (this.processorPipeline != null) { - this.processorPipeline.setQueryConfigHandler(this.config); - } - - } - - /** - * Returns the query config handler used by this query parser - * - * @return the query config handler - */ - public QueryConfigHandler getQueryConfigHandler() { - return this.config; - } - - /** - * Returns {@link QueryNodeProcessor} used to process the query node tree - * generated by the - * {@link org.apache.lucene.queryParser.standard.parser.StandardSyntaxParser}. - * - * @return the query processor - */ - public QueryNodeProcessor getQueryProcessor() { - return this.processorPipeline; - } - - public ParseException generateParseException() { - return null; - } - - public boolean getAllowLeadingWildcard() { - - if (this.config != null - && this.config.hasAttribute(AllowLeadingWildcardAttribute.class)) { - - return this.config.getAttribute(AllowLeadingWildcardAttribute.class) - .isAllowLeadingWildcard(); - - } - - return false; - - } - - public MultiTermQuery.RewriteMethod getMultiTermRewriteMethod() { - - if (this.config != null - && this.config.hasAttribute(MultiTermRewriteMethodAttribute.class)) { - - return this.config.getAttribute(MultiTermRewriteMethodAttribute.class) - .getMultiTermRewriteMethod(); - - } - - return MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT; - - } - - public Resolution getDateResolution(String fieldName) { - - if (this.config != null) { - FieldConfig fieldConfig = this.config.getFieldConfig(fieldName); - - if (fieldConfig != null) { - - if (this.config.hasAttribute(DateResolutionAttribute.class)) { - - return this.config.getAttribute(DateResolutionAttribute.class) - .getDateResolution(); - - } - - } - - } - - return null; - - } - - public boolean getEnablePositionIncrements() { - - if (this.config != null - && this.config.hasAttribute(PositionIncrementsAttribute.class)) { - - return this.config.getAttribute(PositionIncrementsAttribute.class) - .isPositionIncrementsEnabled(); - - } - - return false; - - } - - public float getFuzzyMinSim() { - return FuzzyQuery.defaultMinSimilarity; - } - - public int getFuzzyPrefixLength() { - return FuzzyQuery.defaultPrefixLength; - } - - public Locale getLocale() { - - if (this.config != null && this.config.hasAttribute(LocaleAttribute.class)) { - return this.config.getAttribute(LocaleAttribute.class).getLocale(); - } - - return Locale.getDefault(); - - } - - public boolean getLowercaseExpandedTerms() { - - if (this.config != null - && this.config.hasAttribute(LowercaseExpandedTermsAttribute.class)) { - - return this.config.getAttribute(LowercaseExpandedTermsAttribute.class) - .isLowercaseExpandedTerms(); - - } - - return true; - - } - - public int getPhraseSlop() { - - if (this.config != null - && this.config.hasAttribute(AllowLeadingWildcardAttribute.class)) { - - return this.config.getAttribute(DefaultPhraseSlopAttribute.class) - .getDefaultPhraseSlop(); - - } - - return 0; - - } - - public Collator getRangeCollator() { - - if (this.config != null - && this.config.hasAttribute(RangeCollatorAttribute.class)) { - - return this.config.getAttribute(RangeCollatorAttribute.class) - .getRangeCollator(); - - } - - return null; - - } - - public boolean getUseOldRangeQuery() { - if (getMultiTermRewriteMethod() == MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE) { - return true; - } else { - return false; - } - } - - public Query parse(String query) throws ParseException { - - try { - QueryNode queryTree = this.syntaxParser.parse(query, getField()); - queryTree = this.processorPipeline.process(queryTree); - return this.builder.build(queryTree); - - } catch (QueryNodeException e) { - throw new ParseException("parse exception"); - } - - } - - public void setAllowLeadingWildcard(boolean allowLeadingWildcard) { - this.qpHelper.setAllowLeadingWildcard(allowLeadingWildcard); - } - - public void setMultiTermRewriteMethod(MultiTermQuery.RewriteMethod method) { - this.qpHelper.setMultiTermRewriteMethod(method); - } - - public void setDateResolution(Resolution dateResolution) { - this.qpHelper.setDateResolution(dateResolution); - } - - private Map dateRes = new HashMap(); - - public void setDateResolution(String fieldName, Resolution dateResolution) { - dateRes.put(fieldName, dateResolution); - this.qpHelper.setDateResolution(dateRes); - } - - public void setDefaultOperator(Operator op) { - - this.qpHelper - .setDefaultOperator(OR_OPERATOR.equals(op) ? org.apache.lucene.queryParser.standard.config.DefaultOperatorAttribute.Operator.OR - : org.apache.lucene.queryParser.standard.config.DefaultOperatorAttribute.Operator.AND); - - } - - public Operator getDefaultOperator() { - - if (this.config != null - && this.config.hasAttribute(DefaultOperatorAttribute.class)) { - - return (this.config.getAttribute(DefaultOperatorAttribute.class) - .getOperator() == org.apache.lucene.queryParser.standard.config.DefaultOperatorAttribute.Operator.AND) ? AND_OPERATOR - : OR_OPERATOR; - - } - - return OR_OPERATOR; - - } - - public void setEnablePositionIncrements(boolean enable) { - this.qpHelper.setEnablePositionIncrements(enable); - } - - public void setFuzzyMinSim(float fuzzyMinSim) { - // TODO Auto-generated method stub - - } - - public void setFuzzyPrefixLength(int fuzzyPrefixLength) { - // TODO Auto-generated method stub - - } - - public void setLocale(Locale locale) { - this.qpHelper.setLocale(locale); - } - - public void setLowercaseExpandedTerms(boolean lowercaseExpandedTerms) { - this.qpHelper.setLowercaseExpandedTerms(lowercaseExpandedTerms); - } - - public void setPhraseSlop(int phraseSlop) { - this.qpHelper.setDefaultPhraseSlop(phraseSlop); - } - - public void setRangeCollator(Collator rc) { - this.qpHelper.setRangeCollator(rc); - } - - public void setUseOldRangeQuery(boolean useOldRangeQuery) { - if (useOldRangeQuery) { - setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE); - } else { - setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT); - } - } - - protected Query getPrefixQuery(String field, String termStr) - throws ParseException { - throw new UnsupportedOperationException(); - } - - protected Query getWildcardQuery(String field, String termStr) - throws ParseException { - throw new UnsupportedOperationException(); - } - - protected Query getFuzzyQuery(String field, String termStr, - float minSimilarity) throws ParseException { - throw new UnsupportedOperationException(); - } - - /** @deprecated Use {@link #getFieldQuery(String, String, boolean)} instead */ - @Deprecated - protected Query getFieldQuery(String field, String queryText) throws ParseException { - return getFieldQuery(field, queryText, true); - } - - /** - * @exception ParseException throw in overridden method to disallow - */ - protected Query getFieldQuery(String field, String queryText, boolean quoted) - throws ParseException { - throw new UnsupportedOperationException(); - } - - protected Query getBooleanQuery(List clauses, boolean disableCoord) - throws ParseException { - throw new UnsupportedOperationException(); - } - - /** - * Base implementation delegates to {@link #getFieldQuery(String,String)}. - * This method may be overridden, for example, to return a SpanNearQuery - * instead of a PhraseQuery. - * - * @exception ParseException throw in overridden method to disallow - */ - protected Query getFieldQuery(String field, String queryText, int slop) - throws ParseException { - throw new UnsupportedOperationException(); - } - - /** - * @exception ParseException throw in overridden method to disallow - */ - protected Query getRangeQuery(String field, String part1, String part2, - boolean inclusive) throws ParseException { - throw new UnsupportedOperationException(); - } - -} diff --git a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/package.html b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/package.html index 27ba181f295..5b5075f8350 100644 --- a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/package.html +++ b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/package.html @@ -39,12 +39,5 @@ are used to reproduce the same behavior as the old query parser. Check org.apache.lucene.queryParser.standard.StandardQueryParser to quick start using the Lucene query parser.

-

-There are 2 wrapper classes that extends QueryParser and MultiFieldQueryParser. -The classes implement internally the new query parser structure. These 2 -classes are deprecated and should only be used when there is a need to use the -old query parser interface. -

- diff --git a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/parser/JavaCharStream.java b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/parser/JavaCharStream.java index 6c0bab932b2..94cd1c92b0a 100644 --- a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/parser/JavaCharStream.java +++ b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/parser/JavaCharStream.java @@ -347,7 +347,7 @@ public class JavaCharStream @Deprecated /** - * @deprecated + * @deprecated (gen) * @see #getEndColumn */ public int getColumn() { @@ -356,7 +356,7 @@ public class JavaCharStream @Deprecated /** - * @deprecated + * @deprecated (gen) * @see #getEndLine */ public int getLine() { diff --git a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java index 5207ed7cc4c..0947475d637 100644 --- a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java +++ b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/processors/ParametricRangeQueryNodeProcessor.java @@ -24,7 +24,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import org.apache.lucene.document.DateField; import org.apache.lucene.document.DateTools; import org.apache.lucene.document.DateTools.Resolution; import org.apache.lucene.queryParser.core.QueryNodeException; @@ -140,17 +139,8 @@ public class ParametricRangeQueryNodeProcessor extends QueryNodeProcessorImpl { d2 = cal.getTime(); } - if (dateRes == null) { - // no default or field specific date resolution has been set, - // use deprecated DateField to maintain compatibilty with - // pre-1.9 Lucene versions. - part1 = DateField.dateToString(d1); - part2 = DateField.dateToString(d2); - - } else { - part1 = DateTools.dateToString(d1, dateRes); - part2 = DateTools.dateToString(d2, dateRes); - } + part1 = DateTools.dateToString(d1, dateRes); + part2 = DateTools.dateToString(d2, dateRes); } catch (Exception e) { // do nothing } diff --git a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/parser/CharStream.java b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/parser/CharStream.java index 5bf92d40a05..7c2d5f2acd1 100644 --- a/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/parser/CharStream.java +++ b/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/parser/CharStream.java @@ -28,14 +28,14 @@ public interface CharStream { /** * Returns the column position of the character last read. - * @deprecated + * @deprecated (gen) * @see #getEndColumn */ int getColumn(); /** * Returns the line number of the character last read. - * @deprecated + * @deprecated (gen) * @see #getEndLine */ int getLine(); diff --git a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/core/nodes/TestQueryNode.java b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/core/nodes/TestQueryNode.java index fc434fd2029..23d4fb4ef4c 100644 --- a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/core/nodes/TestQueryNode.java +++ b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/core/nodes/TestQueryNode.java @@ -25,11 +25,11 @@ public class TestQueryNode extends LuceneTestCase { /* LUCENE-2227 bug in QueryNodeImpl.add() */ public void testAddChildren() throws Exception { - FieldQueryNode nodeA = new FieldQueryNode("foo", "A", 0, 1); - FieldQueryNode nodeB = new FieldQueryNode("foo", "B", 1, 2); + QueryNode nodeA = new FieldQueryNode("foo", "A", 0, 1); + QueryNode nodeB = new FieldQueryNode("foo", "B", 1, 2); BooleanQueryNode bq = new BooleanQueryNode( - Arrays.asList(new QueryNode[] { nodeA })); - bq.add(Arrays.asList(new QueryNode[] { nodeB })); + Arrays.asList(nodeA)); + bq.add(Arrays.asList(nodeB)); assertEquals(2, bq.getChildren().size()); } } diff --git a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java index b68ab0bd7aa..cf0c8876064 100644 --- a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java +++ b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java @@ -34,7 +34,6 @@ import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import org.apache.lucene.document.DateField; import org.apache.lucene.document.DateTools; import org.apache.lucene.queryParser.TestQueryParser; import org.apache.lucene.queryParser.core.QueryNodeException; @@ -405,19 +404,11 @@ public class TestPrecedenceQueryParser extends LuceneTestCase { final String hourField = "hour"; PrecedenceQueryParser qp = new PrecedenceQueryParser(new MockAnalyzer()); - // Don't set any date resolution and verify if DateField is used - assertDateRangeQueryEquals(qp, defaultField, startDate, endDate, - endDateExpected.getTime(), null); - Map fieldMap = new HashMap(); // set a field specific date resolution fieldMap.put(monthField, DateTools.Resolution.MONTH); qp.setDateResolution(fieldMap); - // DateField should still be used for defaultField - assertDateRangeQueryEquals(qp, defaultField, startDate, endDate, - endDateExpected.getTime(), null); - // set default date resolution to MILLISECOND qp.setDateResolution(DateTools.Resolution.MILLISECOND); @@ -439,20 +430,14 @@ public class TestPrecedenceQueryParser extends LuceneTestCase { } /** for testing DateTools support */ - private String getDate(String s, DateTools.Resolution resolution) - throws Exception { + private String getDate(String s, DateTools.Resolution resolution) throws Exception { DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); return getDate(df.parse(s), resolution); } /** for testing DateTools support */ - private String getDate(Date d, DateTools.Resolution resolution) - throws Exception { - if (resolution == null) { - return DateField.dateToString(d); - } else { - return DateTools.dateToString(d, resolution); - } + private String getDate(Date d, DateTools.Resolution resolution) throws Exception { + return DateTools.dateToString(d, resolution); } public void assertQueryEquals(PrecedenceQueryParser qp, String field, String query, diff --git a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestMultiAnalyzerWrapper.java b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestMultiAnalyzerWrapper.java deleted file mode 100644 index 4f3b14a4e8b..00000000000 --- a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestMultiAnalyzerWrapper.java +++ /dev/null @@ -1,245 +0,0 @@ -package org.apache.lucene.queryParser.standard; - -/** - * 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. - */ - -import java.io.Reader; - -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.MockTokenizer; -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; -import org.apache.lucene.analysis.tokenattributes.TypeAttribute; -import org.apache.lucene.queryParser.ParseException; -import org.apache.lucene.util.LuceneTestCase; - -/** - * This test case is a copy of the core Lucene query parser test, it was adapted - * to use new QueryParserWrapper instead of the old query parser. - * - * Test QueryParser's ability to deal with Analyzers that return more than one - * token per position or that return tokens with a position increment > 1. - * - */ -public class TestMultiAnalyzerWrapper extends LuceneTestCase { - - private static int multiToken = 0; - - public void testMultiAnalyzer() throws ParseException { - - QueryParserWrapper qp = new QueryParserWrapper("", new MultiAnalyzer()); - - // trivial, no multiple tokens: - assertEquals("foo", qp.parse("foo").toString()); - assertEquals("foo", qp.parse("\"foo\"").toString()); - assertEquals("foo foobar", qp.parse("foo foobar").toString()); - assertEquals("\"foo foobar\"", qp.parse("\"foo foobar\"").toString()); - assertEquals("\"foo foobar blah\"", qp.parse("\"foo foobar blah\"") - .toString()); - - // two tokens at the same position: - assertEquals("(multi multi2) foo", qp.parse("multi foo").toString()); - assertEquals("foo (multi multi2)", qp.parse("foo multi").toString()); - assertEquals("(multi multi2) (multi multi2)", qp.parse("multi multi") - .toString()); - assertEquals("+(foo (multi multi2)) +(bar (multi multi2))", qp.parse( - "+(foo multi) +(bar multi)").toString()); - assertEquals("+(foo (multi multi2)) field:\"bar (multi multi2)\"", qp - .parse("+(foo multi) field:\"bar multi\"").toString()); - - // phrases: - assertEquals("\"(multi multi2) foo\"", qp.parse("\"multi foo\"").toString()); - assertEquals("\"foo (multi multi2)\"", qp.parse("\"foo multi\"").toString()); - assertEquals("\"foo (multi multi2) foobar (multi multi2)\"", qp.parse( - "\"foo multi foobar multi\"").toString()); - - // fields: - assertEquals("(field:multi field:multi2) field:foo", qp.parse( - "field:multi field:foo").toString()); - assertEquals("field:\"(multi multi2) foo\"", qp - .parse("field:\"multi foo\"").toString()); - - // three tokens at one position: - assertEquals("triplemulti multi3 multi2", qp.parse("triplemulti") - .toString()); - assertEquals("foo (triplemulti multi3 multi2) foobar", qp.parse( - "foo triplemulti foobar").toString()); - - // phrase with non-default slop: - assertEquals("\"(multi multi2) foo\"~10", qp.parse("\"multi foo\"~10") - .toString()); - - // phrase with non-default boost: - assertEquals("\"(multi multi2) foo\"^2.0", qp.parse("\"multi foo\"^2") - .toString()); - - // phrase after changing default slop - qp.setPhraseSlop(99); - assertEquals("\"(multi multi2) foo\"~99 bar", qp.parse("\"multi foo\" bar") - .toString()); - assertEquals("\"(multi multi2) foo\"~99 \"foo bar\"~2", qp.parse( - "\"multi foo\" \"foo bar\"~2").toString()); - qp.setPhraseSlop(0); - - // non-default operator: - qp.setDefaultOperator(QueryParserWrapper.AND_OPERATOR); - assertEquals("+(multi multi2) +foo", qp.parse("multi foo").toString()); - - } - - // public void testMultiAnalyzerWithSubclassOfQueryParser() throws - // ParseException { - // this test doesn't make sense when using the new QueryParser API - // DumbQueryParser qp = new DumbQueryParser("", new MultiAnalyzer()); - // qp.setPhraseSlop(99); // modified default slop - // - // // direct call to (super's) getFieldQuery to demonstrate differnce - // // between phrase and multiphrase with modified default slop - // assertEquals("\"foo bar\"~99", - // qp.getSuperFieldQuery("","foo bar").toString()); - // assertEquals("\"(multi multi2) bar\"~99", - // qp.getSuperFieldQuery("","multi bar").toString()); - // - // - // // ask sublcass to parse phrase with modified default slop - // assertEquals("\"(multi multi2) foo\"~99 bar", - // qp.parse("\"multi foo\" bar").toString()); - // - // } - - public void testPosIncrementAnalyzer() throws ParseException { - QueryParserWrapper qp = new QueryParserWrapper("", - new PosIncrementAnalyzer()); - assertEquals("quick brown", qp.parse("the quick brown").toString()); - assertEquals("\"quick brown\"", qp.parse("\"the quick brown\"").toString()); - assertEquals("quick brown fox", qp.parse("the quick brown fox").toString()); - assertEquals("\"quick brown fox\"", qp.parse("\"the quick brown fox\"") - .toString()); - } - - /** - * Expands "multi" to "multi" and "multi2", both at the same position, and - * expands "triplemulti" to "triplemulti", "multi3", and "multi2". - */ - private class MultiAnalyzer extends Analyzer { - - public MultiAnalyzer() { - } - - @Override - public TokenStream tokenStream(String fieldName, Reader reader) { - TokenStream result = new MockTokenizer(reader, MockTokenizer.WHITESPACE, true); - result = new TestFilter(result); - return result; - } - } - - private final class TestFilter extends TokenFilter { - - private String prevType; - private int prevStartOffset; - private int prevEndOffset; - - private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - private final PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class); - private final OffsetAttribute offsetAtt = addAttribute(OffsetAttribute.class); - private final TypeAttribute typeAtt = addAttribute(TypeAttribute.class); - - public TestFilter(TokenStream in) { - super(in); - } - - @Override - public final boolean incrementToken() throws java.io.IOException { - if (multiToken > 0) { - termAtt.setEmpty().append("multi" + (multiToken + 1)); - offsetAtt.setOffset(prevStartOffset, prevEndOffset); - typeAtt.setType(prevType); - posIncrAtt.setPositionIncrement(0); - multiToken--; - return true; - } else { - boolean next = input.incrementToken(); - if (next == false) { - return false; - } - prevType = typeAtt.type(); - prevStartOffset = offsetAtt.startOffset(); - prevEndOffset = offsetAtt.endOffset(); - String text = termAtt.toString(); - if (text.equals("triplemulti")) { - multiToken = 2; - return true; - } else if (text.equals("multi")) { - multiToken = 1; - return true; - } else { - return true; - } - } - } - - } - - /** - * Analyzes "the quick brown" as: quick(incr=2) brown(incr=1). Does not work - * correctly for input other than "the quick brown ...". - */ - private class PosIncrementAnalyzer extends Analyzer { - - public PosIncrementAnalyzer() { - } - - @Override - public TokenStream tokenStream(String fieldName, Reader reader) { - TokenStream result = new MockTokenizer(reader, MockTokenizer.WHITESPACE, true); - result = new TestPosIncrementFilter(result); - return result; - } - } - - private class TestPosIncrementFilter extends TokenFilter { - - private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - private final PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class); - - public TestPosIncrementFilter(TokenStream in) { - super(in); - } - - @Override - public final boolean incrementToken() throws java.io.IOException { - while (input.incrementToken()) { - if (termAtt.toString().equals("the")) { - // stopword, do nothing - } else if (termAtt.toString().equals("quick")) { - posIncrAtt.setPositionIncrement(2); - return true; - } else { - posIncrAtt.setPositionIncrement(1); - return true; - } - } - return false; - } - - } - -} diff --git a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestMultiFieldQueryParserWrapper.java b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestMultiFieldQueryParserWrapper.java deleted file mode 100644 index bded5f221aa..00000000000 --- a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestMultiFieldQueryParserWrapper.java +++ /dev/null @@ -1,370 +0,0 @@ -package org.apache.lucene.queryParser.standard; - -/** - * 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. - */ - -import java.io.Reader; -import java.util.HashMap; -import java.util.Map; - -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.MockAnalyzer; -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; -import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.queryParser.ParseException; -import org.apache.lucene.queryParser.standard.MultiFieldQueryParserWrapper; -import org.apache.lucene.queryParser.standard.QueryParserWrapper; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.BooleanClause.Occur; -import org.apache.lucene.store.Directory; -import org.apache.lucene.util.LuceneTestCase; - -/** - * Tests multi field query parsing using the - * {@link MultiFieldQueryParserWrapper}. - * - * @deprecated this tests test the deprecated MultiFieldQueryParserWrapper, so - * when the latter is gone, so should this test. - */ -@Deprecated -public class TestMultiFieldQueryParserWrapper extends LuceneTestCase { - - /** - * test stop words parsing for both the non static form, and for the - * corresponding static form (qtxt, fields[]). - */ - public void testStopwordsParsing() throws Exception { - assertStopQueryEquals("one", "b:one t:one"); - assertStopQueryEquals("one stop", "b:one t:one"); - assertStopQueryEquals("one (stop)", "b:one t:one"); - assertStopQueryEquals("one ((stop))", "b:one t:one"); - assertStopQueryEquals("stop", ""); - assertStopQueryEquals("(stop)", ""); - assertStopQueryEquals("((stop))", ""); - } - - // verify parsing of query using a stopping analyzer - private void assertStopQueryEquals(String qtxt, String expectedRes) - throws Exception { - String[] fields = { "b", "t" }; - Occur occur[] = { Occur.SHOULD, Occur.SHOULD }; - TestQueryParserWrapper.QPTestAnalyzer a = new TestQueryParserWrapper.QPTestAnalyzer(); - MultiFieldQueryParserWrapper mfqp = new MultiFieldQueryParserWrapper( - fields, a); - - Query q = mfqp.parse(qtxt); - assertEquals(expectedRes, q.toString()); - - q = MultiFieldQueryParserWrapper.parse(qtxt, fields, occur, a); - assertEquals(expectedRes, q.toString()); - } - - public void testSimple() throws Exception { - String[] fields = { "b", "t" }; - MultiFieldQueryParserWrapper mfqp = new MultiFieldQueryParserWrapper( - fields, new MockAnalyzer()); - - Query q = mfqp.parse("one"); - assertEquals("b:one t:one", q.toString()); - - q = mfqp.parse("one two"); - assertEquals("(b:one t:one) (b:two t:two)", q.toString()); - - q = mfqp.parse("+one +two"); - assertEquals("+(b:one t:one) +(b:two t:two)", q.toString()); - - q = mfqp.parse("+one -two -three"); - assertEquals("+(b:one t:one) -(b:two t:two) -(b:three t:three)", q - .toString()); - - q = mfqp.parse("one^2 two"); - assertEquals("((b:one t:one)^2.0) (b:two t:two)", q.toString()); - - q = mfqp.parse("one~ two"); - assertEquals("(b:one~2.0 t:one~2.0) (b:two t:two)", q.toString()); - - q = mfqp.parse("one~0.8 two^2"); - assertEquals("(b:one~0.8 t:one~0.8) ((b:two t:two)^2.0)", q.toString()); - - q = mfqp.parse("one* two*"); - assertEquals("(b:one* t:one*) (b:two* t:two*)", q.toString()); - - q = mfqp.parse("[a TO c] two"); - assertEquals("(b:[a TO c] t:[a TO c]) (b:two t:two)", q.toString()); - - q = mfqp.parse("w?ldcard"); - assertEquals("b:w?ldcard t:w?ldcard", q.toString()); - - q = mfqp.parse("\"foo bar\""); - assertEquals("b:\"foo bar\" t:\"foo bar\"", q.toString()); - - q = mfqp.parse("\"aa bb cc\" \"dd ee\""); - assertEquals("(b:\"aa bb cc\" t:\"aa bb cc\") (b:\"dd ee\" t:\"dd ee\")", q - .toString()); - - q = mfqp.parse("\"foo bar\"~4"); - assertEquals("b:\"foo bar\"~4 t:\"foo bar\"~4", q.toString()); - - // LUCENE-1213: MultiFieldQueryParserWrapper was ignoring slop when phrase - // had a field. - q = mfqp.parse("b:\"foo bar\"~4"); - assertEquals("b:\"foo bar\"~4", q.toString()); - - // make sure that terms which have a field are not touched: - q = mfqp.parse("one f:two"); - assertEquals("(b:one t:one) f:two", q.toString()); - - // AND mode: - mfqp.setDefaultOperator(QueryParserWrapper.AND_OPERATOR); - q = mfqp.parse("one two"); - assertEquals("+(b:one t:one) +(b:two t:two)", q.toString()); - q = mfqp.parse("\"aa bb cc\" \"dd ee\""); - assertEquals("+(b:\"aa bb cc\" t:\"aa bb cc\") +(b:\"dd ee\" t:\"dd ee\")", - q.toString()); - - } - - public void testBoostsSimple() throws Exception { - Map boosts = new HashMap(); - boosts.put("b", Float.valueOf(5)); - boosts.put("t", Float.valueOf(10)); - String[] fields = { "b", "t" }; - MultiFieldQueryParserWrapper mfqp = new MultiFieldQueryParserWrapper( - fields, new MockAnalyzer(), boosts); - - // Check for simple - Query q = mfqp.parse("one"); - assertEquals("b:one^5.0 t:one^10.0", q.toString()); - - // Check for AND - q = mfqp.parse("one AND two"); - assertEquals("+(b:one^5.0 t:one^10.0) +(b:two^5.0 t:two^10.0)", q - .toString()); - - // Check for OR - q = mfqp.parse("one OR two"); - assertEquals("(b:one^5.0 t:one^10.0) (b:two^5.0 t:two^10.0)", q.toString()); - - // Check for AND and a field - q = mfqp.parse("one AND two AND foo:test"); - assertEquals("+(b:one^5.0 t:one^10.0) +(b:two^5.0 t:two^10.0) +foo:test", q - .toString()); - - q = mfqp.parse("one^3 AND two^4"); - assertEquals("+((b:one^5.0 t:one^10.0)^3.0) +((b:two^5.0 t:two^10.0)^4.0)", - q.toString()); - } - - public void testStaticMethod1() throws ParseException { - String[] fields = { "b", "t" }; - String[] queries = { "one", "two" }; - Query q = MultiFieldQueryParserWrapper.parse(queries, fields, - new MockAnalyzer()); - assertEquals("b:one t:two", q.toString()); - - String[] queries2 = { "+one", "+two" }; - q = MultiFieldQueryParserWrapper.parse(queries2, fields, - new MockAnalyzer()); - assertEquals("(+b:one) (+t:two)", q.toString()); - - String[] queries3 = { "one", "+two" }; - q = MultiFieldQueryParserWrapper.parse(queries3, fields, - new MockAnalyzer()); - assertEquals("b:one (+t:two)", q.toString()); - - String[] queries4 = { "one +more", "+two" }; - q = MultiFieldQueryParserWrapper.parse(queries4, fields, - new MockAnalyzer()); - assertEquals("(b:one +b:more) (+t:two)", q.toString()); - - String[] queries5 = { "blah" }; - try { - q = MultiFieldQueryParserWrapper.parse(queries5, fields, - new MockAnalyzer()); - fail(); - } catch (IllegalArgumentException e) { - // expected exception, array length differs - } - - // check also with stop words for this static form (qtxts[], fields[]). - TestQueryParserWrapper.QPTestAnalyzer stopA = new TestQueryParserWrapper.QPTestAnalyzer(); - - String[] queries6 = { "((+stop))", "+((stop))" }; - q = MultiFieldQueryParserWrapper.parse(queries6, fields, stopA); - assertEquals("", q.toString()); - - String[] queries7 = { "one ((+stop)) +more", "+((stop)) +two" }; - q = MultiFieldQueryParserWrapper.parse(queries7, fields, stopA); - assertEquals("(b:one +b:more) (+t:two)", q.toString()); - - } - - public void testStaticMethod2() throws ParseException { - String[] fields = { "b", "t" }; - BooleanClause.Occur[] flags = { BooleanClause.Occur.MUST, - BooleanClause.Occur.MUST_NOT }; - Query q = MultiFieldQueryParserWrapper.parse("one", fields, flags, - new MockAnalyzer()); - assertEquals("+b:one -t:one", q.toString()); - - q = MultiFieldQueryParserWrapper.parse("one two", fields, flags, - new MockAnalyzer()); - assertEquals("+(b:one b:two) -(t:one t:two)", q.toString()); - - try { - BooleanClause.Occur[] flags2 = { BooleanClause.Occur.MUST }; - q = MultiFieldQueryParserWrapper.parse("blah", fields, flags2, - new MockAnalyzer()); - fail(); - } catch (IllegalArgumentException e) { - // expected exception, array length differs - } - } - - public void testStaticMethod2Old() throws ParseException { - String[] fields = { "b", "t" }; - // int[] flags = {MultiFieldQueryParserWrapper.REQUIRED_FIELD, - // MultiFieldQueryParserWrapper.PROHIBITED_FIELD}; - BooleanClause.Occur[] flags = { BooleanClause.Occur.MUST, - BooleanClause.Occur.MUST_NOT }; - - Query q = MultiFieldQueryParserWrapper.parse("one", fields, flags, - new MockAnalyzer());// , fields, flags, new MockAnalyzer()); - assertEquals("+b:one -t:one", q.toString()); - - q = MultiFieldQueryParserWrapper.parse("one two", fields, flags, - new MockAnalyzer()); - assertEquals("+(b:one b:two) -(t:one t:two)", q.toString()); - - try { - BooleanClause.Occur[] flags2 = { BooleanClause.Occur.MUST }; - q = MultiFieldQueryParserWrapper.parse("blah", fields, flags2, - new MockAnalyzer()); - fail(); - } catch (IllegalArgumentException e) { - // expected exception, array length differs - } - } - - public void testStaticMethod3() throws ParseException { - String[] queries = { "one", "two", "three" }; - String[] fields = { "f1", "f2", "f3" }; - BooleanClause.Occur[] flags = { BooleanClause.Occur.MUST, - BooleanClause.Occur.MUST_NOT, BooleanClause.Occur.SHOULD }; - Query q = MultiFieldQueryParserWrapper.parse(queries, fields, flags, - new MockAnalyzer()); - assertEquals("+f1:one -f2:two f3:three", q.toString()); - - try { - BooleanClause.Occur[] flags2 = { BooleanClause.Occur.MUST }; - q = MultiFieldQueryParserWrapper.parse(queries, fields, flags2, - new MockAnalyzer()); - fail(); - } catch (IllegalArgumentException e) { - // expected exception, array length differs - } - } - - public void testStaticMethod3Old() throws ParseException { - String[] queries = { "one", "two" }; - String[] fields = { "b", "t" }; - BooleanClause.Occur[] flags = { BooleanClause.Occur.MUST, - BooleanClause.Occur.MUST_NOT }; - Query q = MultiFieldQueryParserWrapper.parse(queries, fields, flags, - new MockAnalyzer()); - assertEquals("+b:one -t:two", q.toString()); - - try { - BooleanClause.Occur[] flags2 = { BooleanClause.Occur.MUST }; - q = MultiFieldQueryParserWrapper.parse(queries, fields, flags2, - new MockAnalyzer()); - fail(); - } catch (IllegalArgumentException e) { - // expected exception, array length differs - } - } - - public void testAnalyzerReturningNull() throws ParseException { - String[] fields = new String[] { "f1", "f2", "f3" }; - MultiFieldQueryParserWrapper parser = new MultiFieldQueryParserWrapper( - fields, new AnalyzerReturningNull()); - Query q = parser.parse("bla AND blo"); - assertEquals("+(f2:bla f3:bla) +(f2:blo f3:blo)", q.toString()); - // the following queries are not affected as their terms are not analyzed - // anyway: - q = parser.parse("bla*"); - assertEquals("f1:bla* f2:bla* f3:bla*", q.toString()); - q = parser.parse("bla~"); - assertEquals("f1:bla~2.0 f2:bla~2.0 f3:bla~2.0", q.toString()); - q = parser.parse("[a TO c]"); - assertEquals("f1:[a TO c] f2:[a TO c] f3:[a TO c]", q.toString()); - } - - public void testStopWordSearching() throws Exception { - Analyzer analyzer = new MockAnalyzer(); - Directory ramDir = newDirectory(); - IndexWriter iw = new IndexWriter(ramDir, analyzer, true, - IndexWriter.MaxFieldLength.LIMITED); - Document doc = new Document(); - doc.add(newField("body", "blah the footest blah", Field.Store.NO, - Field.Index.ANALYZED)); - iw.addDocument(doc); - iw.close(); - - MultiFieldQueryParserWrapper mfqp = new MultiFieldQueryParserWrapper( - new String[] { "body" }, analyzer); - mfqp.setDefaultOperator(QueryParserWrapper.Operator.AND); - Query q = mfqp.parse("the footest"); - IndexSearcher is = new IndexSearcher(ramDir, true); - ScoreDoc[] hits = is.search(q, null, 1000).scoreDocs; - assertEquals(1, hits.length); - is.close(); - ramDir.close(); - } - - /** - * Return empty tokens for field "f1". - */ - private static class AnalyzerReturningNull extends Analyzer { - MockAnalyzer stdAnalyzer = new MockAnalyzer(); - - public AnalyzerReturningNull() { - } - - @Override - public TokenStream tokenStream(String fieldName, Reader reader) { - if ("f1".equals(fieldName)) { - return new EmptyTokenStream(); - } else { - return stdAnalyzer.tokenStream(fieldName, reader); - } - } - - private static class EmptyTokenStream extends TokenStream { - @Override - public boolean incrementToken() { - return false; - } - } - } - -} diff --git a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java index 1f2e63613d6..a0a02a9a793 100644 --- a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java +++ b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQPHelper.java @@ -39,7 +39,6 @@ import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; -import org.apache.lucene.document.DateField; import org.apache.lucene.document.DateTools; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; @@ -692,12 +691,6 @@ public class TestQPHelper extends LuceneTestCase { ramDir.close(); } - /** for testing legacy DateField support */ - private String getLegacyDate(String s) throws Exception { - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); - return DateField.dateToString(df.parse(s)); - } - /** for testing DateTools support */ private String getDate(String s, DateTools.Resolution resolution) throws Exception { @@ -708,11 +701,7 @@ public class TestQPHelper extends LuceneTestCase { /** for testing DateTools support */ private String getDate(Date d, DateTools.Resolution resolution) throws Exception { - if (resolution == null) { - return DateField.dateToString(d); - } else { - return DateTools.dateToString(d, resolution); - } + return DateTools.dateToString(d, resolution); } private String escapeDateString(String s) { @@ -735,21 +724,6 @@ public class TestQPHelper extends LuceneTestCase { return df.format(calendar.getTime()); } - /** for testing legacy DateField support */ - public void testLegacyDateRange() throws Exception { - String startDate = getLocalizedDate(2002, 1, 1); - String endDate = getLocalizedDate(2002, 1, 4); - Calendar endDateExpected = new GregorianCalendar(); - endDateExpected.clear(); - endDateExpected.set(2002, 1, 4, 23, 59, 59); - endDateExpected.set(Calendar.MILLISECOND, 999); - assertQueryEquals("[ " + escapeDateString(startDate) + " TO " + escapeDateString(endDate) + "]", null, "[" - + getLegacyDate(startDate) + " TO " - + DateField.dateToString(endDateExpected.getTime()) + "]"); - assertQueryEquals("{ " + escapeDateString(startDate) + " " + escapeDateString(endDate) + " }", null, "{" - + getLegacyDate(startDate) + " TO " + getLegacyDate(endDate) + "}"); - } - public void testDateRange() throws Exception { String startDate = getLocalizedDate(2002, 1, 1); String endDate = getLocalizedDate(2002, 1, 4); @@ -762,20 +736,12 @@ public class TestQPHelper extends LuceneTestCase { final String hourField = "hour"; StandardQueryParser qp = new StandardQueryParser(); - // Don't set any date resolution and verify if DateField is used - assertDateRangeQueryEquals(qp, defaultField, startDate, endDate, - endDateExpected.getTime(), null); - Map dateRes = new HashMap(); // set a field specific date resolution dateRes.put(monthField, DateTools.Resolution.MONTH); qp.setDateResolution(dateRes); - // DateField should still be used for defaultField - assertDateRangeQueryEquals(qp, defaultField, startDate, endDate, - endDateExpected.getTime(), null); - // set default date resolution to MILLISECOND qp.setDateResolution(DateTools.Resolution.MILLISECOND); @@ -1075,22 +1041,35 @@ public class TestQPHelper extends LuceneTestCase { assertEquals(query1, query2); } - public void testLocalDateFormat() throws IOException, QueryNodeException { - Directory ramDir = newDirectory(); - IndexWriter iw = new IndexWriter(ramDir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false))); - addDateDoc("a", 2005, 12, 2, 10, 15, 33, iw); - addDateDoc("b", 2005, 12, 4, 22, 15, 00, iw); - iw.close(); - IndexSearcher is = new IndexSearcher(ramDir, true); - assertHits(1, "[12/1/2005 TO 12/3/2005]", is); - assertHits(2, "[12/1/2005 TO 12/4/2005]", is); - assertHits(1, "[12/3/2005 TO 12/4/2005]", is); - assertHits(1, "{12/1/2005 TO 12/3/2005}", is); - assertHits(1, "{12/1/2005 TO 12/4/2005}", is); - assertHits(0, "{12/3/2005 TO 12/4/2005}", is); - is.close(); - ramDir.close(); - } +// Todo (nocommit): Convert from DateField to DateUtil +// public void testLocalDateFormat() throws IOException, QueryNodeException { +// Directory ramDir = newDirectory(); +// IndexWriter iw = new IndexWriter(ramDir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false))); +// addDateDoc("a", 2005, 12, 2, 10, 15, 33, iw); +// addDateDoc("b", 2005, 12, 4, 22, 15, 00, iw); +// iw.close(); +// IndexSearcher is = new IndexSearcher(ramDir, true); +// assertHits(1, "[12/1/2005 TO 12/3/2005]", is); +// assertHits(2, "[12/1/2005 TO 12/4/2005]", is); +// assertHits(1, "[12/3/2005 TO 12/4/2005]", is); +// assertHits(1, "{12/1/2005 TO 12/3/2005}", is); +// assertHits(1, "{12/1/2005 TO 12/4/2005}", is); +// assertHits(0, "{12/3/2005 TO 12/4/2005}", is); +// is.close(); +// ramDir.close(); +// } +// +// private void addDateDoc(String content, int year, int month, int day, +// int hour, int minute, int second, IndexWriter iw) throws IOException { +// Document d = new Document(); +// d.add(newField("f", content, Field.Store.YES, Field.Index.ANALYZED)); +// Calendar cal = Calendar.getInstance(Locale.ENGLISH); +// cal.set(year, month - 1, day, hour, minute, second); +// d.add(newField("date", DateField.dateToString(cal.getTime()), +// Field.Store.YES, Field.Index.NOT_ANALYZED)); +// iw.addDocument(d); +// } + public void testStarParsing() throws Exception { // final int[] type = new int[1]; @@ -1251,17 +1230,6 @@ public class TestQPHelper extends LuceneTestCase { assertEquals(expected, hits.length); } - private void addDateDoc(String content, int year, int month, int day, - int hour, int minute, int second, IndexWriter iw) throws IOException { - Document d = new Document(); - d.add(newField("f", content, Field.Store.YES, Field.Index.ANALYZED)); - Calendar cal = Calendar.getInstance(Locale.ENGLISH); - cal.set(year, month - 1, day, hour, minute, second); - d.add(newField("date", DateField.dateToString(cal.getTime()), - Field.Store.YES, Field.Index.NOT_ANALYZED)); - iw.addDocument(d); - } - @Override public void tearDown() throws Exception { BooleanQuery.setMaxClauseCount(originalMaxClauses); diff --git a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQueryParserWrapper.java b/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQueryParserWrapper.java deleted file mode 100644 index 1432f718cd6..00000000000 --- a/lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/standard/TestQueryParserWrapper.java +++ /dev/null @@ -1,1212 +0,0 @@ -package org.apache.lucene.queryParser.standard; - -/** - * 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. - */ - -import java.io.IOException; -import java.io.Reader; -import java.text.Collator; -import java.text.DateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.List; -import java.util.Locale; - -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.MockAnalyzer; -import org.apache.lucene.analysis.MockTokenFilter; -import org.apache.lucene.analysis.MockTokenizer; -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Tokenizer; -import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import org.apache.lucene.document.DateField; -import org.apache.lucene.document.DateTools; -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; -import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.index.Term; -import org.apache.lucene.messages.MessageImpl; -import org.apache.lucene.queryParser.ParseException; -import org.apache.lucene.queryParser.core.QueryNodeException; -import org.apache.lucene.queryParser.core.messages.QueryParserMessages; -import org.apache.lucene.queryParser.core.nodes.FuzzyQueryNode; -import org.apache.lucene.queryParser.core.nodes.QueryNode; -import org.apache.lucene.queryParser.core.processors.QueryNodeProcessorImpl; -import org.apache.lucene.queryParser.core.processors.QueryNodeProcessorPipeline; -import org.apache.lucene.queryParser.standard.nodes.WildcardQueryNode; -import org.apache.lucene.queryParser.standard.processors.WildcardQueryNodeProcessor; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.FuzzyQuery; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.MatchAllDocsQuery; -import org.apache.lucene.search.MultiTermQuery; -import org.apache.lucene.search.PhraseQuery; -import org.apache.lucene.search.PrefixQuery; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.TermQuery; -import org.apache.lucene.search.TermRangeQuery; -import org.apache.lucene.search.WildcardQuery; -import org.apache.lucene.store.Directory; -import org.apache.lucene.util.LuceneTestCase; -import org.apache.lucene.util.automaton.BasicAutomata; -import org.apache.lucene.util.automaton.CharacterRunAutomaton; -import org.apache.lucene.util.automaton.RegExp; - -/** - * This test case is a copy of the core Lucene query parser test, it was adapted - * to use new {@link QueryParserWrapper} instead of the old query parser. - * - * Tests QueryParser. - * - * @deprecated this entire test case tests QueryParserWrapper which is - * deprecated. When QPW is gone, so will the test. - */ -@Deprecated -public class TestQueryParserWrapper extends LuceneTestCase { - - public static Analyzer qpAnalyzer = new QPTestAnalyzer(); - - public static final class QPTestFilter extends TokenFilter { - private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - private final OffsetAttribute offsetAtt = addAttribute(OffsetAttribute.class); - - /** - * Filter which discards the token 'stop' and which expands the token - * 'phrase' into 'phrase1 phrase2' - */ - public QPTestFilter(TokenStream in) { - super(in); - } - - boolean inPhrase = false; - int savedStart = 0, savedEnd = 0; - - @Override - public boolean incrementToken() throws IOException { - if (inPhrase) { - inPhrase = false; - clearAttributes(); - termAtt.setEmpty().append("phrase2"); - offsetAtt.setOffset(savedStart, savedEnd); - return true; - } else - while (input.incrementToken()) { - if (termAtt.toString().equals("phrase")) { - inPhrase = true; - savedStart = offsetAtt.startOffset(); - savedEnd = offsetAtt.endOffset(); - termAtt.setEmpty().append("phrase1"); - offsetAtt.setOffset(savedStart, savedEnd); - return true; - } else if (!termAtt.toString().equals("stop")) - return true; - } - return false; - } - } - - public static final class QPTestAnalyzer extends Analyzer { - - /** Filters MockTokenizer with StopFilter. */ - @Override - public final TokenStream tokenStream(String fieldName, Reader reader) { - return new QPTestFilter(new MockTokenizer(reader, MockTokenizer.SIMPLE, true)); - } - } - - public static class QPTestParser extends QueryParserWrapper { - public QPTestParser(String f, Analyzer a) { - super(f, a); - - QueryNodeProcessorPipeline newProcessorPipeline = new QueryNodeProcessorPipeline( - getQueryProcessor().getQueryConfigHandler()); - newProcessorPipeline.add(new WildcardQueryNodeProcessor()); - newProcessorPipeline.add(new QPTestParserQueryNodeProcessor()); - newProcessorPipeline.add(getQueryProcessor()); - - setQueryProcessor(newProcessorPipeline); - - } - - @Override - protected Query getFuzzyQuery(String field, String termStr, - float minSimilarity) throws ParseException { - throw new ParseException("Fuzzy queries not allowed"); - } - - @Override - protected Query getWildcardQuery(String field, String termStr) - throws ParseException { - throw new ParseException("Wildcard queries not allowed"); - } - - private static class QPTestParserQueryNodeProcessor extends - QueryNodeProcessorImpl { - - @Override - protected QueryNode postProcessNode(QueryNode node) - throws QueryNodeException { - - return node; - - } - - @Override - protected QueryNode preProcessNode(QueryNode node) - throws QueryNodeException { - - if (node instanceof WildcardQueryNode || node instanceof FuzzyQueryNode) { - - throw new QueryNodeException(new MessageImpl( - QueryParserMessages.EMPTY_MESSAGE)); - - } - - return node; - - } - - @Override - protected List setChildrenOrder(List children) - throws QueryNodeException { - - return children; - - } - - } - - } - - private int originalMaxClauses; - - @Override - public void setUp() throws Exception { - super.setUp(); - originalMaxClauses = BooleanQuery.getMaxClauseCount(); - } - - public QueryParserWrapper getParser(Analyzer a) throws Exception { - if (a == null) - a = new MockAnalyzer(MockTokenizer.SIMPLE, true); - QueryParserWrapper qp = new QueryParserWrapper("field", a); - qp.setDefaultOperator(QueryParserWrapper.OR_OPERATOR); - return qp; - } - - public Query getQuery(String query, Analyzer a) throws Exception { - return getParser(a).parse(query); - } - - public Query getQueryAllowLeadingWildcard(String query, Analyzer a) throws Exception { - QueryParserWrapper parser = getParser(a); - parser.setAllowLeadingWildcard(true); - return parser.parse(query); - } - - public void assertQueryEquals(String query, Analyzer a, String result) - throws Exception { - Query q = getQuery(query, a); - String s = q.toString("field"); - if (!s.equals(result)) { - fail("Query /" + query + "/ yielded /" + s + "/, expecting /" + result - + "/"); - } - } - - public void assertQueryEqualsAllowLeadingWildcard(String query, Analyzer a, String result) - throws Exception { - Query q = getQueryAllowLeadingWildcard(query, a); - String s = q.toString("field"); - if (!s.equals(result)) { - fail("Query /" + query + "/ yielded /" + s + "/, expecting /" + result - + "/"); - } - } - public void assertQueryEquals(QueryParserWrapper qp, String field, - String query, String result) throws Exception { - Query q = qp.parse(query); - String s = q.toString(field); - if (!s.equals(result)) { - fail("Query /" + query + "/ yielded /" + s + "/, expecting /" + result - + "/"); - } - } - - public void assertEscapedQueryEquals(String query, Analyzer a, String result) - throws Exception { - String escapedQuery = QueryParserWrapper.escape(query); - if (!escapedQuery.equals(result)) { - fail("Query /" + query + "/ yielded /" + escapedQuery + "/, expecting /" - + result + "/"); - } - } - - public void assertWildcardQueryEquals(String query, boolean lowercase, - String result, boolean allowLeadingWildcard) throws Exception { - QueryParserWrapper qp = getParser(null); - qp.setLowercaseExpandedTerms(lowercase); - qp.setAllowLeadingWildcard(allowLeadingWildcard); - Query q = qp.parse(query); - String s = q.toString("field"); - if (!s.equals(result)) { - fail("WildcardQuery /" + query + "/ yielded /" + s + "/, expecting /" - + result + "/"); - } - } - - public void assertWildcardQueryEquals(String query, boolean lowercase, - String result) throws Exception { - assertWildcardQueryEquals(query, lowercase, result, false); - } - - public void assertWildcardQueryEquals(String query, String result) - throws Exception { - QueryParserWrapper qp = getParser(null); - Query q = qp.parse(query); - String s = q.toString("field"); - if (!s.equals(result)) { - fail("WildcardQuery /" + query + "/ yielded /" + s + "/, expecting /" - + result + "/"); - } - } - - public Query getQueryDOA(String query, Analyzer a) throws Exception { - if (a == null) - a = new MockAnalyzer(MockTokenizer.SIMPLE, true); - QueryParserWrapper qp = new QueryParserWrapper("field", a); - qp.setDefaultOperator(QueryParserWrapper.AND_OPERATOR); - return qp.parse(query); - } - - public void assertQueryEqualsDOA(String query, Analyzer a, String result) - throws Exception { - Query q = getQueryDOA(query, a); - String s = q.toString("field"); - if (!s.equals(result)) { - fail("Query /" + query + "/ yielded /" + s + "/, expecting /" + result - + "/"); - } - } - - public void testCJK() throws Exception { - // Test Ideographic Space - As wide as a CJK character cell (fullwidth) - // used google to translate the word "term" to japanese -> ?? - assertQueryEquals("term\u3000term\u3000term", null, - "term\u0020term\u0020term"); - assertQueryEqualsAllowLeadingWildcard("??\u3000??\u3000??", null, "??\u0020??\u0020??"); - } - - //individual CJK chars as terms, like StandardAnalyzer - private class SimpleCJKTokenizer extends Tokenizer { - private CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - - public SimpleCJKTokenizer(Reader input) { - super(input); - } - - @Override - public boolean incrementToken() throws IOException { - int ch = input.read(); - if (ch < 0) - return false; - clearAttributes(); - termAtt.setEmpty().append((char) ch); - return true; - } - } - - private class SimpleCJKAnalyzer extends Analyzer { - @Override - public TokenStream tokenStream(String fieldName, Reader reader) { - return new SimpleCJKTokenizer(reader); - } - } - - public void testCJKTerm() throws Exception { - // individual CJK chars as terms - SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer(); - - BooleanQuery expected = new BooleanQuery(); - expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD); - expected.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD); - - assertEquals(expected, getQuery("中国", analyzer)); - } - - public void testCJKBoostedTerm() throws Exception { - // individual CJK chars as terms - SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer(); - - BooleanQuery expected = new BooleanQuery(); - expected.setBoost(0.5f); - expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD); - expected.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD); - - assertEquals(expected, getQuery("中国^0.5", analyzer)); - } - - public void testCJKPhrase() throws Exception { - // individual CJK chars as terms - SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer(); - - PhraseQuery expected = new PhraseQuery(); - expected.add(new Term("field", "中")); - expected.add(new Term("field", "国")); - - assertEquals(expected, getQuery("\"中国\"", analyzer)); - } - - public void testCJKBoostedPhrase() throws Exception { - // individual CJK chars as terms - SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer(); - - PhraseQuery expected = new PhraseQuery(); - expected.setBoost(0.5f); - expected.add(new Term("field", "中")); - expected.add(new Term("field", "国")); - - assertEquals(expected, getQuery("\"中国\"^0.5", analyzer)); - } - - public void testCJKSloppyPhrase() throws Exception { - // individual CJK chars as terms - SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer(); - - PhraseQuery expected = new PhraseQuery(); - expected.setSlop(3); - expected.add(new Term("field", "中")); - expected.add(new Term("field", "国")); - - assertEquals(expected, getQuery("\"中国\"~3", analyzer)); - } - - public void testSimple() throws Exception { - assertQueryEquals("\"term germ\"~2", null, "\"term germ\"~2"); - assertQueryEquals("term term term", null, "term term term"); - assertQueryEquals("t�rm term term", new MockAnalyzer(MockTokenizer.WHITESPACE, false), - "t�rm term term"); - assertQueryEquals("�mlaut", new MockAnalyzer(MockTokenizer.WHITESPACE, false), "�mlaut"); - - //FIXME: Change MockAnalyzer to not extend CharTokenizer for this test - //assertQueryEquals("\"\"", new KeywordAnalyzer(), ""); - //assertQueryEquals("foo:\"\"", new KeywordAnalyzer(), "foo:"); - - assertQueryEquals("a AND b", null, "+a +b"); - assertQueryEquals("(a AND b)", null, "+a +b"); - assertQueryEquals("c OR (a AND b)", null, "c (+a +b)"); - - assertQueryEquals("a AND NOT b", null, "+a -b"); - - assertQueryEquals("a AND -b", null, "+a -b"); - - assertQueryEquals("a AND !b", null, "+a -b"); - - assertQueryEquals("a && b", null, "+a +b"); - - assertQueryEquals("a && ! b", null, "+a -b"); - - assertQueryEquals("a OR b", null, "a b"); - assertQueryEquals("a || b", null, "a b"); - - assertQueryEquals("a OR !b", null, "a -b"); - - assertQueryEquals("a OR ! b", null, "a -b"); - - assertQueryEquals("a OR -b", null, "a -b"); - - assertQueryEquals("+term -term term", null, "+term -term term"); - assertQueryEquals("foo:term AND field:anotherTerm", null, - "+foo:term +anotherterm"); - assertQueryEquals("term AND \"phrase phrase\"", null, - "+term +\"phrase phrase\""); - assertQueryEquals("\"hello there\"", null, "\"hello there\""); - assertTrue(getQuery("a AND b", null) instanceof BooleanQuery); - assertTrue(getQuery("hello", null) instanceof TermQuery); - assertTrue(getQuery("\"hello there\"", null) instanceof PhraseQuery); - - assertQueryEquals("germ term^2.0", null, "germ term^2.0"); - assertQueryEquals("(term)^2.0", null, "term^2.0"); - assertQueryEquals("(germ term)^2.0", null, "(germ term)^2.0"); - assertQueryEquals("term^2.0", null, "term^2.0"); - assertQueryEquals("term^2", null, "term^2.0"); - assertQueryEquals("\"germ term\"^2.0", null, "\"germ term\"^2.0"); - assertQueryEquals("\"term germ\"^2", null, "\"term germ\"^2.0"); - - assertQueryEquals("(foo OR bar) AND (baz OR boo)", null, - "+(foo bar) +(baz boo)"); - assertQueryEquals("((a OR b) AND NOT c) OR d", null, "(+(a b) -c) d"); - assertQueryEquals("+(apple \"steve jobs\") -(foo bar baz)", null, - "+(apple \"steve jobs\") -(foo bar baz)"); - assertQueryEquals("+title:(dog OR cat) -author:\"bob dole\"", null, - "+(title:dog title:cat) -author:\"bob dole\""); - - QueryParserWrapper qp = new QueryParserWrapper("field", - new MockAnalyzer()); - // make sure OR is the default: - assertEquals(QueryParserWrapper.OR_OPERATOR, qp.getDefaultOperator()); - qp.setDefaultOperator(QueryParserWrapper.AND_OPERATOR); - assertEquals(QueryParserWrapper.AND_OPERATOR, qp.getDefaultOperator()); - qp.setDefaultOperator(QueryParserWrapper.OR_OPERATOR); - assertEquals(QueryParserWrapper.OR_OPERATOR, qp.getDefaultOperator()); - } - - public void testPunct() throws Exception { - Analyzer a = new MockAnalyzer(MockTokenizer.WHITESPACE, false); - assertQueryEquals("a&b", a, "a&b"); - assertQueryEquals("a&&b", a, "a&&b"); - assertQueryEquals(".NET", a, ".NET"); - } - - public void testSlop() throws Exception { - - assertQueryEquals("\"term germ\"~2", null, "\"term germ\"~2"); - assertQueryEquals("\"term germ\"~2 flork", null, "\"term germ\"~2 flork"); - assertQueryEquals("\"term\"~2", null, "term"); - assertQueryEquals("\" \"~2 germ", null, "germ"); - assertQueryEquals("\"term germ\"~2^2", null, "\"term germ\"~2^2.0"); - } - - public void testNumber() throws Exception { - // The numbers go away because SimpleAnalzyer ignores them - assertQueryEquals("3", null, ""); - assertQueryEquals("term 1.0 1 2", null, "term"); - assertQueryEquals("term term1 term2", null, "term term term"); - - Analyzer a = new MockAnalyzer(MockTokenizer.WHITESPACE, false); - assertQueryEquals("3", a, "3"); - assertQueryEquals("term 1.0 1 2", a, "term 1.0 1 2"); - assertQueryEquals("term term1 term2", a, "term term1 term2"); - } - - public void testWildcard() throws Exception { - assertQueryEquals("term*", null, "term*"); - assertQueryEquals("term*^2", null, "term*^2.0"); - assertQueryEquals("term~", null, "term~2.0"); - assertQueryEquals("term~0.7", null, "term~0.7"); - - assertQueryEquals("term~^3", null, "term~2.0^3.0"); - - assertQueryEquals("term^3~", null, "term~2.0^3.0"); - assertQueryEquals("term*germ", null, "term*germ"); - assertQueryEquals("term*germ^3", null, "term*germ^3.0"); - - assertTrue(getQuery("term*", null) instanceof PrefixQuery); - assertTrue(getQuery("term*^2", null) instanceof PrefixQuery); - assertTrue(getQuery("term~", null) instanceof FuzzyQuery); - assertTrue(getQuery("term~0.7", null) instanceof FuzzyQuery); - FuzzyQuery fq = (FuzzyQuery) getQuery("term~0.7", null); - assertEquals(0.7f, fq.getMinSimilarity(), 0.1f); - assertEquals(FuzzyQuery.defaultPrefixLength, fq.getPrefixLength()); - fq = (FuzzyQuery) getQuery("term~", null); - assertEquals(2.0f, fq.getMinSimilarity(), 0.1f); - assertEquals(FuzzyQuery.defaultPrefixLength, fq.getPrefixLength()); - - assertParseException("term~1.1"); // value > 1, throws exception - - assertTrue(getQuery("term*germ", null) instanceof WildcardQuery); - - /* - * Tests to see that wild card terms are (or are not) properly lower-cased - * with propery parser configuration - */ - // First prefix queries: - // by default, convert to lowercase: - assertWildcardQueryEquals("Term*", true, "term*"); - // explicitly set lowercase: - assertWildcardQueryEquals("term*", true, "term*"); - assertWildcardQueryEquals("Term*", true, "term*"); - assertWildcardQueryEquals("TERM*", true, "term*"); - // explicitly disable lowercase conversion: - assertWildcardQueryEquals("term*", false, "term*"); - assertWildcardQueryEquals("Term*", false, "Term*"); - assertWildcardQueryEquals("TERM*", false, "TERM*"); - // Then 'full' wildcard queries: - // by default, convert to lowercase: - assertWildcardQueryEquals("Te?m", "te?m"); - // explicitly set lowercase: - assertWildcardQueryEquals("te?m", true, "te?m"); - assertWildcardQueryEquals("Te?m", true, "te?m"); - assertWildcardQueryEquals("TE?M", true, "te?m"); - assertWildcardQueryEquals("Te?m*gerM", true, "te?m*germ"); - // explicitly disable lowercase conversion: - assertWildcardQueryEquals("te?m", false, "te?m"); - assertWildcardQueryEquals("Te?m", false, "Te?m"); - assertWildcardQueryEquals("TE?M", false, "TE?M"); - assertWildcardQueryEquals("Te?m*gerM", false, "Te?m*gerM"); - // Fuzzy queries: - assertWildcardQueryEquals("Term~", "term~2.0"); - assertWildcardQueryEquals("Term~", true, "term~2.0"); - assertWildcardQueryEquals("Term~", false, "Term~2.0"); - // Range queries: - - // TODO: implement this on QueryParser - // Q0002E_INVALID_SYNTAX_CANNOT_PARSE: Syntax Error, cannot parse '[A TO - // C]': Lexical error at line 1, column 1. Encountered: "[" (91), after : "" - assertWildcardQueryEquals("[A TO C]", "[a TO c]"); - assertWildcardQueryEquals("[A TO C]", true, "[a TO c]"); - assertWildcardQueryEquals("[A TO C]", false, "[A TO C]"); - // Test suffix queries: first disallow - try { - assertWildcardQueryEquals("*Term", true, "*term"); - fail(); - } catch (ParseException pe) { - // expected exception - } - try { - assertWildcardQueryEquals("?Term", true, "?term"); - fail(); - } catch (ParseException pe) { - // expected exception - } - // Test suffix queries: then allow - assertWildcardQueryEquals("*Term", true, "*term", true); - assertWildcardQueryEquals("?Term", true, "?term", true); - } - - public void testLeadingWildcardType() throws Exception { - QueryParserWrapper qp = getParser(null); - qp.setAllowLeadingWildcard(true); - assertEquals(WildcardQuery.class, qp.parse("t*erm*").getClass()); - assertEquals(WildcardQuery.class, qp.parse("?term*").getClass()); - assertEquals(WildcardQuery.class, qp.parse("*term*").getClass()); - } - - public void testQPA() throws Exception { - assertQueryEquals("term term^3.0 term", qpAnalyzer, "term term^3.0 term"); - assertQueryEquals("term stop^3.0 term", qpAnalyzer, "term term"); - - assertQueryEquals("term term term", qpAnalyzer, "term term term"); - assertQueryEquals("term +stop term", qpAnalyzer, "term term"); - assertQueryEquals("term -stop term", qpAnalyzer, "term term"); - - assertQueryEquals("drop AND (stop) AND roll", qpAnalyzer, "+drop +roll"); - assertQueryEquals("term +(stop) term", qpAnalyzer, "term term"); - assertQueryEquals("term -(stop) term", qpAnalyzer, "term term"); - - assertQueryEquals("drop AND stop AND roll", qpAnalyzer, "+drop +roll"); - assertQueryEquals("term phrase term", qpAnalyzer, - "term phrase1 phrase2 term"); - - assertQueryEquals("term AND NOT phrase term", qpAnalyzer, - "+term -(phrase1 phrase2) term"); - - assertQueryEquals("stop^3", qpAnalyzer, ""); - assertQueryEquals("stop", qpAnalyzer, ""); - assertQueryEquals("(stop)^3", qpAnalyzer, ""); - assertQueryEquals("((stop))^3", qpAnalyzer, ""); - assertQueryEquals("(stop^3)", qpAnalyzer, ""); - assertQueryEquals("((stop)^3)", qpAnalyzer, ""); - assertQueryEquals("(stop)", qpAnalyzer, ""); - assertQueryEquals("((stop))", qpAnalyzer, ""); - assertTrue(getQuery("term term term", qpAnalyzer) instanceof BooleanQuery); - assertTrue(getQuery("term +stop", qpAnalyzer) instanceof TermQuery); - } - - public void testRange() throws Exception { - assertQueryEquals("[ a TO z]", null, "[a TO z]"); - assertEquals(MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT, ((TermRangeQuery)getQuery("[ a TO z]", null)).getRewriteMethod()); - - QueryParserWrapper qp = new QueryParserWrapper("field", - new MockAnalyzer(MockTokenizer.SIMPLE, true)); - - qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE); - assertEquals(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE,((TermRangeQuery)qp.parse("[ a TO z]")).getRewriteMethod()); - - assertQueryEquals("[ a TO z ]", null, "[a TO z]"); - assertQueryEquals("{ a TO z}", null, "{a TO z}"); - assertQueryEquals("{ a TO z }", null, "{a TO z}"); - assertQueryEquals("{ a TO z }^2.0", null, "{a TO z}^2.0"); - assertQueryEquals("[ a TO z] OR bar", null, "[a TO z] bar"); - assertQueryEquals("[ a TO z] AND bar", null, "+[a TO z] +bar"); - assertQueryEquals("( bar blar { a TO z}) ", null, "bar blar {a TO z}"); - assertQueryEquals("gack ( bar blar { a TO z}) ", null, - "gack (bar blar {a TO z})"); - } - - public void testFarsiRangeCollating() throws Exception { - - Directory ramDir = newDirectory(); - IndexWriter iw = new IndexWriter(ramDir, new MockAnalyzer(MockTokenizer.WHITESPACE, false), true, - IndexWriter.MaxFieldLength.LIMITED); - Document doc = new Document(); - doc.add(newField("content", "\u0633\u0627\u0628", Field.Store.YES, - Field.Index.NOT_ANALYZED)); - iw.addDocument(doc); - iw.close(); - IndexSearcher is = new IndexSearcher(ramDir, true); - - QueryParserWrapper qp = new QueryParserWrapper("content", - new MockAnalyzer(MockTokenizer.WHITESPACE, false)); - - // Neither Java 1.4.2 nor 1.5.0 has Farsi Locale collation available in - // RuleBasedCollator. However, the Arabic Locale seems to order the Farsi - // characters properly. - Collator c = Collator.getInstance(new Locale("ar")); - qp.setRangeCollator(c); - - // Unicode order would include U+0633 in [ U+062F - U+0698 ], but Farsi - // orders the U+0698 character before the U+0633 character, so the single - // index Term below should NOT be returned by a ConstantScoreRangeQuery - // with a Farsi Collator (or an Arabic one for the case when Farsi is not - // supported). - - // Test ConstantScoreRangeQuery - qp.setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE); - ScoreDoc[] result = is.search(qp.parse("[ \u062F TO \u0698 ]"), null, 1000).scoreDocs; - assertEquals("The index Term should not be included.", 0, result.length); - - result = is.search(qp.parse("[ \u0633 TO \u0638 ]"), null, 1000).scoreDocs; - assertEquals("The index Term should be included.", 1, result.length); - - // Test RangeQuery - qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE); - result = is.search(qp.parse("[ \u062F TO \u0698 ]"), null, 1000).scoreDocs; - assertEquals("The index Term should not be included.", 0, result.length); - - result = is.search(qp.parse("[ \u0633 TO \u0638 ]"), null, 1000).scoreDocs; - assertEquals("The index Term should be included.", 1, result.length); - - is.close(); - ramDir.close(); - } - - private String escapeDateString(String s) { - if (s.contains(" ")) { - return "\"" + s + "\""; - } else { - return s; - } - } - - /** for testing legacy DateField support */ - private String getLegacyDate(String s) throws Exception { - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); - return DateField.dateToString(df.parse(s)); - } - - /** for testing DateTools support */ - private String getDate(String s, DateTools.Resolution resolution) - throws Exception { - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); - return getDate(df.parse(s), resolution); - } - - /** for testing DateTools support */ - private String getDate(Date d, DateTools.Resolution resolution) - throws Exception { - if (resolution == null) { - return DateField.dateToString(d); - } else { - return DateTools.dateToString(d, resolution); - } - } - - private String getLocalizedDate(int year, int month, int day) { - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); - Calendar calendar = new GregorianCalendar(); - calendar.clear(); - calendar.set(year, month, day); - calendar.set(Calendar.HOUR_OF_DAY, 23); - calendar.set(Calendar.MINUTE, 59); - calendar.set(Calendar.SECOND, 59); - calendar.set(Calendar.MILLISECOND, 999); - return df.format(calendar.getTime()); - } - - /** for testing legacy DateField support */ - public void testLegacyDateRange() throws Exception { - String startDate = getLocalizedDate(2002, 1, 1); - String endDate = getLocalizedDate(2002, 1, 4); - Calendar endDateExpected = new GregorianCalendar(); - endDateExpected.clear(); - endDateExpected.set(2002, 1, 4, 23, 59, 59); - endDateExpected.set(Calendar.MILLISECOND, 999); - assertQueryEquals("[ " + escapeDateString(startDate) + " TO " + escapeDateString(endDate) + "]", null, "[" - + getLegacyDate(startDate) + " TO " - + DateField.dateToString(endDateExpected.getTime()) + "]"); - assertQueryEquals("{ " + escapeDateString(startDate) + " " + escapeDateString(endDate) + " }", null, "{" - + getLegacyDate(startDate) + " TO " + getLegacyDate(endDate) + "}"); - } - - public void testDateRange() throws Exception { - String startDate = getLocalizedDate(2002, 1, 1); - String endDate = getLocalizedDate(2002, 1, 4); - Calendar endDateExpected = new GregorianCalendar(); - endDateExpected.clear(); - endDateExpected.set(2002, 1, 4, 23, 59, 59); - endDateExpected.set(Calendar.MILLISECOND, 999); - final String defaultField = "default"; - final String monthField = "month"; - final String hourField = "hour"; - QueryParserWrapper qp = new QueryParserWrapper("field", - new MockAnalyzer(MockTokenizer.SIMPLE, true)); - - // Don't set any date resolution and verify if DateField is used - assertDateRangeQueryEquals(qp, defaultField, startDate, endDate, - endDateExpected.getTime(), null); - - // set a field specific date resolution - qp.setDateResolution(monthField, DateTools.Resolution.MONTH); - - // DateField should still be used for defaultField - assertDateRangeQueryEquals(qp, defaultField, startDate, endDate, - endDateExpected.getTime(), null); - - // set default date resolution to MILLISECOND - qp.setDateResolution(DateTools.Resolution.MILLISECOND); - - // set second field specific date resolution - qp.setDateResolution(hourField, DateTools.Resolution.HOUR); - - // for this field no field specific date resolution has been set, - // so verify if the default resolution is used - assertDateRangeQueryEquals(qp, defaultField, startDate, endDate, - endDateExpected.getTime(), DateTools.Resolution.MILLISECOND); - - // verify if field specific date resolutions are used for these two fields - assertDateRangeQueryEquals(qp, monthField, startDate, endDate, - endDateExpected.getTime(), DateTools.Resolution.MONTH); - - assertDateRangeQueryEquals(qp, hourField, startDate, endDate, - endDateExpected.getTime(), DateTools.Resolution.HOUR); - } - - public void assertDateRangeQueryEquals(QueryParserWrapper qp, String field, - String startDate, String endDate, Date endDateInclusive, - DateTools.Resolution resolution) throws Exception { - assertQueryEquals(qp, field, field + ":[" + escapeDateString(startDate) + " TO " + escapeDateString(endDate) - + "]", "[" + getDate(startDate, resolution) + " TO " - + getDate(endDateInclusive, resolution) + "]"); - assertQueryEquals(qp, field, field + ":{" + escapeDateString(startDate) + " TO " + escapeDateString(endDate) - + "}", "{" + getDate(startDate, resolution) + " TO " - + getDate(endDate, resolution) + "}"); - } - - public void testEscaped() throws Exception { - Analyzer a = new MockAnalyzer(MockTokenizer.WHITESPACE, false); - - /* - * assertQueryEquals("\\[brackets", a, "\\[brackets"); - * assertQueryEquals("\\[brackets", null, "brackets"); - * assertQueryEquals("\\\\", a, "\\\\"); assertQueryEquals("\\+blah", a, - * "\\+blah"); assertQueryEquals("\\(blah", a, "\\(blah"); - * - * assertQueryEquals("\\-blah", a, "\\-blah"); assertQueryEquals("\\!blah", - * a, "\\!blah"); assertQueryEquals("\\{blah", a, "\\{blah"); - * assertQueryEquals("\\}blah", a, "\\}blah"); assertQueryEquals("\\:blah", - * a, "\\:blah"); assertQueryEquals("\\^blah", a, "\\^blah"); - * assertQueryEquals("\\[blah", a, "\\[blah"); assertQueryEquals("\\]blah", - * a, "\\]blah"); assertQueryEquals("\\\"blah", a, "\\\"blah"); - * assertQueryEquals("\\(blah", a, "\\(blah"); assertQueryEquals("\\)blah", - * a, "\\)blah"); assertQueryEquals("\\~blah", a, "\\~blah"); - * assertQueryEquals("\\*blah", a, "\\*blah"); assertQueryEquals("\\?blah", - * a, "\\?blah"); //assertQueryEquals("foo \\&\\& bar", a, - * "foo \\&\\& bar"); //assertQueryEquals("foo \\|| bar", a, - * "foo \\|| bar"); //assertQueryEquals("foo \\AND bar", a, - * "foo \\AND bar"); - */ - - assertQueryEquals("\\a", a, "a"); - - assertQueryEquals("a\\-b:c", a, "a-b:c"); - assertQueryEquals("a\\+b:c", a, "a+b:c"); - assertQueryEquals("a\\:b:c", a, "a:b:c"); - assertQueryEquals("a\\\\b:c", a, "a\\b:c"); - - assertQueryEquals("a:b\\-c", a, "a:b-c"); - assertQueryEquals("a:b\\+c", a, "a:b+c"); - assertQueryEquals("a:b\\:c", a, "a:b:c"); - assertQueryEquals("a:b\\\\c", a, "a:b\\c"); - - assertQueryEquals("a:b\\-c*", a, "a:b-c*"); - assertQueryEquals("a:b\\+c*", a, "a:b+c*"); - assertQueryEquals("a:b\\:c*", a, "a:b:c*"); - - assertQueryEquals("a:b\\\\c*", a, "a:b\\c*"); - - assertQueryEquals("a:b\\-?c", a, "a:b-?c"); - assertQueryEquals("a:b\\+?c", a, "a:b+?c"); - assertQueryEquals("a:b\\:?c", a, "a:b:?c"); - - assertQueryEquals("a:b\\\\?c", a, "a:b\\?c"); - - assertQueryEquals("a:b\\-c~", a, "a:b-c~2.0"); - assertQueryEquals("a:b\\+c~", a, "a:b+c~2.0"); - assertQueryEquals("a:b\\:c~", a, "a:b:c~2.0"); - assertQueryEquals("a:b\\\\c~", a, "a:b\\c~2.0"); - - // TODO: implement Range queries on QueryParser - assertQueryEquals("[ a\\- TO a\\+ ]", null, "[a- TO a+]"); - assertQueryEquals("[ a\\: TO a\\~ ]", null, "[a: TO a~]"); - assertQueryEquals("[ a\\\\ TO a\\* ]", null, "[a\\ TO a*]"); - - assertQueryEquals( - "[\"c\\:\\\\temp\\\\\\~foo0.txt\" TO \"c\\:\\\\temp\\\\\\~foo9.txt\"]", - a, "[c:\\temp\\~foo0.txt TO c:\\temp\\~foo9.txt]"); - - assertQueryEquals("a\\\\\\+b", a, "a\\+b"); - - assertQueryEquals("a \\\"b c\\\" d", a, "a \"b c\" d"); - assertQueryEquals("\"a \\\"b c\\\" d\"", a, "\"a \"b c\" d\""); - assertQueryEquals("\"a \\+b c d\"", a, "\"a +b c d\""); - - assertQueryEquals("c\\:\\\\temp\\\\\\~foo.txt", a, "c:\\temp\\~foo.txt"); - - assertParseException("XY\\"); // there must be a character after the escape - // char - - // test unicode escaping - assertQueryEquals("a\\u0062c", a, "abc"); - assertQueryEquals("XY\\u005a", a, "XYZ"); - assertQueryEquals("XY\\u005A", a, "XYZ"); - assertQueryEquals("\"a \\\\\\u0028\\u0062\\\" c\"", a, "\"a \\(b\" c\""); - - assertParseException("XY\\u005G"); // test non-hex character in escaped - // unicode sequence - assertParseException("XY\\u005"); // test incomplete escaped unicode - // sequence - - // Tests bug LUCENE-800 - assertQueryEquals("(item:\\\\ item:ABCD\\\\)", a, "item:\\ item:ABCD\\"); - assertParseException("(item:\\\\ item:ABCD\\\\))"); // unmatched closing - // paranthesis - assertQueryEquals("\\*", a, "*"); - assertQueryEquals("\\\\", a, "\\"); // escaped backslash - - assertParseException("\\"); // a backslash must always be escaped - - // LUCENE-1189 - assertQueryEquals("(\"a\\\\\") or (\"b\")", a, "a\\ or b"); - } - - public void testQueryStringEscaping() throws Exception { - Analyzer a = new MockAnalyzer(MockTokenizer.WHITESPACE, false); - - assertEscapedQueryEquals("a-b:c", a, "a\\-b\\:c"); - assertEscapedQueryEquals("a+b:c", a, "a\\+b\\:c"); - assertEscapedQueryEquals("a:b:c", a, "a\\:b\\:c"); - assertEscapedQueryEquals("a\\b:c", a, "a\\\\b\\:c"); - - assertEscapedQueryEquals("a:b-c", a, "a\\:b\\-c"); - assertEscapedQueryEquals("a:b+c", a, "a\\:b\\+c"); - assertEscapedQueryEquals("a:b:c", a, "a\\:b\\:c"); - assertEscapedQueryEquals("a:b\\c", a, "a\\:b\\\\c"); - - assertEscapedQueryEquals("a:b-c*", a, "a\\:b\\-c\\*"); - assertEscapedQueryEquals("a:b+c*", a, "a\\:b\\+c\\*"); - assertEscapedQueryEquals("a:b:c*", a, "a\\:b\\:c\\*"); - - assertEscapedQueryEquals("a:b\\\\c*", a, "a\\:b\\\\\\\\c\\*"); - - assertEscapedQueryEquals("a:b-?c", a, "a\\:b\\-\\?c"); - assertEscapedQueryEquals("a:b+?c", a, "a\\:b\\+\\?c"); - assertEscapedQueryEquals("a:b:?c", a, "a\\:b\\:\\?c"); - - assertEscapedQueryEquals("a:b?c", a, "a\\:b\\?c"); - - assertEscapedQueryEquals("a:b-c~", a, "a\\:b\\-c\\~"); - assertEscapedQueryEquals("a:b+c~", a, "a\\:b\\+c\\~"); - assertEscapedQueryEquals("a:b:c~", a, "a\\:b\\:c\\~"); - assertEscapedQueryEquals("a:b\\c~", a, "a\\:b\\\\c\\~"); - - assertEscapedQueryEquals("[ a - TO a+ ]", null, "\\[ a \\- TO a\\+ \\]"); - assertEscapedQueryEquals("[ a : TO a~ ]", null, "\\[ a \\: TO a\\~ \\]"); - assertEscapedQueryEquals("[ a\\ TO a* ]", null, "\\[ a\\\\ TO a\\* \\]"); - - // LUCENE-881 - assertEscapedQueryEquals("|| abc ||", a, "\\|\\| abc \\|\\|"); - assertEscapedQueryEquals("&& abc &&", a, "\\&\\& abc \\&\\&"); - } - - public void testTabNewlineCarriageReturn() throws Exception { - assertQueryEqualsDOA("+weltbank +worlbank", null, "+weltbank +worlbank"); - - assertQueryEqualsDOA("+weltbank\n+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \n+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \n +worlbank", null, "+weltbank +worlbank"); - - assertQueryEqualsDOA("+weltbank\r+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \r+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \r +worlbank", null, "+weltbank +worlbank"); - - assertQueryEqualsDOA("+weltbank\r\n+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \r\n+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \r\n +worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \r \n +worlbank", null, - "+weltbank +worlbank"); - - assertQueryEqualsDOA("+weltbank\t+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \t+worlbank", null, "+weltbank +worlbank"); - assertQueryEqualsDOA("weltbank \t +worlbank", null, "+weltbank +worlbank"); - } - - public void testSimpleDAO() throws Exception { - assertQueryEqualsDOA("term term term", null, "+term +term +term"); - assertQueryEqualsDOA("term +term term", null, "+term +term +term"); - assertQueryEqualsDOA("term term +term", null, "+term +term +term"); - assertQueryEqualsDOA("term +term +term", null, "+term +term +term"); - assertQueryEqualsDOA("-term term term", null, "-term +term +term"); - } - - public void testBoost() throws Exception { - CharacterRunAutomaton stopSet = new CharacterRunAutomaton(BasicAutomata.makeString("on")); - Analyzer oneStopAnalyzer = new MockAnalyzer(MockTokenizer.SIMPLE, true, stopSet, true); - QueryParserWrapper qp = new QueryParserWrapper("field", oneStopAnalyzer); - Query q = qp.parse("on^1.0"); - assertNotNull(q); - q = qp.parse("\"hello\"^2.0"); - assertNotNull(q); - assertEquals(q.getBoost(), (float) 2.0, (float) 0.5); - q = qp.parse("hello^2.0"); - assertNotNull(q); - assertEquals(q.getBoost(), (float) 2.0, (float) 0.5); - q = qp.parse("\"on\"^1.0"); - assertNotNull(q); - - QueryParserWrapper qp2 = new QueryParserWrapper("field", - new MockAnalyzer(MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET, true)); - q = qp2.parse("the^3"); - // "the" is a stop word so the result is an empty query: - assertNotNull(q); - assertEquals("", q.toString()); - assertEquals(1.0f, q.getBoost(), 0.01f); - } - - public void assertParseException(String queryString) throws Exception { - try { - getQuery(queryString, null); - } catch (ParseException expected) { - return; - } - fail("ParseException expected, not thrown"); - } - - public void testException() throws Exception { - assertParseException("\"some phrase"); - assertParseException("(foo bar"); - assertParseException("foo bar))"); - assertParseException("field:term:with:colon some more terms"); - assertParseException("(sub query)^5.0^2.0 plus more"); - assertParseException("secret AND illegal) AND access:confidential"); - } - - public void testCustomQueryParserWildcard() { - try { - new QPTestParser("contents", new MockAnalyzer(MockTokenizer.WHITESPACE, false)).parse("a?t"); - fail("Wildcard queries should not be allowed"); - } catch (ParseException expected) { - // expected exception - } - } - - public void testCustomQueryParserFuzzy() throws Exception { - try { - new QPTestParser("contents", new MockAnalyzer(MockTokenizer.WHITESPACE, false)).parse("xunit~"); - fail("Fuzzy queries should not be allowed"); - } catch (ParseException expected) { - // expected exception - } - } - - public void testBooleanQuery() throws Exception { - BooleanQuery.setMaxClauseCount(2); - try { - QueryParserWrapper qp = new QueryParserWrapper("field", - new MockAnalyzer(MockTokenizer.WHITESPACE, false)); - qp.parse("one two three"); - fail("ParseException expected due to too many boolean clauses"); - } catch (ParseException expected) { - // too many boolean clauses, so ParseException is expected - } - } - - /** - * This test differs from TestPrecedenceQueryParser - */ - public void testPrecedence() throws Exception { - QueryParserWrapper qp = new QueryParserWrapper("field", - new MockAnalyzer(MockTokenizer.WHITESPACE, false)); - Query query1 = qp.parse("A AND B OR C AND D"); - Query query2 = qp.parse("+A +B +C +D"); - - assertEquals(query1, query2); - } - - public void testLocalDateFormat() throws IOException, ParseException { - - Directory ramDir = newDirectory(); - IndexWriter iw = new IndexWriter(ramDir, new MockAnalyzer(MockTokenizer.WHITESPACE, false), true, - IndexWriter.MaxFieldLength.LIMITED); - addDateDoc("a", 2005, 12, 2, 10, 15, 33, iw); - addDateDoc("b", 2005, 12, 4, 22, 15, 00, iw); - iw.close(); - IndexSearcher is = new IndexSearcher(ramDir, true); - assertHits(1, "[12/1/2005 TO 12/3/2005]", is); - assertHits(2, "[12/1/2005 TO 12/4/2005]", is); - assertHits(1, "[12/3/2005 TO 12/4/2005]", is); - assertHits(1, "{12/1/2005 TO 12/3/2005}", is); - assertHits(1, "{12/1/2005 TO 12/4/2005}", is); - assertHits(0, "{12/3/2005 TO 12/4/2005}", is); - is.close(); - ramDir.close(); - } - - public void testStarParsing() throws Exception { - // final int[] type = new int[1]; - // QueryParser qp = new QueryParserWrapper("field", new - // WhitespaceAnalyzer()) { - // protected Query getWildcardQuery(String field, String termStr) throws - // ParseException { - // // override error checking of superclass - // type[0]=1; - // return new TermQuery(new Term(field,termStr)); - // } - // protected Query getPrefixQuery(String field, String termStr) throws - // ParseException { - // // override error checking of superclass - // type[0]=2; - // return new TermQuery(new Term(field,termStr)); - // } - // - // protected Query getFieldQuery(String field, String queryText) throws - // ParseException { - // type[0]=3; - // return super.getFieldQuery(field, queryText); - // } - // }; - // - // TermQuery tq; - // - // tq = (TermQuery)qp.parse("foo:zoo*"); - // assertEquals("zoo",tq.getTerm().text()); - // assertEquals(2,type[0]); - // - // tq = (TermQuery)qp.parse("foo:zoo*^2"); - // assertEquals("zoo",tq.getTerm().text()); - // assertEquals(2,type[0]); - // assertEquals(tq.getBoost(),2,0); - // - // tq = (TermQuery)qp.parse("foo:*"); - // assertEquals("*",tq.getTerm().text()); - // assertEquals(1,type[0]); // could be a valid prefix query in the future - // too - // - // tq = (TermQuery)qp.parse("foo:*^2"); - // assertEquals("*",tq.getTerm().text()); - // assertEquals(1,type[0]); - // assertEquals(tq.getBoost(),2,0); - // - // tq = (TermQuery)qp.parse("*:foo"); - // assertEquals("*",tq.getTerm().field()); - // assertEquals("foo",tq.getTerm().text()); - // assertEquals(3,type[0]); - // - // tq = (TermQuery)qp.parse("*:*"); - // assertEquals("*",tq.getTerm().field()); - // assertEquals("*",tq.getTerm().text()); - // assertEquals(1,type[0]); // could be handled as a prefix query in the - // future - // - // tq = (TermQuery)qp.parse("(*:*)"); - // assertEquals("*",tq.getTerm().field()); - // assertEquals("*",tq.getTerm().text()); - // assertEquals(1,type[0]); - - } - - public void testStopwords() throws Exception { - CharacterRunAutomaton stopSet = new CharacterRunAutomaton(new RegExp("the|foo").toAutomaton()); - QueryParserWrapper qp = new QueryParserWrapper("a", new MockAnalyzer(MockTokenizer.SIMPLE, true, stopSet, true)); - Query result = qp.parse("a:the OR a:foo"); - assertNotNull("result is null and it shouldn't be", result); - assertTrue("result is not a BooleanQuery", result instanceof BooleanQuery); - assertTrue(((BooleanQuery) result).clauses().size() + " does not equal: " - + 0, ((BooleanQuery) result).clauses().size() == 0); - result = qp.parse("a:woo OR a:the"); - assertNotNull("result is null and it shouldn't be", result); - assertTrue("result is not a TermQuery", result instanceof TermQuery); - result = qp - .parse("(fieldX:xxxxx OR fieldy:xxxxxxxx)^2 AND (fieldx:the OR fieldy:foo)"); - assertNotNull("result is null and it shouldn't be", result); - assertTrue("result is not a BooleanQuery", result instanceof BooleanQuery); - if (VERBOSE) System.out.println("Result: " + result); - assertTrue(((BooleanQuery) result).clauses().size() + " does not equal: " - + 2, ((BooleanQuery) result).clauses().size() == 2); - } - - public void testPositionIncrement() throws Exception { - QueryParserWrapper qp = new QueryParserWrapper("a", new MockAnalyzer(MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET, true)); - qp.setEnablePositionIncrements(true); - String qtxt = "\"the words in poisitions pos02578 are stopped in this phrasequery\""; - // 0 2 5 7 8 - int expectedPositions[] = { 1, 3, 4, 6, 9 }; - PhraseQuery pq = (PhraseQuery) qp.parse(qtxt); - // System.out.println("Query text: "+qtxt); - // System.out.println("Result: "+pq); - Term t[] = pq.getTerms(); - int pos[] = pq.getPositions(); - for (int i = 0; i < t.length; i++) { - // System.out.println(i+". "+t[i]+" pos: "+pos[i]); - assertEquals("term " + i + " = " + t[i] + " has wrong term-position!", - expectedPositions[i], pos[i]); - } - } - - public void testMatchAllDocs() throws Exception { - QueryParserWrapper qp = new QueryParserWrapper("field", - new MockAnalyzer(MockTokenizer.WHITESPACE, false)); - assertEquals(new MatchAllDocsQuery(), qp.parse("*:*")); - assertEquals(new MatchAllDocsQuery(), qp.parse("(*:*)")); - BooleanQuery bq = (BooleanQuery) qp.parse("+*:* -*:*"); - assertTrue(bq.getClauses()[0].getQuery() instanceof MatchAllDocsQuery); - assertTrue(bq.getClauses()[1].getQuery() instanceof MatchAllDocsQuery); - } - - private void assertHits(int expected, String query, IndexSearcher is) - throws ParseException, IOException { - QueryParserWrapper qp = new QueryParserWrapper("date", - new MockAnalyzer(MockTokenizer.WHITESPACE, false)); - qp.setLocale(Locale.ENGLISH); - Query q = qp.parse(query); - ScoreDoc[] hits = is.search(q, null, 1000).scoreDocs; - assertEquals(expected, hits.length); - } - - private void addDateDoc(String content, int year, int month, int day, - int hour, int minute, int second, IndexWriter iw) throws IOException { - Document d = new Document(); - d.add(newField("f", content, Field.Store.YES, Field.Index.ANALYZED)); - Calendar cal = Calendar.getInstance(Locale.ENGLISH); - cal.set(year, month - 1, day, hour, minute, second); - d.add(newField("date", DateField.dateToString(cal.getTime()), - Field.Store.YES, Field.Index.NOT_ANALYZED)); - iw.addDocument(d); - } - - @Override - public void tearDown() throws Exception { - BooleanQuery.setMaxClauseCount(originalMaxClauses); - super.tearDown(); - } - -} diff --git a/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSearchable.java b/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSearchable.java index 101220a98df..dc1c8156d1f 100644 --- a/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSearchable.java +++ b/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSearchable.java @@ -76,7 +76,7 @@ public class TestRemoteSearchable extends RemoteTestCase { document = searcher.doc(0, fs); assertTrue("document is null and it shouldn't be", document != null); assertTrue("document.getFields() Size: " + document.getFields().size() + " is not: " + 1, document.getFields().size() == 1); - fs = new MapFieldSelector(new String[]{"other"}); + fs = new MapFieldSelector("other"); document = searcher.doc(0, fs); assertTrue("document is null and it shouldn't be", document != null); assertTrue("document.getFields() Size: " + document.getFields().size() + " is not: " + 1, document.getFields().size() == 1); diff --git a/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSort.java b/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSort.java index 7da14d8bc43..88bf2bceb86 100644 --- a/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSort.java +++ b/lucene/contrib/remote/src/test/org/apache/lucene/search/TestRemoteSort.java @@ -84,10 +84,12 @@ public class TestRemoteSort extends RemoteTestCase { @BeforeClass public static void beforeClass() throws Exception { indexStore = newDirectory(); - IndexWriter writer = new IndexWriter(indexStore, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(1000); + IndexWriter writer = new IndexWriter( + indexStore, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(1000)) + ); for (int i=0; i scoresA = getScores (full.search (queryA, null, 1000).scoreDocs, full); // we'll test searching locally, remote and multi - MultiSearcher remote = new MultiSearcher (new Searchable[] { lookupRemote() }); + MultiSearcher remote = new MultiSearcher (lookupRemote()); // change sorting and make sure relevancy stays the same diff --git a/lucene/contrib/spatial/src/java/org/apache/lucene/spatial/geometry/shape/DistanceApproximation.java b/lucene/contrib/spatial/src/java/org/apache/lucene/spatial/geometry/shape/DistanceApproximation.java deleted file mode 100644 index acf6ab005c3..00000000000 --- a/lucene/contrib/spatial/src/java/org/apache/lucene/spatial/geometry/shape/DistanceApproximation.java +++ /dev/null @@ -1,126 +0,0 @@ -/** - * 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.lucene.spatial.geometry.shape; - -/** - * Imported from mq java client. No changes made. - * - *

NOTE: This API is still in - * flux and might change in incompatible ways in the next - * release. - * - * @deprecated This has been replaced with more accurate - * math in {@link LLRect}. This class will be removed in a future release. - */ -@Deprecated -public class DistanceApproximation -{ - private double m_testLat; - private double m_testLng; - private double m_mpd; - private static final double m_milesPerLngDeg[]={ - 69.170976f, 69.160441f, 69.128838f, 69.076177f, 69.002475f, - 68.907753f, 68.792041f, 68.655373f, 68.497792f, 68.319345f, - 68.120088f, 67.900079f, 67.659387f, 67.398085f, 67.116253f, - 66.813976f, 66.491346f, 66.148462f, 65.785428f, 65.402355f, - 64.999359f, 64.576564f, 64.134098f, 63.672096f, 63.190698f, - 62.690052f, 62.170310f, 61.631630f, 61.074176f, 60.498118f, - 59.903632f, 59.290899f, 58.660106f, 58.011443f, 57.345111f, - 56.661310f, 55.960250f, 55.242144f, 54.507211f, 53.755675f, - 52.987764f, 52.203713f, 51.403761f, 50.588151f, 49.757131f, - 48.910956f, 48.049882f, 47.174172f, 46.284093f, 45.379915f, - 44.461915f, 43.530372f, 42.585570f, 41.627796f, 40.657342f, - 39.674504f, 38.679582f, 37.672877f, 36.654698f, 35.625354f, - 34.585159f, 33.534429f, 32.473485f, 31.402650f, 30.322249f, - 29.232613f, 28.134073f, 27.026963f, 25.911621f, 24.788387f, - 23.657602f, 22.519612f, 21.374762f, 20.223401f, 19.065881f, - 17.902554f, 16.733774f, 15.559897f, 14.381280f, 13.198283f, - 12.011266f, 10.820591f, 9.626619f, 8.429716f, 7.230245f, - 6.028572f, 4.825062f, 3.620083f, 2.414002f, 1.207185f, - 1.000000f}; - - public static final double MILES_PER_LATITUDE = 69.170976f; - public static final double KILOMETERS_PER_MILE = 1.609347f; - - - public DistanceApproximation() - { - } - - public void setTestPoint(double lat, double lng) - { - m_testLat = lat; - m_testLng = lng; - m_mpd = m_milesPerLngDeg[(int)(Math.abs(lat) + 0.5f)]; - } - - // Approximate arc distance between 2 lat,lng positions using miles per - // latitude and longitude degree - public double getDistanceSq(double lat, double lng) - { - double latMiles = (lat - m_testLat) * MILES_PER_LATITUDE; - - // Approximate longitude miles using the miles per degree assuming the - // middle latitude/longitude. This is less accurate at high (near - // polar) latitudes but no road network is present at the poles! - // If we ever have any roads crossing the international date we will - // have to worry about that case. - double lngMiles = (lng - m_testLng) * m_mpd; - - // Find the squared distance by the Pythagorean theorem (without sqrt) - return (latMiles * latMiles + lngMiles * lngMiles); - } - - // Approximate arc distance between a segment (with lat,lng endpoints) and - // the test position - public double getDistanceSq(double lat1, double lng1, double lat2, double lng2) - { - // Check if lat1,lng1 is closest point. Construct a vector from point1 - // to point2 (v1) and another from point 1 to the test point (v2). - // If dot product is negative then point 1 is the closest point - double v1y = lat2 - lat1; - double v1x = lng2 - lng1; - double v2y = m_testLat - lat1; - double v2x = m_testLng - lng1; - double dot = v1x * v2x + v1y * v2y; - if (dot <= 0.0f) - return getDistanceSq(lat1, lng1); - - // Get the component of vector v2 along v1. If component is greater - // than 1 then the endpoint is the closest point. - double c = dot / (v1x * v1x + v1y * v1y); - if (c >= 1.0f) - return getDistanceSq(lat2, lng2); - - // Since we are working io lat,lng space we need to find the point - // along p1->p2 such that q->pt is perpendicular to p1->p2. We - // then find the distance squared between Q and pt. - return getDistanceSq((lat1 + v1y * c), (lng1 + v1x * c)); - } - - // Return the number of miles per degree of longitude - public static double getMilesPerLngDeg(double lat) - { - return (Math.abs(lat) <= 90.0) ? m_milesPerLngDeg[(int)(Math.abs(lat) + 0.5f)] : 69.170976f; - } - - public static double getMilesPerLatDeg() { - return MILES_PER_LATITUDE; - } -} - diff --git a/lucene/contrib/spatial/src/java/org/apache/lucene/spatial/tier/projections/SinusoidalProjector.java b/lucene/contrib/spatial/src/java/org/apache/lucene/spatial/tier/projections/SinusoidalProjector.java index ea7694b7b91..8cc151dc0e3 100644 --- a/lucene/contrib/spatial/src/java/org/apache/lucene/spatial/tier/projections/SinusoidalProjector.java +++ b/lucene/contrib/spatial/src/java/org/apache/lucene/spatial/tier/projections/SinusoidalProjector.java @@ -28,7 +28,7 @@ package org.apache.lucene.spatial.tier.projections; * flux and might change in incompatible ways in the next * release. * - * @deprecated Until we can put in place proper tests and a proper fix. + * @deprecated (3.1) Until we can put in place proper tests and a proper fix. */ @Deprecated public class SinusoidalProjector implements IProjector { diff --git a/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/TestParser.java b/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/TestParser.java index a463aeb5047..9b656c2339d 100644 --- a/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/TestParser.java +++ b/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/TestParser.java @@ -58,7 +58,7 @@ public class TestParser extends LuceneTestCase { BufferedReader d = new BufferedReader(new InputStreamReader(TestParser.class.getResourceAsStream("reuters21578.txt"))); dir=newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(Version.LUCENE_24, analyzer)); + IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(Version.LUCENE_40, analyzer)); String line = d.readLine(); while(line!=null) { diff --git a/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java b/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java index b74eb65d3d8..dca574dd0bf 100644 --- a/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java +++ b/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java @@ -29,7 +29,6 @@ import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.index.IndexWriter.MaxFieldLength; import org.apache.lucene.search.Filter; import org.apache.lucene.search.NumericRangeFilter; import org.apache.lucene.store.Directory; diff --git a/lucene/src/java/org/apache/lucene/analysis/CharTokenizer.java b/lucene/src/java/org/apache/lucene/analysis/CharTokenizer.java index e1ade4ee81e..3055d19e5b2 100644 --- a/lucene/src/java/org/apache/lucene/analysis/CharTokenizer.java +++ b/lucene/src/java/org/apache/lucene/analysis/CharTokenizer.java @@ -25,7 +25,6 @@ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.util.AttributeSource; import org.apache.lucene.util.CharacterUtils; import org.apache.lucene.util.Version; -import org.apache.lucene.util.VirtualMethod; import org.apache.lucene.util.CharacterUtils.CharacterBuffer; /** @@ -78,8 +77,6 @@ public abstract class CharTokenizer extends Tokenizer { public CharTokenizer(Version matchVersion, Reader input) { super(input); charUtils = CharacterUtils.getInstance(matchVersion); - useOldAPI = useOldAPI(matchVersion); - } /** @@ -96,7 +93,6 @@ public abstract class CharTokenizer extends Tokenizer { Reader input) { super(source, input); charUtils = CharacterUtils.getInstance(matchVersion); - useOldAPI = useOldAPI(matchVersion); } /** @@ -113,147 +109,30 @@ public abstract class CharTokenizer extends Tokenizer { Reader input) { super(factory, input); charUtils = CharacterUtils.getInstance(matchVersion); - useOldAPI = useOldAPI(matchVersion); - } - - /** - * Creates a new {@link CharTokenizer} instance - * @param input the input to split up into tokens - * @deprecated use {@link #CharTokenizer(Version, Reader)} instead. This will be - * removed in Lucene 4.0. - */ - @Deprecated - public CharTokenizer(Reader input) { - this(Version.LUCENE_30, input); - } - - /** - * Creates a new {@link CharTokenizer} instance - * @param input the input to split up into tokens - * @param source the attribute source to use for this {@link Tokenizer} - * @deprecated use {@link #CharTokenizer(Version, AttributeSource, Reader)} instead. This will be - * removed in Lucene 4.0. - */ - @Deprecated - public CharTokenizer(AttributeSource source, Reader input) { - this(Version.LUCENE_30, source, input); - } - - /** - * Creates a new {@link CharTokenizer} instance - * @param input the input to split up into tokens - * @param factory the attribute factory to use for this {@link Tokenizer} - * @deprecated use {@link #CharTokenizer(Version, AttributeSource.AttributeFactory, Reader)} instead. This will be - * removed in Lucene 4.0. - */ - @Deprecated - public CharTokenizer(AttributeFactory factory, Reader input) { - this(Version.LUCENE_30, factory, input); } private int offset = 0, bufferIndex = 0, dataLen = 0, finalOffset = 0; private static final int MAX_WORD_LEN = 255; private static final int IO_BUFFER_SIZE = 4096; - private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);; + private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); private final OffsetAttribute offsetAtt = addAttribute(OffsetAttribute.class); private final CharacterUtils charUtils; private final CharacterBuffer ioBuffer = CharacterUtils.newCharacterBuffer(IO_BUFFER_SIZE); - /** - * @deprecated this will be removed in lucene 4.0 - */ - @Deprecated - private final boolean useOldAPI; - - /** - * @deprecated this will be removed in lucene 4.0 - */ - @Deprecated - private static final VirtualMethod isTokenCharMethod = - new VirtualMethod(CharTokenizer.class, "isTokenChar", char.class); - - /** - * @deprecated this will be removed in lucene 4.0 - */ - @Deprecated - private static final VirtualMethod normalizeMethod = - new VirtualMethod(CharTokenizer.class, "normalize", char.class); - - /** - * Returns true iff a UTF-16 code unit should be included in a token. This - * tokenizer generates as tokens adjacent sequences of characters which - * satisfy this predicate. Characters for which this is false are - * used to define token boundaries and are not included in tokens. - *

- * Note: This method cannot handle supplementary characters. To support all Unicode characters, including - * supplementary characters, use the {@link #isTokenChar(int)} method. - *

- * - * @deprecated use {@link #isTokenChar(int)} instead. This method will be - * removed in Lucene 4.0. - */ - @Deprecated - protected boolean isTokenChar(char c) { - return isTokenChar((int)c); - } - - /** - * Called on each token UTF-16 code unit to normalize it before it is added to the - * token. The default implementation does nothing. Subclasses may use this to, - * e.g., lowercase tokens. - *

- * Note: This method cannot handle supplementary characters. To support all Unicode characters, including - * supplementary characters, use the {@link #normalize(int)} method. - *

- * - * @deprecated use {@link #normalize(int)} instead. This method will be - * removed in Lucene 4.0. - */ - @Deprecated - protected char normalize(char c) { - return (char) normalize((int) c); - } - /** * Returns true iff a codepoint should be included in a token. This tokenizer * generates as tokens adjacent sequences of codepoints which satisfy this * predicate. Codepoints for which this is false are used to define token * boundaries and are not included in tokens. - *

- * As of Lucene 3.1 the char based API ({@link #isTokenChar(char)} and - * {@link #normalize(char)}) has been depreciated in favor of a Unicode 4.0 - * compatible int based API to support codepoints instead of UTF-16 code - * units. Subclasses of {@link CharTokenizer} must not override the char based - * methods if a {@link Version} >= 3.1 is passed to the constructor. - *

- *

- * NOTE: This method will be marked abstract in Lucene 4.0. - *

*/ - protected boolean isTokenChar(int c) { - throw new UnsupportedOperationException("since LUCENE_31 subclasses of CharTokenizer must implement isTokenChar(int)"); - } + protected abstract boolean isTokenChar(int c); /** * Called on each token character to normalize it before it is added to the * token. The default implementation does nothing. Subclasses may use this to, * e.g., lowercase tokens. - *

- * As of Lucene 3.1 the char based API ({@link #isTokenChar(char)} and - * {@link #normalize(char)}) has been depreciated in favor of a Unicode 4.0 - * compatible int based API to support codepoints instead of UTF-16 code - * units. Subclasses of {@link CharTokenizer} must not override the char based - * methods if a {@link Version} >= 3.1 is passed to the constructor. - *

- *

- * NOTE: This method will be marked abstract in Lucene 4.0. - *

*/ protected int normalize(int c) { return c; @@ -262,8 +141,6 @@ public abstract class CharTokenizer extends Tokenizer { @Override public final boolean incrementToken() throws IOException { clearAttributes(); - if(useOldAPI) // TODO remove this in LUCENE 4.0 - return incrementTokenOld(); int length = 0; int start = -1; // this variable is always initialized char[] buffer = termAtt.buffer(); @@ -307,62 +184,6 @@ public abstract class CharTokenizer extends Tokenizer { } - /** - * The <= 3.0 version of incrementToken. This is a backwards compat implementation used - * if a version <= 3.0 is provided to the ctor. - * @deprecated remove in 4.0 - */ - @Deprecated - private boolean incrementTokenOld() throws IOException { - int length = 0; - int start = -1; // this variable is always initialized - char[] buffer = termAtt.buffer(); - final char[] oldIoBuffer = ioBuffer.getBuffer(); - while (true) { - - if (bufferIndex >= dataLen) { - offset += dataLen; - dataLen = input.read(oldIoBuffer); - if (dataLen == -1) { - dataLen = 0; // so next offset += dataLen won't decrement offset - if (length > 0) { - break; - } else { - finalOffset = correctOffset(offset); - return false; - } - } - bufferIndex = 0; - } - - final char c = oldIoBuffer[bufferIndex++]; - - if (isTokenChar(c)) { // if it's a token char - - if (length == 0) { // start of token - assert start == -1; - start = offset + bufferIndex - 1; - } else if (length == buffer.length) { - buffer = termAtt.resizeBuffer(1+length); - } - - buffer[length++] = normalize(c); // buffer it, normalized - - if (length == MAX_WORD_LEN) // buffer overflow! - break; - - } else if (length > 0) // at non-Letter w/ chars - break; // return 'em - } - - termAtt.setLength(length); - assert start != -1; - offsetAtt.setOffset(correctOffset(start), correctOffset(start+length)); - return true; - } - - - @Override public final void end() { // set final offset @@ -378,17 +199,4 @@ public abstract class CharTokenizer extends Tokenizer { finalOffset = 0; ioBuffer.reset(); // make sure to reset the IO buffer!! } - - /** - * @deprecated this will be removed in lucene 4.0 - */ - @Deprecated - private boolean useOldAPI(Version matchVersion) { - final Class clazz = this.getClass(); - if (matchVersion.onOrAfter(Version.LUCENE_31) - && (isTokenCharMethod.isOverriddenAsOf(clazz) || normalizeMethod - .isOverriddenAsOf(clazz))) throw new IllegalArgumentException( - "For matchVersion >= LUCENE_31, CharTokenizer subclasses must not override isTokenChar(char) or normalize(char)."); - return !matchVersion.onOrAfter(Version.LUCENE_31); - } } \ No newline at end of file diff --git a/lucene/src/java/org/apache/lucene/document/DateField.java b/lucene/src/java/org/apache/lucene/document/DateField.java deleted file mode 100644 index 508cc3d97e1..00000000000 --- a/lucene/src/java/org/apache/lucene/document/DateField.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.apache.lucene.document; - -/** - * 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. - */ - -import org.apache.lucene.search.PrefixQuery; -import org.apache.lucene.search.TermRangeQuery; -import org.apache.lucene.search.NumericRangeQuery; // for javadocs -import org.apache.lucene.util.NumericUtils; // for javadocs - -import java.util.Date; // for javadoc -import java.util.Calendar; // for javadoc - -// do not remove in 3.0, needed for reading old indexes! - -/** - * Provides support for converting dates to strings and vice-versa. - * The strings are structured so that lexicographic sorting orders by date, - * which makes them suitable for use as field values and search terms. - * - *

Note that this class saves dates with millisecond granularity, - * which is bad for {@link TermRangeQuery} and {@link PrefixQuery}, as those - * queries are expanded to a BooleanQuery with a potentially large number - * of terms when searching. Thus you might want to use - * {@link DateTools} instead. - * - *

- * Note: dates before 1970 cannot be used, and therefore cannot be - * indexed when using this class. See {@link DateTools} for an - * alternative without such a limitation. - * - *

- * Another approach is {@link NumericUtils}, which provides - * a sortable binary representation (prefix encoded) of numeric values, which - * date/time are. - * For indexing a {@link Date} or {@link Calendar}, just get the unix timestamp as - * long using {@link Date#getTime} or {@link Calendar#getTimeInMillis} and - * index this as a numeric value with {@link NumericField} - * and use {@link NumericRangeQuery} to query it. - * - * @deprecated If you build a new index, use {@link DateTools} or - * {@link NumericField} instead. - * This class is included for use with existing - * indices and will be removed in a future release (possibly Lucene 4.0). - */ -@Deprecated -public class DateField { - - private DateField() {} - - // make date strings long enough to last a millenium - private static int DATE_LEN = Long.toString(1000L*365*24*60*60*1000, - Character.MAX_RADIX).length(); - - public static String MIN_DATE_STRING() { - return timeToString(0); - } - - public static String MAX_DATE_STRING() { - char[] buffer = new char[DATE_LEN]; - char c = Character.forDigit(Character.MAX_RADIX-1, Character.MAX_RADIX); - for (int i = 0 ; i < DATE_LEN; i++) - buffer[i] = c; - return new String(buffer); - } - - /** - * Converts a Date to a string suitable for indexing. - * @throws RuntimeException if the date specified in the - * method argument is before 1970 - */ - public static String dateToString(Date date) { - return timeToString(date.getTime()); - } - /** - * Converts a millisecond time to a string suitable for indexing. - * @throws RuntimeException if the time specified in the - * method argument is negative, that is, before 1970 - */ - public static String timeToString(long time) { - if (time < 0) - throw new RuntimeException("time '" + time + "' is too early, must be >= 0"); - - String s = Long.toString(time, Character.MAX_RADIX); - - if (s.length() > DATE_LEN) - throw new RuntimeException("time '" + time + "' is too late, length of string " + - "representation must be <= " + DATE_LEN); - - // Pad with leading zeros - if (s.length() < DATE_LEN) { - StringBuilder sb = new StringBuilder(s); - while (sb.length() < DATE_LEN) - sb.insert(0, 0); - s = sb.toString(); - } - - return s; - } - - /** Converts a string-encoded date into a millisecond time. */ - public static long stringToTime(String s) { - return Long.parseLong(s, Character.MAX_RADIX); - } - /** Converts a string-encoded date into a Date object. */ - public static Date stringToDate(String s) { - return new Date(stringToTime(s)); - } -} diff --git a/lucene/src/java/org/apache/lucene/document/DateTools.java b/lucene/src/java/org/apache/lucene/document/DateTools.java index 27d3a41a67c..68cb2dfdf25 100644 --- a/lucene/src/java/org/apache/lucene/document/DateTools.java +++ b/lucene/src/java/org/apache/lucene/document/DateTools.java @@ -36,10 +36,6 @@ import org.apache.lucene.util.NumericUtils; // for javadocs * save dates with a finer resolution than you really need, as then * RangeQuery and PrefixQuery will require more memory and become slower. * - *

Compared to {@link DateField} the strings generated by the methods - * in this class take slightly more space, unless your selected resolution - * is set to Resolution.DAY or lower. - * *

* Another approach is {@link NumericUtils}, which provides * a sortable binary representation (prefix encoded) of numeric values, which diff --git a/lucene/src/java/org/apache/lucene/document/Field.java b/lucene/src/java/org/apache/lucene/document/Field.java index 32ccd46e248..8ab55f390c2 100644 --- a/lucene/src/java/org/apache/lucene/document/Field.java +++ b/lucene/src/java/org/apache/lucene/document/Field.java @@ -17,13 +17,13 @@ package org.apache.lucene.document; * limitations under the License. */ -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.index.IndexWriter; // for javadoc -import org.apache.lucene.util.StringHelper; - import java.io.Reader; import java.io.Serializable; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.index.IndexWriter; +import org.apache.lucene.util.StringHelper; + /** A field is a section of a Document. Each field has two parts, a name and a value. Values may be free text, provided as a String or as a Reader, or they @@ -516,24 +516,6 @@ public final class Field extends AbstractField implements Fieldable, Serializabl } - /** - * Create a stored field with binary value. Optionally the value may be compressed. - * - * @param name The name of the field - * @param value The binary value - * @param store Must be Store.YES - * @throws IllegalArgumentException if store is Store.NO - * @deprecated Use {@link #Field(String, byte[]) instead} - */ - @Deprecated - public Field(String name, byte[] value, Store store) { - this(name, value, 0, value.length); - - if (store == Store.NO) { - throw new IllegalArgumentException("binary values can't be unstored"); - } - } - /** * Create a stored field with binary value. Optionally the value may be compressed. * @@ -544,26 +526,6 @@ public final class Field extends AbstractField implements Fieldable, Serializabl this(name, value, 0, value.length); } - /** - * Create a stored field with binary value. Optionally the value may be compressed. - * - * @param name The name of the field - * @param value The binary value - * @param offset Starting offset in value where this Field's bytes are - * @param length Number of bytes to use for this Field, starting at offset - * @param store How value should be stored (compressed or not) - * @throws IllegalArgumentException if store is Store.NO - * @deprecated Use {@link #Field(String, byte[], int, int) instead} - */ - @Deprecated - public Field(String name, byte[] value, int offset, int length, Store store) { - this(name, value, offset, length); - - if (store == Store.NO) { - throw new IllegalArgumentException("binary values can't be unstored"); - } - } - /** * Create a stored field with binary value. Optionally the value may be compressed. * diff --git a/lucene/src/java/org/apache/lucene/document/NumberTools.java b/lucene/src/java/org/apache/lucene/document/NumberTools.java deleted file mode 100644 index 4f29ae9469f..00000000000 --- a/lucene/src/java/org/apache/lucene/document/NumberTools.java +++ /dev/null @@ -1,140 +0,0 @@ -package org.apache.lucene.document; - -/** - * 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. - */ - -import org.apache.lucene.document.NumericField; // for javadocs -import org.apache.lucene.search.NumericRangeQuery; // for javadocs -import org.apache.lucene.util.NumericUtils; // for javadocs - -// do not remove this class in 3.0, it may be needed to decode old indexes! - -/** - * Provides support for converting longs to Strings, and back again. The strings - * are structured so that lexicographic sorting order is preserved. - * - *

- * That is, if l1 is less than l2 for any two longs l1 and l2, then - * NumberTools.longToString(l1) is lexicographically less than - * NumberTools.longToString(l2). (Similarly for "greater than" and "equals".) - * - *

- * This class handles all long values (unlike - * {@link org.apache.lucene.document.DateField}). - * - * @deprecated For new indexes use {@link NumericUtils} instead, which - * provides a sortable binary representation (prefix encoded) of numeric - * values. - * To index and efficiently query numeric values use {@link NumericField} - * and {@link NumericRangeQuery}. - * This class is included for use with existing - * indices and will be removed in a future release (possibly Lucene 4.0). - */ -@Deprecated -public class NumberTools { - - private static final int RADIX = 36; - - private static final char NEGATIVE_PREFIX = '-'; - - // NB: NEGATIVE_PREFIX must be < POSITIVE_PREFIX - private static final char POSITIVE_PREFIX = '0'; - - //NB: this must be less than - /** - * Equivalent to longToString(Long.MIN_VALUE) - */ - public static final String MIN_STRING_VALUE = NEGATIVE_PREFIX - + "0000000000000"; - - /** - * Equivalent to longToString(Long.MAX_VALUE) - */ - public static final String MAX_STRING_VALUE = POSITIVE_PREFIX - + "1y2p0ij32e8e7"; - - /** - * The length of (all) strings returned by {@link #longToString} - */ - public static final int STR_SIZE = MIN_STRING_VALUE.length(); - - /** - * Converts a long to a String suitable for indexing. - */ - public static String longToString(long l) { - - if (l == Long.MIN_VALUE) { - // special case, because long is not symmetric around zero - return MIN_STRING_VALUE; - } - - StringBuilder buf = new StringBuilder(STR_SIZE); - - if (l < 0) { - buf.append(NEGATIVE_PREFIX); - l = Long.MAX_VALUE + l + 1; - } else { - buf.append(POSITIVE_PREFIX); - } - String num = Long.toString(l, RADIX); - - int padLen = STR_SIZE - num.length() - buf.length(); - while (padLen-- > 0) { - buf.append('0'); - } - buf.append(num); - - return buf.toString(); - } - - /** - * Converts a String that was returned by {@link #longToString} back to a - * long. - * - * @throws IllegalArgumentException - * if the input is null - * @throws NumberFormatException - * if the input does not parse (it was not a String returned by - * longToString()). - */ - public static long stringToLong(String str) { - if (str == null) { - throw new NullPointerException("string cannot be null"); - } - if (str.length() != STR_SIZE) { - throw new NumberFormatException("string is the wrong size"); - } - - if (str.equals(MIN_STRING_VALUE)) { - return Long.MIN_VALUE; - } - - char prefix = str.charAt(0); - long l = Long.parseLong(str.substring(1), RADIX); - - if (prefix == POSITIVE_PREFIX) { - // nop - } else if (prefix == NEGATIVE_PREFIX) { - l = l - Long.MAX_VALUE - 1; - } else { - throw new NumberFormatException( - "string does not begin with the correct prefix"); - } - - return l; - } -} \ No newline at end of file diff --git a/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java b/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java index 72813ae162c..c596eb0e868 100644 --- a/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java +++ b/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java @@ -23,6 +23,7 @@ import org.apache.lucene.store.BufferedIndexInput; import org.apache.lucene.store.IndexOutput; import org.apache.lucene.store.Lock; +import java.util.Collection; import java.util.HashMap; import java.io.FileNotFoundException; import java.io.IOException; @@ -227,6 +228,10 @@ public class CompoundFileReader extends Directory { throw new UnsupportedOperationException(); } + @Override + public void sync(Collection names) throws IOException { + } + /** Not implemented * @throws UnsupportedOperationException */ @Override diff --git a/lucene/src/java/org/apache/lucene/index/IndexWriter.java b/lucene/src/java/org/apache/lucene/index/IndexWriter.java index 1f690748632..e7e7812eeaf 100644 --- a/lucene/src/java/org/apache/lucene/index/IndexWriter.java +++ b/lucene/src/java/org/apache/lucene/index/IndexWriter.java @@ -180,68 +180,11 @@ import java.util.Date; * keeps track of the last non commit checkpoint. */ public class IndexWriter implements Closeable { - - /** - * Default value for the write lock timeout (1,000). - * @see #setDefaultWriteLockTimeout - * @deprecated use {@link IndexWriterConfig#WRITE_LOCK_TIMEOUT} instead - */ - @Deprecated - public static long WRITE_LOCK_TIMEOUT = IndexWriterConfig.WRITE_LOCK_TIMEOUT; - - private long writeLockTimeout; - /** * Name of the write lock in the index. */ public static final String WRITE_LOCK_NAME = "write.lock"; - /** - * Value to denote a flush trigger is disabled - * @deprecated use {@link IndexWriterConfig#DISABLE_AUTO_FLUSH} instead - */ - @Deprecated - public final static int DISABLE_AUTO_FLUSH = IndexWriterConfig.DISABLE_AUTO_FLUSH; - - /** - * Disabled by default (because IndexWriter flushes by RAM usage - * by default). Change using {@link #setMaxBufferedDocs(int)}. - * @deprecated use {@link IndexWriterConfig#DEFAULT_MAX_BUFFERED_DOCS} instead. - */ - @Deprecated - public final static int DEFAULT_MAX_BUFFERED_DOCS = IndexWriterConfig.DEFAULT_MAX_BUFFERED_DOCS; - - /** - * Default value is 16 MB (which means flush when buffered - * docs consume 16 MB RAM). Change using {@link #setRAMBufferSizeMB}. - * @deprecated use {@link IndexWriterConfig#DEFAULT_RAM_BUFFER_SIZE_MB} instead. - */ - @Deprecated - public final static double DEFAULT_RAM_BUFFER_SIZE_MB = IndexWriterConfig.DEFAULT_RAM_BUFFER_SIZE_MB; - - /** - * Disabled by default (because IndexWriter flushes by RAM usage - * by default). Change using {@link #setMaxBufferedDeleteTerms(int)}. - * @deprecated use {@link IndexWriterConfig#DEFAULT_MAX_BUFFERED_DELETE_TERMS} instead - */ - @Deprecated - public final static int DEFAULT_MAX_BUFFERED_DELETE_TERMS = IndexWriterConfig.DEFAULT_MAX_BUFFERED_DELETE_TERMS; - - /** - * Default value is 10,000. Change using {@link #setMaxFieldLength(int)}. - * - * @deprecated see {@link IndexWriterConfig} - */ - @Deprecated - public final static int DEFAULT_MAX_FIELD_LENGTH = 10000; - - /** - * Default value is 128. Change using {@link #setTermIndexInterval(int)}. - * @deprecated use {@link IndexWriterConfig#DEFAULT_TERM_INDEX_INTERVAL} instead. - */ - @Deprecated - public final static int DEFAULT_TERM_INDEX_INTERVAL = IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL; - /** * Absolute hard maximum length for a term, in bytes once * encoded as UTF8. If a term arrives from the analyzer @@ -268,9 +211,6 @@ public class IndexWriter implements Closeable { private final Directory directory; // where this index resides private final Analyzer analyzer; // how to analyze text - // TODO 4.0: this should be made final once the setter is out - private /*final*/Similarity similarity = Similarity.getDefault(); // how to normalize - private volatile long changeCount; // increments every time a change is completed private long lastCommitChangeCount; // last changeCount that was committed @@ -290,8 +230,7 @@ public class IndexWriter implements Closeable { private Lock writeLock; - // TODO 4.0: this should be made final once the setter is out - private /*final*/int termIndexInterval; + private final int termIndexInterval; private boolean closed; private boolean closing; @@ -301,8 +240,7 @@ public class IndexWriter implements Closeable { private HashSet mergingSegments = new HashSet(); private MergePolicy mergePolicy; - // TODO 4.0: this should be made final once the setter is removed - private /*final*/MergeScheduler mergeScheduler; + private final MergeScheduler mergeScheduler; private LinkedList pendingMerges = new LinkedList(); private Set runningMerges = new HashSet(); private List mergeExceptions = new ArrayList(); @@ -730,276 +668,6 @@ public class IndexWriter implements Closeable { throw new IllegalArgumentException("this method can only be called when the merge policy is the default LogMergePolicy"); } - /**

Get the current setting of whether newly flushed - * segments will use the compound file format. Note that - * this just returns the value previously set with - * setUseCompoundFile(boolean), or the default value - * (true). You cannot use this to query the status of - * previously flushed segments.

- * - *

Note that this method is a convenience method: it - * just calls mergePolicy.getUseCompoundFile as long as - * mergePolicy is an instance of {@link LogMergePolicy}. - * Otherwise an IllegalArgumentException is thrown.

- * - * @see #setUseCompoundFile(boolean) - * @deprecated use {@link LogMergePolicy#getUseCompoundDocStore()} and - * {@link LogMergePolicy#getUseCompoundFile()} directly. - */ - @Deprecated - public boolean getUseCompoundFile() { - return getLogMergePolicy().getUseCompoundFile(); - } - - /** - *

- * Setting to turn on usage of a compound file. When on, multiple files for - * each segment are merged into a single file when a new segment is flushed. - *

- * - *

- * Note that this method is a convenience method: it just calls - * mergePolicy.setUseCompoundFile as long as mergePolicy is an instance of - * {@link LogMergePolicy}. Otherwise an IllegalArgumentException is thrown. - *

- * - * @deprecated use {@link LogMergePolicy#setUseCompoundDocStore(boolean)} and - * {@link LogMergePolicy#setUseCompoundFile(boolean)} directly. - * Note that this method set the given value on both, therefore - * you should consider doing the same. - */ - @Deprecated - public void setUseCompoundFile(boolean value) { - getLogMergePolicy().setUseCompoundFile(value); - getLogMergePolicy().setUseCompoundDocStore(value); - } - - /** Expert: Set the Similarity implementation used by this IndexWriter. - * - * @see Similarity#setDefault(Similarity) - * @deprecated use {@link IndexWriterConfig#setSimilarity(Similarity)} instead - */ - @Deprecated - public void setSimilarity(Similarity similarity) { - ensureOpen(); - this.similarity = similarity; - docWriter.setSimilarity(similarity); - // Required so config.getSimilarity returns the right value. But this will - // go away together with the method in 4.0. - config.setSimilarity(similarity); - } - - /** Expert: Return the Similarity implementation used by this IndexWriter. - * - *

This defaults to the current value of {@link Similarity#getDefault()}. - * @deprecated use {@link IndexWriterConfig#getSimilarity()} instead - */ - @Deprecated - public Similarity getSimilarity() { - ensureOpen(); - return similarity; - } - - /** Expert: Set the interval between indexed terms. Large values cause less - * memory to be used by IndexReader, but slow random-access to terms. Small - * values cause more memory to be used by an IndexReader, and speed - * random-access to terms. - * - * This parameter determines the amount of computation required per query - * term, regardless of the number of documents that contain that term. In - * particular, it is the maximum number of other terms that must be - * scanned before a term is located and its frequency and position information - * may be processed. In a large index with user-entered query terms, query - * processing time is likely to be dominated not by term lookup but rather - * by the processing of frequency and positional data. In a small index - * or when many uncommon query terms are generated (e.g., by wildcard - * queries) term lookup may become a dominant cost. - * - * In particular, numUniqueTerms/interval terms are read into - * memory by an IndexReader, and, on average, interval/2 terms - * must be scanned for each random term access. - * - * @see #DEFAULT_TERM_INDEX_INTERVAL - * @deprecated use {@link IndexWriterConfig#setTermIndexInterval(int)} - */ - @Deprecated - public void setTermIndexInterval(int interval) { - ensureOpen(); - this.termIndexInterval = interval; - // Required so config.getTermIndexInterval returns the right value. But this - // will go away together with the method in 4.0. - config.setTermIndexInterval(interval); - } - - /** Expert: Return the interval between indexed terms. - * - * @see #setTermIndexInterval(int) - * @deprecated use {@link IndexWriterConfig#getTermIndexInterval()} - */ - @Deprecated - public int getTermIndexInterval() { - // We pass false because this method is called by SegmentMerger while we are in the process of closing - ensureOpen(false); - return termIndexInterval; - } - - /** - * Constructs an IndexWriter for the index in d. - * Text will be analyzed with a. If create - * is true, then a new, empty index will be created in - * d, replacing the index already there, if any. - * - * @param d the index directory - * @param a the analyzer to use - * @param create true to create the index or overwrite - * the existing one; false to append to the existing - * index - * @param mfl Maximum field length in number of terms/tokens: LIMITED, UNLIMITED, or user-specified - * via the MaxFieldLength constructor. - * @throws CorruptIndexException if the index is corrupt - * @throws LockObtainFailedException if another writer - * has this index open (write.lock could not - * be obtained) - * @throws IOException if the directory cannot be read/written to, or - * if it does not exist and create is - * false or if there is any other low-level - * IO error - * @deprecated use {@link #IndexWriter(Directory, IndexWriterConfig)} instead - */ - @Deprecated - public IndexWriter(Directory d, Analyzer a, boolean create, MaxFieldLength mfl) - throws CorruptIndexException, LockObtainFailedException, IOException { - this(d, new IndexWriterConfig(Version.LUCENE_31, a).setOpenMode( - create ? OpenMode.CREATE : OpenMode.APPEND).setMaxFieldLength( - mfl.getLimit())); - } - - /** - * Constructs an IndexWriter for the index in - * d, first creating it if it does not - * already exist. Text will be analyzed with - * a. - * - * @param d the index directory - * @param a the analyzer to use - * @param mfl Maximum field length in number of terms/tokens: LIMITED, UNLIMITED, or user-specified - * via the MaxFieldLength constructor. - * @throws CorruptIndexException if the index is corrupt - * @throws LockObtainFailedException if another writer - * has this index open (write.lock could not - * be obtained) - * @throws IOException if the directory cannot be - * read/written to or if there is any other low-level - * IO error - * @deprecated use {@link #IndexWriter(Directory, IndexWriterConfig)} instead - */ - @Deprecated - public IndexWriter(Directory d, Analyzer a, MaxFieldLength mfl) - throws CorruptIndexException, LockObtainFailedException, IOException { - this(d, new IndexWriterConfig(Version.LUCENE_31, a) - .setMaxFieldLength(mfl.getLimit())); - } - - /** - * Expert: constructs an IndexWriter with a custom {@link - * IndexDeletionPolicy}, for the index in d, - * first creating it if it does not already exist. Text - * will be analyzed with a. - * - * @param d the index directory - * @param a the analyzer to use - * @param deletionPolicy see above - * @param mfl whether or not to limit field lengths - * @throws CorruptIndexException if the index is corrupt - * @throws LockObtainFailedException if another writer - * has this index open (write.lock could not - * be obtained) - * @throws IOException if the directory cannot be - * read/written to or if there is any other low-level - * IO error - * @deprecated use {@link #IndexWriter(Directory, IndexWriterConfig)} instead - */ - @Deprecated - public IndexWriter(Directory d, Analyzer a, IndexDeletionPolicy deletionPolicy, MaxFieldLength mfl) - throws CorruptIndexException, LockObtainFailedException, IOException { - this(d, new IndexWriterConfig(Version.LUCENE_31, a).setMaxFieldLength( - mfl.getLimit()).setIndexDeletionPolicy(deletionPolicy)); - } - - /** - * Expert: constructs an IndexWriter with a custom {@link - * IndexDeletionPolicy}, for the index in d. - * Text will be analyzed with a. If - * create is true, then a new, empty index - * will be created in d, replacing the index - * already there, if any. - * - * @param d the index directory - * @param a the analyzer to use - * @param create true to create the index or overwrite - * the existing one; false to append to the existing - * index - * @param deletionPolicy see above - * @param mfl {@link org.apache.lucene.index.IndexWriter.MaxFieldLength}, whether or not to limit field lengths. Value is in number of terms/tokens - * @throws CorruptIndexException if the index is corrupt - * @throws LockObtainFailedException if another writer - * has this index open (write.lock could not - * be obtained) - * @throws IOException if the directory cannot be read/written to, or - * if it does not exist and create is - * false or if there is any other low-level - * IO error - * @deprecated use {@link #IndexWriter(Directory, IndexWriterConfig)} instead - */ - @Deprecated - public IndexWriter(Directory d, Analyzer a, boolean create, IndexDeletionPolicy deletionPolicy, MaxFieldLength mfl) - throws CorruptIndexException, LockObtainFailedException, IOException { - this(d, new IndexWriterConfig(Version.LUCENE_31, a).setOpenMode( - create ? OpenMode.CREATE : OpenMode.APPEND).setMaxFieldLength( - mfl.getLimit()).setIndexDeletionPolicy(deletionPolicy)); - } - - /** - * Expert: constructs an IndexWriter on specific commit - * point, with a custom {@link IndexDeletionPolicy}, for - * the index in d. Text will be analyzed - * with a. - * - *

This is only meaningful if you've used a {@link - * IndexDeletionPolicy} in that past that keeps more than - * just the last commit. - * - *

This operation is similar to {@link #rollback()}, - * except that method can only rollback what's been done - * with the current instance of IndexWriter since its last - * commit, whereas this method can rollback to an - * arbitrary commit point from the past, assuming the - * {@link IndexDeletionPolicy} has preserved past - * commits. - * - * @param d the index directory - * @param a the analyzer to use - * @param deletionPolicy see above - * @param mfl whether or not to limit field lengths, value is in number of terms/tokens. See {@link org.apache.lucene.index.IndexWriter.MaxFieldLength}. - * @param commit which commit to open - * @throws CorruptIndexException if the index is corrupt - * @throws LockObtainFailedException if another writer - * has this index open (write.lock could not - * be obtained) - * @throws IOException if the directory cannot be read/written to, or - * if it does not exist and create is - * false or if there is any other low-level - * IO error - * @deprecated use {@link #IndexWriter(Directory, IndexWriterConfig)} instead - */ - @Deprecated - public IndexWriter(Directory d, Analyzer a, IndexDeletionPolicy deletionPolicy, MaxFieldLength mfl, IndexCommit commit) - throws CorruptIndexException, LockObtainFailedException, IOException { - this(d, new IndexWriterConfig(Version.LUCENE_31, a) - .setOpenMode(OpenMode.APPEND).setMaxFieldLength(mfl.getLimit()) - .setIndexDeletionPolicy(deletionPolicy).setIndexCommit(commit)); - } - CodecProvider codecs; /** @@ -1038,8 +706,6 @@ public class IndexWriter implements Closeable { setMessageID(defaultInfoStream); maxFieldLength = conf.getMaxFieldLength(); termIndexInterval = conf.getTermIndexInterval(); - writeLockTimeout = conf.getWriteLockTimeout(); - similarity = conf.getSimilarity(); mergePolicy = conf.getMergePolicy(); mergePolicy.setIndexWriter(this); mergeScheduler = conf.getMergeScheduler(); @@ -1061,7 +727,7 @@ public class IndexWriter implements Closeable { writeLock = directory.makeLock(WRITE_LOCK_NAME); - if (!writeLock.obtain(writeLockTimeout)) // obtain write lock + if (!writeLock.obtain(conf.getWriteLockTimeout())) // obtain write lock throw new LockObtainFailedException("Index locked for write: " + writeLock); boolean success = false; @@ -1176,203 +842,13 @@ public class IndexWriter implements Closeable { return config; } - /** - * Expert: set the merge policy used by this writer. - * - * @deprecated use {@link IndexWriterConfig#setMergePolicy(MergePolicy)} instead. - */ - @Deprecated - public void setMergePolicy(MergePolicy mp) { - ensureOpen(); - if (mp == null) - throw new NullPointerException("MergePolicy must be non-null"); - - if (mergePolicy != mp) - mergePolicy.close(); - mergePolicy = mp; - mergePolicy.setIndexWriter(this); - pushMaxBufferedDocs(); - if (infoStream != null) - message("setMergePolicy " + mp); - // Required so config.getMergePolicy returns the right value. But this will - // go away together with the method in 4.0. - config.setMergePolicy(mp); - } - - /** - * Expert: returns the current MergePolicy in use by this writer. - * @see #setMergePolicy - * - * @deprecated use {@link IndexWriterConfig#getMergePolicy()} instead - */ - @Deprecated - public MergePolicy getMergePolicy() { - ensureOpen(); - return mergePolicy; - } - - /** - * Expert: set the merge scheduler used by this writer. - * @deprecated use {@link IndexWriterConfig#setMergeScheduler(MergeScheduler)} instead - */ - @Deprecated - synchronized public void setMergeScheduler(MergeScheduler mergeScheduler) throws CorruptIndexException, IOException { - ensureOpen(); - if (mergeScheduler == null) - throw new NullPointerException("MergeScheduler must be non-null"); - - if (this.mergeScheduler != mergeScheduler) { - finishMerges(true); - this.mergeScheduler.close(); - } - this.mergeScheduler = mergeScheduler; - if (infoStream != null) - message("setMergeScheduler " + mergeScheduler); - // Required so config.getMergeScheduler returns the right value. But this will - // go away together with the method in 4.0. - config.setMergeScheduler(mergeScheduler); - } - - /** - * Expert: returns the current MergeScheduler in use by this - * writer. - * @see #setMergeScheduler(MergeScheduler) - * @deprecated use {@link IndexWriterConfig#getMergeScheduler()} instead - */ - @Deprecated - public MergeScheduler getMergeScheduler() { - ensureOpen(); - return mergeScheduler; - } - - /**

Determines the largest segment (measured by - * document count) that may be merged with other segments. - * Small values (e.g., less than 10,000) are best for - * interactive indexing, as this limits the length of - * pauses while indexing to a few seconds. Larger values - * are best for batched indexing and speedier - * searches.

- * - *

The default value is {@link Integer#MAX_VALUE}.

- * - *

Note that this method is a convenience method: it - * just calls mergePolicy.setMaxMergeDocs as long as - * mergePolicy is an instance of {@link LogMergePolicy}. - * Otherwise an IllegalArgumentException is thrown.

- * - *

The default merge policy ({@link - * LogByteSizeMergePolicy}) also allows you to set this - * limit by net size (in MB) of the segment, using {@link - * LogByteSizeMergePolicy#setMaxMergeMB}.

- * @deprecated use {@link LogMergePolicy#setMaxMergeDocs(int)} directly. - */ - @Deprecated - public void setMaxMergeDocs(int maxMergeDocs) { - getLogMergePolicy().setMaxMergeDocs(maxMergeDocs); - } - - /** - *

Returns the largest segment (measured by document - * count) that may be merged with other segments.

- * - *

Note that this method is a convenience method: it - * just calls mergePolicy.getMaxMergeDocs as long as - * mergePolicy is an instance of {@link LogMergePolicy}. - * Otherwise an IllegalArgumentException is thrown.

- * - * @see #setMaxMergeDocs - * @deprecated use {@link LogMergePolicy#getMaxMergeDocs()} directly. - */ - @Deprecated - public int getMaxMergeDocs() { - return getLogMergePolicy().getMaxMergeDocs(); - } - - /** - * The maximum number of terms that will be indexed for a single field in a - * document. This limits the amount of memory required for indexing, so that - * collections with very large files will not crash the indexing process by - * running out of memory. This setting refers to the number of running terms, - * not to the number of different terms.

- * Note: this silently truncates large documents, excluding from the - * index all terms that occur further in the document. If you know your source - * documents are large, be sure to set this value high enough to accomodate - * the expected size. If you set it to Integer.MAX_VALUE, then the only limit - * is your memory, but you should anticipate an OutOfMemoryError.

- * By default, no more than {@link #DEFAULT_MAX_FIELD_LENGTH} terms - * will be indexed for a field. - * @deprecated use {@link IndexWriterConfig#setMaxFieldLength(int)} instead - */ - @Deprecated - public void setMaxFieldLength(int maxFieldLength) { - ensureOpen(); - this.maxFieldLength = maxFieldLength; - docWriter.setMaxFieldLength(maxFieldLength); - if (infoStream != null) - message("setMaxFieldLength " + maxFieldLength); - // Required so config.getMaxFieldLength returns the right value. But this - // will go away together with the method in 4.0. - config.setMaxFieldLength(maxFieldLength); - } - - /** - * Returns the maximum number of terms that will be - * indexed for a single field in a document. - * @see #setMaxFieldLength - * @deprecated use {@link IndexWriterConfig#getMaxFieldLength()} instead - */ - @Deprecated - public int getMaxFieldLength() { - ensureOpen(); - return maxFieldLength; - } - - /** Determines the minimal number of documents required - * before the buffered in-memory documents are flushed as - * a new Segment. Large values generally gives faster - * indexing. - * - *

When this is set, the writer will flush every - * maxBufferedDocs added documents. Pass in {@link - * #DISABLE_AUTO_FLUSH} to prevent triggering a flush due - * to number of buffered documents. Note that if flushing - * by RAM usage is also enabled, then the flush will be - * triggered by whichever comes first.

- * - *

Disabled by default (writer flushes by RAM usage).

- * - * @throws IllegalArgumentException if maxBufferedDocs is - * enabled but smaller than 2, or it disables maxBufferedDocs - * when ramBufferSize is already disabled - * @see #setRAMBufferSizeMB - * @deprecated use {@link IndexWriterConfig#setMaxBufferedDocs(int)} instead. - */ - @Deprecated - public void setMaxBufferedDocs(int maxBufferedDocs) { - ensureOpen(); - if (maxBufferedDocs != DISABLE_AUTO_FLUSH && maxBufferedDocs < 2) - throw new IllegalArgumentException( - "maxBufferedDocs must at least be 2 when enabled"); - if (maxBufferedDocs == DISABLE_AUTO_FLUSH - && getRAMBufferSizeMB() == DISABLE_AUTO_FLUSH) - throw new IllegalArgumentException( - "at least one of ramBufferSize and maxBufferedDocs must be enabled"); - docWriter.setMaxBufferedDocs(maxBufferedDocs); - pushMaxBufferedDocs(); - if (infoStream != null) - message("setMaxBufferedDocs " + maxBufferedDocs); - // Required so config.getMaxBufferedDocs returns the right value. But this - // will go away together with the method in 4.0. - config.setMaxBufferedDocs(maxBufferedDocs); - } - /** * If we are flushing by doc count (not by RAM usage), and * using LogDocMergePolicy then push maxBufferedDocs down * as its minMergeDocs, to keep backwards compatibility. */ private void pushMaxBufferedDocs() { - if (docWriter.getMaxBufferedDocs() != DISABLE_AUTO_FLUSH) { + if (docWriter.getMaxBufferedDocs() != IndexWriterConfig.DISABLE_AUTO_FLUSH) { final MergePolicy mp = mergePolicy; if (mp instanceof LogDocMergePolicy) { LogDocMergePolicy lmp = (LogDocMergePolicy) mp; @@ -1386,164 +862,6 @@ public class IndexWriter implements Closeable { } } - /** - * Returns the number of buffered added documents that will - * trigger a flush if enabled. - * @see #setMaxBufferedDocs - * @deprecated use {@link IndexWriterConfig#getMaxBufferedDocs()} instead. - */ - @Deprecated - public int getMaxBufferedDocs() { - ensureOpen(); - return docWriter.getMaxBufferedDocs(); - } - - /** Determines the amount of RAM that may be used for - * buffering added documents and deletions before they are - * flushed to the Directory. Generally for faster - * indexing performance it's best to flush by RAM usage - * instead of document count and use as large a RAM buffer - * as you can. - * - *

When this is set, the writer will flush whenever - * buffered documents and deletions use this much RAM. - * Pass in {@link #DISABLE_AUTO_FLUSH} to prevent - * triggering a flush due to RAM usage. Note that if - * flushing by document count is also enabled, then the - * flush will be triggered by whichever comes first.

- * - *

NOTE: the account of RAM usage for pending - * deletions is only approximate. Specifically, if you - * delete by Query, Lucene currently has no way to measure - * the RAM usage if individual Queries so the accounting - * will under-estimate and you should compensate by either - * calling commit() periodically yourself, or by using - * {@link #setMaxBufferedDeleteTerms} to flush by count - * instead of RAM usage (each buffered delete Query counts - * as one). - * - *

NOTE: because IndexWriter uses - * ints when managing its internal storage, - * the absolute maximum value for this setting is somewhat - * less than 2048 MB. The precise limit depends on - * various factors, such as how large your documents are, - * how many fields have norms, etc., so it's best to set - * this value comfortably under 2048.

- * - *

The default value is {@link #DEFAULT_RAM_BUFFER_SIZE_MB}.

- * - * @throws IllegalArgumentException if ramBufferSize is - * enabled but non-positive, or it disables ramBufferSize - * when maxBufferedDocs is already disabled - * @deprecated use {@link IndexWriterConfig#setRAMBufferSizeMB(double)} instead. - */ - @Deprecated - public void setRAMBufferSizeMB(double mb) { - if (mb > 2048.0) { - throw new IllegalArgumentException("ramBufferSize " + mb + " is too large; should be comfortably less than 2048"); - } - if (mb != DISABLE_AUTO_FLUSH && mb <= 0.0) - throw new IllegalArgumentException( - "ramBufferSize should be > 0.0 MB when enabled"); - if (mb == DISABLE_AUTO_FLUSH && getMaxBufferedDocs() == DISABLE_AUTO_FLUSH) - throw new IllegalArgumentException( - "at least one of ramBufferSize and maxBufferedDocs must be enabled"); - docWriter.setRAMBufferSizeMB(mb); - if (infoStream != null) - message("setRAMBufferSizeMB " + mb); - // Required so config.getRAMBufferSizeMB returns the right value. But this - // will go away together with the method in 4.0. - config.setRAMBufferSizeMB(mb); - } - - /** - * Returns the value set by {@link #setRAMBufferSizeMB} if enabled. - * @deprecated use {@link IndexWriterConfig#getRAMBufferSizeMB()} instead. - */ - @Deprecated - public double getRAMBufferSizeMB() { - return docWriter.getRAMBufferSizeMB(); - } - - /** - *

Determines the minimal number of delete terms required before the buffered - * in-memory delete terms are applied and flushed. If there are documents - * buffered in memory at the time, they are merged and a new segment is - * created.

- - *

Disabled by default (writer flushes by RAM usage).

- * - * @throws IllegalArgumentException if maxBufferedDeleteTerms - * is enabled but smaller than 1 - * @see #setRAMBufferSizeMB - * @deprecated use {@link IndexWriterConfig#setMaxBufferedDeleteTerms(int)} instead. - */ - @Deprecated - public void setMaxBufferedDeleteTerms(int maxBufferedDeleteTerms) { - ensureOpen(); - if (maxBufferedDeleteTerms != DISABLE_AUTO_FLUSH - && maxBufferedDeleteTerms < 1) - throw new IllegalArgumentException( - "maxBufferedDeleteTerms must at least be 1 when enabled"); - docWriter.setMaxBufferedDeleteTerms(maxBufferedDeleteTerms); - if (infoStream != null) - message("setMaxBufferedDeleteTerms " + maxBufferedDeleteTerms); - // Required so config.getMaxBufferedDeleteTerms returns the right value. But - // this will go away together with the method in 4.0. - config.setMaxBufferedDeleteTerms(maxBufferedDeleteTerms); - } - - /** - * Returns the number of buffered deleted terms that will - * trigger a flush if enabled. - * @see #setMaxBufferedDeleteTerms - * @deprecated use {@link IndexWriterConfig#getMaxBufferedDeleteTerms()} instead - */ - @Deprecated - public int getMaxBufferedDeleteTerms() { - ensureOpen(); - return docWriter.getMaxBufferedDeleteTerms(); - } - - /** Determines how often segment indices are merged by addDocument(). With - * smaller values, less RAM is used while indexing, and searches on - * unoptimized indices are faster, but indexing speed is slower. With larger - * values, more RAM is used during indexing, and while searches on unoptimized - * indices are slower, indexing is faster. Thus larger values (> 10) are best - * for batch index creation, and smaller values (< 10) for indices that are - * interactively maintained. - * - *

Note that this method is a convenience method: it - * just calls mergePolicy.setMergeFactor as long as - * mergePolicy is an instance of {@link LogMergePolicy}. - * Otherwise an IllegalArgumentException is thrown.

- * - *

This must never be less than 2. The default value is 10. - * @deprecated use {@link LogMergePolicy#setMergeFactor(int)} directly. - */ - @Deprecated - public void setMergeFactor(int mergeFactor) { - getLogMergePolicy().setMergeFactor(mergeFactor); - } - - /** - *

Returns the number of segments that are merged at - * once and also controls the total number of segments - * allowed to accumulate in the index.

- * - *

Note that this method is a convenience method: it - * just calls mergePolicy.getMergeFactor as long as - * mergePolicy is an instance of {@link LogMergePolicy}. - * Otherwise an IllegalArgumentException is thrown.

- * - * @see #setMergeFactor - * @deprecated use {@link LogMergePolicy#getMergeFactor()} directly. - */ - @Deprecated - public int getMergeFactor() { - return getLogMergePolicy().getMergeFactor(); - } - /** If non-null, this will be the default infoStream used * by a newly instantiated IndexWriter. * @see #setInfoStream @@ -1595,52 +913,6 @@ public class IndexWriter implements Closeable { return infoStream != null; } - /** - * Sets the maximum time to wait for a write lock (in milliseconds) for this instance of IndexWriter. @see - * @see #setDefaultWriteLockTimeout to change the default value for all instances of IndexWriter. - * @deprecated use {@link IndexWriterConfig#setWriteLockTimeout(long)} instead - */ - @Deprecated - public void setWriteLockTimeout(long writeLockTimeout) { - ensureOpen(); - this.writeLockTimeout = writeLockTimeout; - // Required so config.getWriteLockTimeout returns the right value. But this - // will go away together with the method in 4.0. - config.setWriteLockTimeout(writeLockTimeout); - } - - /** - * Returns allowed timeout when acquiring the write lock. - * @see #setWriteLockTimeout - * @deprecated use {@link IndexWriterConfig#getWriteLockTimeout()} - */ - @Deprecated - public long getWriteLockTimeout() { - ensureOpen(); - return writeLockTimeout; - } - - /** - * Sets the default (for any instance of IndexWriter) maximum time to wait for a write lock (in - * milliseconds). - * @deprecated use {@link IndexWriterConfig#setDefaultWriteLockTimeout(long)} instead - */ - @Deprecated - public static void setDefaultWriteLockTimeout(long writeLockTimeout) { - IndexWriterConfig.setDefaultWriteLockTimeout(writeLockTimeout); - } - - /** - * Returns default write lock timeout for newly - * instantiated IndexWriters. - * @see #setDefaultWriteLockTimeout - * @deprecated use {@link IndexWriterConfig#getDefaultWriteLockTimeout()} instead - */ - @Deprecated - public static long getDefaultWriteLockTimeout() { - return IndexWriterConfig.getDefaultWriteLockTimeout(); - } - /** * Commits all changes to an index and closes all * associated files. Note that this may be a costly @@ -3030,7 +2302,7 @@ public class IndexWriter implements Closeable { } // Now create the compound file if needed - if (mergePolicy instanceof LogMergePolicy && getUseCompoundFile()) { + if (mergePolicy instanceof LogMergePolicy && ((LogMergePolicy) mergePolicy).getUseCompoundFile()) { List files = null; @@ -3998,7 +3270,7 @@ public class IndexWriter implements Closeable { } } - private final synchronized void closeMergeReaders(MergePolicy.OneMerge merge, boolean suppressExceptions) throws IOException { + private synchronized void closeMergeReaders(MergePolicy.OneMerge merge, boolean suppressExceptions) throws IOException { final int numSegments = merge.segments.size(); if (suppressExceptions) { // Suppress any new exceptions so we throw the @@ -4043,7 +3315,7 @@ public class IndexWriter implements Closeable { /** Does the actual (time-consuming) work of the merge, * but without holding synchronized lock on IndexWriter * instance */ - final private int mergeMiddle(MergePolicy.OneMerge merge) + private int mergeMiddle(MergePolicy.OneMerge merge) throws CorruptIndexException, IOException { merge.checkAborted(directory); @@ -4507,63 +3779,6 @@ public class IndexWriter implements Closeable { directory.makeLock(IndexWriter.WRITE_LOCK_NAME).release(); } - /** - * Specifies maximum field length (in number of tokens/terms) in - * {@link IndexWriter} constructors. {@link #setMaxFieldLength(int)} overrides - * the value set by the constructor. - * - * @deprecated use {@link IndexWriterConfig} and pass - * {@link IndexWriterConfig#UNLIMITED_FIELD_LENGTH} or your own - * value. - */ - @Deprecated - public static final class MaxFieldLength { - - private int limit; - private String name; - - /** - * Private type-safe-enum-pattern constructor. - * - * @param name instance name - * @param limit maximum field length - */ - private MaxFieldLength(String name, int limit) { - this.name = name; - this.limit = limit; - } - - /** - * Public constructor to allow users to specify the maximum field size limit. - * - * @param limit The maximum field length - */ - public MaxFieldLength(int limit) { - this("User-specified", limit); - } - - public int getLimit() { - return limit; - } - - @Override - public String toString() - { - return name + ":" + limit; - } - - /** Sets the maximum field length to {@link Integer#MAX_VALUE}. */ - public static final MaxFieldLength UNLIMITED - = new MaxFieldLength("UNLIMITED", Integer.MAX_VALUE); - - /** - * Sets the maximum field length to - * {@link #DEFAULT_MAX_FIELD_LENGTH} - * */ - public static final MaxFieldLength LIMITED - = new MaxFieldLength("LIMITED", DEFAULT_MAX_FIELD_LENGTH); - } - /** If {@link #getReader} has been called (ie, this writer * is in near real-time mode), then after a merge * completes, this class can be invoked to warm the @@ -4582,31 +3797,6 @@ public class IndexWriter implements Closeable { private IndexReaderWarmer mergedSegmentWarmer; - /** - * Set the merged segment warmer. See {@link IndexReaderWarmer}. - * - * @deprecated use - * {@link IndexWriterConfig#setMergedSegmentWarmer} - * instead. - */ - @Deprecated - public void setMergedSegmentWarmer(IndexReaderWarmer warmer) { - mergedSegmentWarmer = warmer; - // Required so config.getMergedSegmentWarmer returns the right value. But - // this will go away together with the method in 4.0. - config.setMergedSegmentWarmer(mergedSegmentWarmer); - } - - /** - * Returns the current merged segment warmer. See {@link IndexReaderWarmer}. - * - * @deprecated use {@link IndexWriterConfig#getMergedSegmentWarmer()} instead. - */ - @Deprecated - public IndexReaderWarmer getMergedSegmentWarmer() { - return mergedSegmentWarmer; - } - private void handleOOM(OutOfMemoryError oom, String location) { if (infoStream != null) { message("hit OutOfMemoryError inside " + location); diff --git a/lucene/src/java/org/apache/lucene/index/SegmentReader.java b/lucene/src/java/org/apache/lucene/index/SegmentReader.java index 8758ea560f6..996a96f0616 100644 --- a/lucene/src/java/org/apache/lucene/index/SegmentReader.java +++ b/lucene/src/java/org/apache/lucene/index/SegmentReader.java @@ -1240,33 +1240,6 @@ public class SegmentReader extends IndexReader implements Cloneable { public final Object getCoreCacheKey() { return core; } - - /** - * Lotsa tests did hacks like:
- * SegmentReader reader = (SegmentReader) IndexReader.open(dir);
- * They broke. This method serves as a hack to keep hacks working - * We do it with R/W access for the tests (BW compatibility) - * @deprecated Remove this when tests are fixed! - */ - @Deprecated - static SegmentReader getOnlySegmentReader(Directory dir) throws IOException { - return getOnlySegmentReader(IndexReader.open(dir, false)); - } - - static SegmentReader getOnlySegmentReader(IndexReader reader) { - if (reader instanceof SegmentReader) - return (SegmentReader) reader; - - if (reader instanceof DirectoryReader) { - IndexReader[] subReaders = reader.getSequentialSubReaders(); - if (subReaders.length != 1) - throw new IllegalArgumentException(reader + " has " + subReaders.length + " segments instead of exactly one"); - - return (SegmentReader) subReaders[0]; - } - - throw new IllegalArgumentException(reader + " is not a SegmentReader or a single-segment DirectoryReader"); - } @Override public int getTermInfosIndexDivisor() { diff --git a/lucene/src/java/org/apache/lucene/index/Term.java b/lucene/src/java/org/apache/lucene/index/Term.java index 3903255c58a..04e275ec4d3 100644 --- a/lucene/src/java/org/apache/lucene/index/Term.java +++ b/lucene/src/java/org/apache/lucene/index/Term.java @@ -168,7 +168,7 @@ public final class Term implements Comparable, java.io.Serializable { BytesRef.getUTF8SortedAsUTF16Comparator(); /** - * @deprecated For internal backwards compatibility use only + * @deprecated (4.0) For internal backwards compatibility use only * @lucene.internal */ @Deprecated diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexCodec.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexCodec.java index 7cbee489349..a550963b918 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexCodec.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexCodec.java @@ -32,7 +32,7 @@ import org.apache.lucene.index.codecs.FieldsProducer; * format. It does not provide a writer because newly * written segments should use StandardCodec. * - * @deprecated This is only used to read indexes created + * @deprecated (4.0) This is only used to read indexes created * before 4.0. * @lucene.experimental */ diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexFields.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexFields.java index f3893665c91..c94e53b543b 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexFields.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/PreFlexFields.java @@ -44,7 +44,10 @@ import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.UnicodeUtil; /** Exposes flex API on a pre-flex index, as a codec. - * @lucene.experimental */ + * @lucene.experimental + * @deprecated (4.0) + */ +@Deprecated public class PreFlexFields extends FieldsProducer { private static final boolean DEBUG_SURROGATES = false; diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermDocs.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermDocs.java index eba65b24279..e4ef40ae286 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermDocs.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermDocs.java @@ -26,7 +26,7 @@ import org.apache.lucene.index.codecs.standard.DefaultSkipListReader; import org.apache.lucene.store.IndexInput; import org.apache.lucene.util.Bits; -/** @deprecated +/** @deprecated (4.0) * @lucene.experimental */ @Deprecated public class SegmentTermDocs { diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java index d3bd5f1aef0..a8703ae83f1 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java @@ -26,7 +26,7 @@ import org.apache.lucene.index.IndexFormatTooOldException; import org.apache.lucene.index.IndexFormatTooNewException; /** - * @deprecated No longer used with flex indexing, except for + * @deprecated (4.0) No longer used with flex indexing, except for * reading old segments * @lucene.experimental */ diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermPositions.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermPositions.java index d7492df1e70..f50d226741c 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermPositions.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermPositions.java @@ -23,7 +23,11 @@ import org.apache.lucene.index.FieldInfos; import org.apache.lucene.index.Term; import org.apache.lucene.store.IndexInput; -/** @lucene.experimental */ +/** + * @lucene.experimental + * @deprecated (4.0) + */ +@Deprecated public final class SegmentTermPositions extends SegmentTermDocs { private IndexInput proxStream; diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermBuffer.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermBuffer.java index 679469d76e0..3880d591e48 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermBuffer.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermBuffer.java @@ -25,6 +25,11 @@ import org.apache.lucene.util.BytesRef; import org.apache.lucene.index.Term; import org.apache.lucene.index.FieldInfos; +/** + * @lucene.experimental + * @deprecated (4.0) + */ +@Deprecated final class TermBuffer implements Cloneable { private String field; diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfo.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfo.java index bcc12e8fbc4..8f91569756d 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfo.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfo.java @@ -19,7 +19,7 @@ package org.apache.lucene.index.codecs.preflex; /** A TermInfo is the record of information stored for a * term - * @deprecated This class is no longer used in flexible + * @deprecated (4.0) This class is no longer used in flexible * indexing. */ @Deprecated diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfosReader.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfosReader.java index b633a6a99fd..adf0535390d 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfosReader.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/TermInfosReader.java @@ -30,7 +30,7 @@ import org.apache.lucene.util.DoubleBarrelLRUCache; /** This stores a monotonically increasing set of pairs in a * Directory. Pairs are accessed either by Term or by ordinal position the * set - * @deprecated This class has been replaced by + * @deprecated (4.0) This class has been replaced by * FormatPostingsTermsDictReader, except for reading old segments. * @lucene.experimental */ diff --git a/lucene/src/java/org/apache/lucene/queryParser/CharStream.java b/lucene/src/java/org/apache/lucene/queryParser/CharStream.java index 4423996dadf..fe1c9e731d6 100644 --- a/lucene/src/java/org/apache/lucene/queryParser/CharStream.java +++ b/lucene/src/java/org/apache/lucene/queryParser/CharStream.java @@ -28,14 +28,14 @@ public interface CharStream { /** * Returns the column position of the character last read. - * @deprecated + * @deprecated (gen) * @see #getEndColumn */ int getColumn(); /** * Returns the line number of the character last read. - * @deprecated + * @deprecated (gen) * @see #getEndLine */ int getLine(); diff --git a/lucene/src/java/org/apache/lucene/queryParser/QueryParser.java b/lucene/src/java/org/apache/lucene/queryParser/QueryParser.java index d8b16103073..1ac58a20b05 100644 --- a/lucene/src/java/org/apache/lucene/queryParser/QueryParser.java +++ b/lucene/src/java/org/apache/lucene/queryParser/QueryParser.java @@ -18,7 +18,6 @@ import org.apache.lucene.analysis.CachingTokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute; -import org.apache.lucene.document.DateField; import org.apache.lucene.document.DateTools; import org.apache.lucene.index.Term; import org.apache.lucene.search.BooleanClause; @@ -77,10 +76,8 @@ import org.apache.lucene.util.VirtualMethod; * date:[6/1/2005 TO 6/4/2005] produces a range query that searches * for "date" fields between 2005-06-01 and 2005-06-04. Note that the format * of the accepted input depends on {@link #setLocale(Locale) the locale}. - * By default a date is converted into a search term using the deprecated - * {@link DateField} for compatibility reasons. - * To use the new {@link DateTools} to convert dates, a - * {@link org.apache.lucene.document.DateTools.Resolution} has to be set. + * A {@link org.apache.lucene.document.DateTools.Resolution} has to be set, + * if you want to use {@link DateTools} for date conversion. *

*

* The date resolution that shall be used for RangeQueries can be set @@ -91,10 +88,9 @@ import org.apache.lucene.util.VirtualMethod; * resolutions take, if set, precedence over the default date resolution. *

*

- * If you use neither {@link DateField} nor {@link DateTools} in your - * index, you can create your own + * If you don't use {@link DateTools} in your index, you can create your own * query parser that inherits QueryParser and overwrites - * {@link #getRangeQuery(String, String, String, boolean)} to + * {@link #getRangeQuery(String, String, String, boolean, boolean)} to * use a different method for date conversion. *

* @@ -108,8 +104,6 @@ import org.apache.lucene.util.VirtualMethod; *

NOTE: You must specify the required {@link Version} * compatibility when creating QueryParser: *

    - *
  • As of 2.9, {@link #setEnablePositionIncrements} is true by - * default. *
  • As of 3.1, {@link #setAutoGeneratePhraseQueries} is false by * default. *
diff --git a/lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj b/lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj index 60568bbbf40..dfc4ebf5afd 100644 --- a/lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj +++ b/lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj @@ -42,7 +42,6 @@ import org.apache.lucene.analysis.CachingTokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute; -import org.apache.lucene.document.DateField; import org.apache.lucene.document.DateTools; import org.apache.lucene.index.Term; import org.apache.lucene.search.BooleanClause; @@ -101,10 +100,8 @@ import org.apache.lucene.util.VirtualMethod; * date:[6/1/2005 TO 6/4/2005] produces a range query that searches * for "date" fields between 2005-06-01 and 2005-06-04. Note that the format * of the accepted input depends on {@link #setLocale(Locale) the locale}. - * By default a date is converted into a search term using the deprecated - * {@link DateField} for compatibility reasons. - * To use the new {@link DateTools} to convert dates, a - * {@link org.apache.lucene.document.DateTools.Resolution} has to be set. + * A {@link org.apache.lucene.document.DateTools.Resolution} has to be set, + * if you want to use {@link DateTools} for date conversion. *

*

* The date resolution that shall be used for RangeQueries can be set @@ -115,10 +112,9 @@ import org.apache.lucene.util.VirtualMethod; * resolutions take, if set, precedence over the default date resolution. *

*

- * If you use neither {@link DateField} nor {@link DateTools} in your - * index, you can create your own + * If you don't use {@link DateTools} in your index, you can create your own * query parser that inherits QueryParser and overwrites - * {@link #getRangeQuery(String, String, String, boolean)} to + * {@link #getRangeQuery(String, String, String, boolean, boolean)} to * use a different method for date conversion. *

* @@ -132,8 +128,6 @@ import org.apache.lucene.util.VirtualMethod; *

NOTE: You must specify the required {@link Version} * compatibility when creating QueryParser: *

    - *
  • As of 2.9, {@link #setEnablePositionIncrements} is true by - * default. *
  • As of 3.1, {@link #setAutoGeneratePhraseQueries} is false by * default. *
diff --git a/lucene/src/java/org/apache/lucene/queryParser/QueryParserBase.java b/lucene/src/java/org/apache/lucene/queryParser/QueryParserBase.java index 8422df70684..c9e0a34ad35 100644 --- a/lucene/src/java/org/apache/lucene/queryParser/QueryParserBase.java +++ b/lucene/src/java/org/apache/lucene/queryParser/QueryParserBase.java @@ -17,26 +17,24 @@ package org.apache.lucene.queryParser; -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.CachingTokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; -import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute; -import org.apache.lucene.document.DateField; -import org.apache.lucene.document.DateTools; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.*; -import org.apache.lucene.util.BytesRef; -import org.apache.lucene.util.Version; -import org.apache.lucene.util.VirtualMethod; -import org.apache.lucene.queryParser.QueryParser.Operator; - import java.io.IOException; import java.io.StringReader; import java.text.Collator; import java.text.DateFormat; import java.util.*; +import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CachingTokenFilter; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; +import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute; +import org.apache.lucene.document.DateTools; +import org.apache.lucene.index.Term; +import org.apache.lucene.queryParser.QueryParser.Operator; +import org.apache.lucene.search.*; +import org.apache.lucene.util.BytesRef; +import org.apache.lucene.util.Version; + /** This class is overridden by QueryParser in QueryParser.jj * and acts to eparate the majority of the Java code from the .jj grammar file. */ @@ -84,20 +82,6 @@ public abstract class QueryParserBase { // for use when constructing RangeQuerys. Collator rangeCollator = null; - /** @deprecated remove when getFieldQuery is removed */ - @Deprecated - static final VirtualMethod getFieldQueryMethod = - new VirtualMethod(QueryParserBase.class, "getFieldQuery", String.class, String.class); - /** @deprecated remove when getFieldQuery is removed */ - @Deprecated - static final VirtualMethod getFieldQueryWithQuotedMethod = - new VirtualMethod(QueryParserBase.class, "getFieldQuery", String.class, String.class, boolean.class); - /** @deprecated remove when getFieldQuery is removed */ - @Deprecated - final boolean hasNewAPI = - VirtualMethod.compareImplementationDistance(getClass(), - getFieldQueryWithQuotedMethod, getFieldQueryMethod) >= 0; // its ok for both to be overridden - boolean autoGeneratePhraseQueries; // So the generated QueryParser(CharStream) won't error out @@ -112,11 +96,6 @@ public abstract class QueryParserBase { public void init(Version matchVersion, String f, Analyzer a) { analyzer = a; field = f; - if (matchVersion.onOrAfter(Version.LUCENE_29)) { - enablePositionIncrements = true; - } else { - enablePositionIncrements = false; - } if (matchVersion.onOrAfter(Version.LUCENE_31)) { setAutoGeneratePhraseQueries(false); } else { @@ -190,9 +169,6 @@ public abstract class QueryParserBase { * surrounded by double quotes. */ public final void setAutoGeneratePhraseQueries(boolean value) { - if (value == false && !hasNewAPI) - throw new IllegalArgumentException("You must implement the new API: getFieldQuery(String,String,boolean)" - + " to use setAutoGeneratePhraseQueries(false)"); this.autoGeneratePhraseQueries = value; } @@ -272,7 +248,7 @@ public abstract class QueryParserBase { * Useful when e.g. a StopFilter increases the position increment of * the token that follows an omitted token. *

- * Default: false. + * Default: true. */ public void setEnablePositionIncrements(boolean enable) { this.enablePositionIncrements = enable; @@ -488,15 +464,6 @@ public abstract class QueryParserBase { throw new RuntimeException("Clause cannot be both required and prohibited"); } - /** - * @deprecated Use {@link #getFieldQuery(String,String,boolean)} instead. - */ - @Deprecated - protected Query getFieldQuery(String field, String queryText) throws ParseException { - // treat the text as if it was quoted, to drive phrase logic with old versions. - return getFieldQuery(field, queryText, true); - } - /** * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow */ @@ -684,7 +651,7 @@ public abstract class QueryParserBase { */ protected Query getFieldQuery(String field, String queryText, int slop) throws ParseException { - Query query = hasNewAPI ? getFieldQuery(field, queryText, true) : getFieldQuery(field, queryText); + Query query = getFieldQuery(field, queryText, true); if (query instanceof PhraseQuery) { ((PhraseQuery) query).setSlop(slop); @@ -696,11 +663,6 @@ public abstract class QueryParserBase { return query; } - - @Deprecated - protected final Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws MethodRemovedUseAnother {return null;} - - /** * * @exception org.apache.lucene.queryParser.ParseException @@ -722,15 +684,7 @@ public abstract class QueryParserBase { DateTools.Resolution resolution = getDateResolution(field); try { - Date d1 = df.parse(part1); - if (resolution == null) { - // no default or field specific date resolution has been set, - // use deprecated DateField to maintain compatibility with - // pre-1.9 Lucene versions. - part1 = DateField.dateToString(d1); - } else { - part1 = DateTools.dateToString(d1, resolution); - } + part1 = DateTools.dateToString(df.parse(part1), resolution); } catch (Exception e) { } try { @@ -747,14 +701,7 @@ public abstract class QueryParserBase { cal.set(Calendar.MILLISECOND, 999); d2 = cal.getTime(); } - if (resolution == null) { - // no default or field specific date resolution has been set, - // use deprecated DateField to maintain compatibility with - // pre-1.9 Lucene versions. - part2 = DateField.dateToString(d2); - } else { - part2 = DateTools.dateToString(d2, resolution); - } + part2 = DateTools.dateToString(d2, resolution); } catch (Exception e) { } return newRangeQuery(field, part1, part2, startInclusive, endInclusive); @@ -838,10 +785,6 @@ public abstract class QueryParserBase { return new FuzzyQuery(term,minimumSimilarity,prefixLength); } - @Deprecated - protected final Query newRangeQuery(String field, String part1, String part2, boolean inclusive) throws MethodRemovedUseAnother {return null;} - - /** * Builds a new TermRangeQuery instance * @param field Field @@ -1064,7 +1007,7 @@ public abstract class QueryParserBase { } q = getFuzzyQuery(qfield, termImage, fms); } else { - q = hasNewAPI ? getFieldQuery(qfield, termImage, false) : getFieldQuery(qfield, termImage); + q = getFieldQuery(qfield, termImage, false); } return q; } diff --git a/lucene/src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java b/lucene/src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java index 7aa46a16a80..8fedc1fbbde 100644 --- a/lucene/src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java +++ b/lucene/src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java @@ -16,7 +16,6 @@ import org.apache.lucene.analysis.CachingTokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute; -import org.apache.lucene.document.DateField; import org.apache.lucene.document.DateTools; import org.apache.lucene.index.Term; import org.apache.lucene.search.BooleanClause; diff --git a/lucene/src/java/org/apache/lucene/search/BooleanScorer2.java b/lucene/src/java/org/apache/lucene/search/BooleanScorer2.java index 74d277d61b8..c8dcf2eba20 100644 --- a/lucene/src/java/org/apache/lucene/search/BooleanScorer2.java +++ b/lucene/src/java/org/apache/lucene/search/BooleanScorer2.java @@ -193,7 +193,7 @@ class BooleanScorer2 extends Scorer { } private Scorer dualConjunctionSumScorer(Scorer req1, Scorer req2) throws IOException { // non counting. - return new ConjunctionScorer(defaultSimilarity, new Scorer[]{req1, req2}); + return new ConjunctionScorer(defaultSimilarity, req1, req2); // All scorers match, so defaultSimilarity always has 1 as // the coordination factor. // Therefore the sum of the scores of two scorers diff --git a/lucene/src/java/org/apache/lucene/search/Similarity.java b/lucene/src/java/org/apache/lucene/search/Similarity.java index 4fe51bf18a5..d97095c858c 100644 --- a/lucene/src/java/org/apache/lucene/search/Similarity.java +++ b/lucene/src/java/org/apache/lucene/search/Similarity.java @@ -18,15 +18,15 @@ package org.apache.lucene.search; */ +import java.io.IOException; +import java.io.Serializable; +import java.util.Collection; + import org.apache.lucene.index.FieldInvertState; import org.apache.lucene.index.Term; import org.apache.lucene.search.Explanation.IDFExplanation; import org.apache.lucene.util.SmallFloat; -import java.io.IOException; -import java.io.Serializable; -import java.util.Collection; - /** * Expert: Scoring API. @@ -562,16 +562,6 @@ public abstract class Similarity implements Serializable { NORM_TABLE[i] = SmallFloat.byte315ToFloat((byte)i); } - /** - * Decodes a normalization factor stored in an index. - * @see #decodeNormValue(byte) - * @deprecated Use {@link #decodeNormValue} instead. - */ - @Deprecated - public static float decodeNorm(byte b) { - return NORM_TABLE[b & 0xFF]; // & 0xFF maps negative bytes to positive above 127 - } - /** Decodes a normalization factor stored in an index. * @see #encodeNormValue(float) */ @@ -579,17 +569,6 @@ public abstract class Similarity implements Serializable { return NORM_TABLE[b & 0xFF]; // & 0xFF maps negative bytes to positive above 127 } - /** Returns a table for decoding normalization bytes. - * @see #encodeNormValue(float) - * @see #decodeNormValue(byte) - * - * @deprecated Use instance methods for encoding/decoding norm values to enable customization. - */ - @Deprecated - public static float[] getNormDecoder() { - return NORM_TABLE; - } - /** * Compute the normalization value for a field, given the accumulated * state of term processing for this field (see {@link FieldInvertState}). @@ -670,20 +649,6 @@ public abstract class Similarity implements Serializable { return SmallFloat.floatToByte315(f); } - /** - * Static accessor kept for backwards compability reason, use encodeNormValue instead. - * @param f norm-value to encode - * @return byte representing the given float - * @deprecated Use {@link #encodeNormValue} instead. - * - * @see #encodeNormValue(float) - */ - @Deprecated - public static byte encodeNorm(float f) { - return SmallFloat.floatToByte315(f); - } - - /** Computes a score factor based on a term or phrase's frequency in a * document. This value is multiplied by the {@link #idf(int, int)} * factor for each term in the query and these products are then summed to diff --git a/lucene/src/java/org/apache/lucene/search/SortField.java b/lucene/src/java/org/apache/lucene/search/SortField.java index 58c4582c0e3..e058002f374 100644 --- a/lucene/src/java/org/apache/lucene/search/SortField.java +++ b/lucene/src/java/org/apache/lucene/search/SortField.java @@ -21,13 +21,7 @@ import java.io.IOException; import java.io.Serializable; import java.util.Locale; -import org.apache.lucene.search.cache.ByteValuesCreator; -import org.apache.lucene.search.cache.CachedArrayCreator; -import org.apache.lucene.search.cache.DoubleValuesCreator; -import org.apache.lucene.search.cache.FloatValuesCreator; -import org.apache.lucene.search.cache.IntValuesCreator; -import org.apache.lucene.search.cache.LongValuesCreator; -import org.apache.lucene.search.cache.ShortValuesCreator; +import org.apache.lucene.search.cache.*; import org.apache.lucene.util.StringHelper; /** @@ -138,7 +132,7 @@ implements Serializable { * @throws IllegalArgumentException if the parser fails to * subclass an existing numeric parser, or field is null * - * @deprecated use EntryCreator version + * @deprecated (4.0) use EntryCreator version */ @Deprecated public SortField (String field, FieldCache.Parser parser) { @@ -156,7 +150,7 @@ implements Serializable { * @throws IllegalArgumentException if the parser fails to * subclass an existing numeric parser, or field is null * - * @deprecated use EntryCreator version + * @deprecated (4.0) use EntryCreator version */ @Deprecated public SortField (String field, FieldCache.Parser parser, boolean reverse) { @@ -314,7 +308,7 @@ implements Serializable { /** Returns the instance of a {@link FieldCache} parser that fits to the given sort type. * May return null if no parser was specified. Sorting is using the default parser then. * @return An instance of a {@link FieldCache} parser, or null. - * @deprecated use getEntryCreator() + * @deprecated (4.0) use getEntryCreator() */ @Deprecated public FieldCache.Parser getParser() { diff --git a/lucene/src/java/org/apache/lucene/search/TermRangeQuery.java b/lucene/src/java/org/apache/lucene/search/TermRangeQuery.java index 5c003887e6d..5b9ab4e5998 100644 --- a/lucene/src/java/org/apache/lucene/search/TermRangeQuery.java +++ b/lucene/src/java/org/apache/lucene/search/TermRangeQuery.java @@ -20,10 +20,10 @@ package org.apache.lucene.search; import java.io.IOException; import java.text.Collator; -import org.apache.lucene.index.TermsEnum; import org.apache.lucene.index.Terms; -import org.apache.lucene.util.ToStringUtils; +import org.apache.lucene.index.TermsEnum; import org.apache.lucene.util.AttributeSource; +import org.apache.lucene.util.ToStringUtils; /** * A Query that matches documents within an range of terms. @@ -143,12 +143,6 @@ public class TermRangeQuery extends MultiTermQuery { lowerTerm, upperTerm, includeLower, includeUpper, collator); } - /** @deprecated */ - @Deprecated - public String field() { - return getField(); - } - /** Prints a user-readable version of this query. */ @Override public String toString(String field) { diff --git a/lucene/src/java/org/apache/lucene/search/function/MultiValueSource.java b/lucene/src/java/org/apache/lucene/search/function/MultiValueSource.java index 39991fae253..534cd1230b9 100644 --- a/lucene/src/java/org/apache/lucene/search/function/MultiValueSource.java +++ b/lucene/src/java/org/apache/lucene/search/function/MultiValueSource.java @@ -19,9 +19,9 @@ package org.apache.lucene.search.function; import java.io.IOException; -import org.apache.lucene.util.ReaderUtil; import org.apache.lucene.index.IndexReader; import org.apache.lucene.search.Explanation; +import org.apache.lucene.util.ReaderUtil; /** This class wraps another ValueSource, but protects * against accidental double RAM usage in FieldCache when @@ -31,7 +31,7 @@ import org.apache.lucene.search.Explanation; * lookup, as it must resolve the incoming document to the * right sub-reader using a binary search.

* - * @deprecated This class is temporary, to ease the + * @deprecated (4.0) This class is temporary, to ease the * migration to segment-based searching. Please change your * code to not pass composite readers to these APIs. */ diff --git a/lucene/src/java/org/apache/lucene/store/DataOutput.java b/lucene/src/java/org/apache/lucene/store/DataOutput.java index 8a3f9950da4..1db4d905402 100644 --- a/lucene/src/java/org/apache/lucene/store/DataOutput.java +++ b/lucene/src/java/org/apache/lucene/store/DataOutput.java @@ -105,59 +105,6 @@ public abstract class DataOutput { writeBytes(utf8Result.bytes, 0, utf8Result.length); } - /** Writes a sub sequence of characters from s as the old - * format (modified UTF-8 encoded bytes). - * @param s the source of the characters - * @param start the first character in the sequence - * @param length the number of characters in the sequence - * @deprecated -- please pre-convert to utf8 bytes - * instead or use {@link #writeString} - */ - @Deprecated - public void writeChars(String s, int start, int length) - throws IOException { - final int end = start + length; - for (int i = start; i < end; i++) { - final int code = s.charAt(i); - if (code >= 0x01 && code <= 0x7F) - writeByte((byte)code); - else if (((code >= 0x80) && (code <= 0x7FF)) || code == 0) { - writeByte((byte)(0xC0 | (code >> 6))); - writeByte((byte)(0x80 | (code & 0x3F))); - } else { - writeByte((byte)(0xE0 | (code >>> 12))); - writeByte((byte)(0x80 | ((code >> 6) & 0x3F))); - writeByte((byte)(0x80 | (code & 0x3F))); - } - } - } - - /** Writes a sub sequence of characters from char[] as - * the old format (modified UTF-8 encoded bytes). - * @param s the source of the characters - * @param start the first character in the sequence - * @param length the number of characters in the sequence - * @deprecated -- please pre-convert to utf8 bytes instead or use {@link #writeString} - */ - @Deprecated - public void writeChars(char[] s, int start, int length) - throws IOException { - final int end = start + length; - for (int i = start; i < end; i++) { - final int code = s[i]; - if (code >= 0x01 && code <= 0x7F) - writeByte((byte)code); - else if (((code >= 0x80) && (code <= 0x7FF)) || code == 0) { - writeByte((byte)(0xC0 | (code >> 6))); - writeByte((byte)(0x80 | (code & 0x3F))); - } else { - writeByte((byte)(0xE0 | (code >>> 12))); - writeByte((byte)(0x80 | ((code >> 6) & 0x3F))); - writeByte((byte)(0x80 | (code & 0x3F))); - } - } - } - private static int COPY_BUFFER_SIZE = 16384; private byte[] copyBuffer; diff --git a/lucene/src/java/org/apache/lucene/store/Directory.java b/lucene/src/java/org/apache/lucene/store/Directory.java index 348aa960fd4..1dc59ad3986 100644 --- a/lucene/src/java/org/apache/lucene/store/Directory.java +++ b/lucene/src/java/org/apache/lucene/store/Directory.java @@ -94,19 +94,6 @@ public abstract class Directory implements Closeable { public abstract IndexOutput createOutput(String name) throws IOException; - /** - * Ensure that any writes to this file are moved to - * stable storage. Lucene uses this to properly commit - * changes to the index, to prevent a machine/OS crash - * from corrupting the index. - * @deprecated use {@link #sync(Collection)} instead. - * For easy migration you can change your code to call - * sync(Collections.singleton(name)) - */ - @Deprecated - public void sync(String name) throws IOException { // TODO 4.0 kill me - } - /** * Ensure that any writes to these files are moved to * stable storage. Lucene uses this to properly commit @@ -118,10 +105,7 @@ public abstract class Directory implements Closeable { * For other impls the operation can be a noop, for various * reasons. */ - public void sync(Collection names) throws IOException { // TODO 4.0 make me abstract - for (String name : names) - sync(name); - } + public abstract void sync(Collection names) throws IOException; /** Returns a stream reading an existing file. */ public abstract IndexInput openInput(String name) @@ -232,41 +216,6 @@ public abstract class Directory implements Closeable { } } - /** - * Copy contents of a directory src to a directory dest. If a file in src - * already exists in dest then the one in dest will be blindly overwritten. - *

- * NOTE: the source directory cannot change while this method is - * running. Otherwise the results are undefined and you could easily hit a - * FileNotFoundException. - *

- * NOTE: this method only copies files that look like index files (ie, - * have extensions matching the known extensions of index files). - * - * @param src source directory - * @param dest destination directory - * @param closeDirSrc if true, call {@link #close()} method on - * source directory - * @deprecated should be replaced with calls to - * {@link #copy(Directory, String, String)} for every file that - * needs copying. You can use the following code: - * - *

-   * for (String file : src.listAll()) {
-   *   src.copy(dest, file, file);
-   * }
-   * 
- */ - @Deprecated - public static void copy(Directory src, Directory dest, boolean closeDirSrc) throws IOException { - for (String file : src.listAll()) { - src.copy(dest, file, file); - } - if (closeDirSrc) { - src.close(); - } - } - /** * @throws AlreadyClosedException if this Directory is closed */ diff --git a/lucene/src/java/org/apache/lucene/store/FSDirectory.java b/lucene/src/java/org/apache/lucene/store/FSDirectory.java index 0a8480330df..20830867567 100644 --- a/lucene/src/java/org/apache/lucene/store/FSDirectory.java +++ b/lucene/src/java/org/apache/lucene/store/FSDirectory.java @@ -321,12 +321,6 @@ public abstract class FSDirectory extends Directory { staleFiles.add(io.name); } - @Deprecated - @Override - public void sync(String name) throws IOException { - sync(Collections.singleton(name)); - } - @Override public void sync(Collection names) throws IOException { ensureOpen(); @@ -383,12 +377,6 @@ public abstract class FSDirectory extends Directory { isOpen = false; } - /** @deprecated Use {@link #getDirectory} instead. */ - @Deprecated - public File getFile() { - return getDirectory(); - } - /** @return the underlying filesystem directory */ public File getDirectory() { ensureOpen(); diff --git a/lucene/src/java/org/apache/lucene/store/FileSwitchDirectory.java b/lucene/src/java/org/apache/lucene/store/FileSwitchDirectory.java index fe00c614c5e..2e473beb73b 100644 --- a/lucene/src/java/org/apache/lucene/store/FileSwitchDirectory.java +++ b/lucene/src/java/org/apache/lucene/store/FileSwitchDirectory.java @@ -135,12 +135,6 @@ public class FileSwitchDirectory extends Directory { return getDirectory(name).createOutput(name); } - @Deprecated - @Override - public void sync(String name) throws IOException { - sync(Collections.singleton(name)); - } - @Override public void sync(Collection names) throws IOException { List primaryNames = new ArrayList(); diff --git a/lucene/src/java/org/apache/lucene/store/NoLockFactory.java b/lucene/src/java/org/apache/lucene/store/NoLockFactory.java index 242e78205d7..70c835ae71c 100755 --- a/lucene/src/java/org/apache/lucene/store/NoLockFactory.java +++ b/lucene/src/java/org/apache/lucene/store/NoLockFactory.java @@ -33,14 +33,7 @@ public class NoLockFactory extends LockFactory { private static NoLock singletonLock = new NoLock(); private static NoLockFactory singleton = new NoLockFactory(); - /** - * @deprecated This constructor was not intended to be public and should not be used. - * It will be made private in Lucene 4.0 - * @see #getNoLockFactory() - */ - // make private in 4.0! - @Deprecated - public NoLockFactory() {} + private NoLockFactory() {} public static NoLockFactory getNoLockFactory() { return singleton; diff --git a/lucene/src/java/org/apache/lucene/store/RAMDirectory.java b/lucene/src/java/org/apache/lucene/store/RAMDirectory.java index 4c3073a3980..8be9dddac1d 100644 --- a/lucene/src/java/org/apache/lucene/store/RAMDirectory.java +++ b/lucene/src/java/org/apache/lucene/store/RAMDirectory.java @@ -20,6 +20,7 @@ package org.apache.lucene.store; import java.io.IOException; import java.io.FileNotFoundException; import java.io.Serializable; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicLong; @@ -187,6 +188,9 @@ public class RAMDirectory extends Directory implements Serializable { return new RAMFile(this); } + public void sync(Collection names) throws IOException { + } + /** Returns a stream reading an existing file. */ @Override public IndexInput openInput(String name) throws IOException { diff --git a/lucene/src/java/org/apache/lucene/util/IndexableBinaryStringTools.java b/lucene/src/java/org/apache/lucene/util/IndexableBinaryStringTools.java index 8950cc844ce..d7f4c92f262 100644 --- a/lucene/src/java/org/apache/lucene/util/IndexableBinaryStringTools.java +++ b/lucene/src/java/org/apache/lucene/util/IndexableBinaryStringTools.java @@ -37,19 +37,6 @@ import java.nio.ByteBuffer; * problem, a char is appended, indicating the number of encoded bytes in the * final content char. *

- * Some methods in this class are defined over CharBuffers and ByteBuffers, but - * these are deprecated in favor of methods that operate directly on byte[] and - * char[] arrays. Note that this class calls array() and arrayOffset() - * on the CharBuffers and ByteBuffers it uses, so only wrapped arrays may be - * used. This class interprets the arrayOffset() and limit() values returned - * by its input buffers as beginning and end+1 positions on the wrapped array, - * respectively; similarly, on the output buffer, arrayOffset() is the first - * position written to, and limit() is set to one past the final output array - * position. - *

- * WARNING: This means that the deprecated Buffer-based methods - * only work correctly with buffers that have an offset of 0. For example, they - * will not correctly interpret buffers returned by {@link ByteBuffer#slice}. * * @lucene.experimental */ @@ -71,28 +58,6 @@ public final class IndexableBinaryStringTools { // Export only static methods private IndexableBinaryStringTools() {} - /** - * Returns the number of chars required to encode the given byte sequence. - * - * @param original The byte sequence to be encoded. Must be backed by an - * array. - * @return The number of chars required to encode the given byte sequence - * @throws IllegalArgumentException If the given ByteBuffer is not backed by - * an array - * @deprecated Use {@link #getEncodedLength(byte[], int, int)} instead. This - * method will be removed in Lucene 4.0 - */ - @Deprecated - public static int getEncodedLength(ByteBuffer original) - throws IllegalArgumentException { - if (original.hasArray()) { - return getEncodedLength(original.array(), original.arrayOffset(), - original.limit() - original.arrayOffset()); - } else { - throw new IllegalArgumentException("original argument must have a backing array"); - } - } - /** * Returns the number of chars required to encode the given bytes. * @@ -107,28 +72,6 @@ public final class IndexableBinaryStringTools { return (int)((8L * inputLength + 14L) / 15L) + 1; } - - /** - * Returns the number of bytes required to decode the given char sequence. - * - * @param encoded The char sequence to be decoded. Must be backed by an array. - * @return The number of bytes required to decode the given char sequence - * @throws IllegalArgumentException If the given CharBuffer is not backed by - * an array - * @deprecated Use {@link #getDecodedLength(char[], int, int)} instead. This - * method will be removed in Lucene 4.0 - */ - @Deprecated - public static int getDecodedLength(CharBuffer encoded) - throws IllegalArgumentException { - if (encoded.hasArray()) { - return getDecodedLength(encoded.array(), encoded.arrayOffset(), - encoded.limit() - encoded.arrayOffset()); - } else { - throw new IllegalArgumentException("encoded argument must have a backing array"); - } - } - /** * Returns the number of bytes required to decode the given char sequence. * @@ -149,36 +92,6 @@ public final class IndexableBinaryStringTools { } } - /** - * Encodes the input byte sequence into the output char sequence. Before - * calling this method, ensure that the output CharBuffer has sufficient - * capacity by calling {@link #getEncodedLength(java.nio.ByteBuffer)}. - * - * @param input The byte sequence to encode - * @param output Where the char sequence encoding result will go. The limit is - * set to one past the position of the final char. - * @throws IllegalArgumentException If either the input or the output buffer - * is not backed by an array - * @deprecated Use {@link #encode(byte[], int, int, char[], int, int)} - * instead. This method will be removed in Lucene 4.0 - */ - @Deprecated - public static void encode(ByteBuffer input, CharBuffer output) { - if (input.hasArray() && output.hasArray()) { - final int inputOffset = input.arrayOffset(); - final int inputLength = input.limit() - inputOffset; - final int outputOffset = output.arrayOffset(); - final int outputLength = getEncodedLength(input.array(), inputOffset, - inputLength); - output.limit(outputLength + outputOffset); - output.position(0); - encode(input.array(), inputOffset, inputLength, output.array(), - outputOffset, outputLength); - } else { - throw new IllegalArgumentException("Arguments must have backing arrays"); - } - } - /** * Encodes the input byte sequence into the output char sequence. Before * calling this method, ensure that the output array has sufficient @@ -233,36 +146,6 @@ public final class IndexableBinaryStringTools { } } - /** - * Decodes the input char sequence into the output byte sequence. Before - * calling this method, ensure that the output ByteBuffer has sufficient - * capacity by calling {@link #getDecodedLength(java.nio.CharBuffer)}. - * - * @param input The char sequence to decode - * @param output Where the byte sequence decoding result will go. The limit is - * set to one past the position of the final char. - * @throws IllegalArgumentException If either the input or the output buffer - * is not backed by an array - * @deprecated Use {@link #decode(char[], int, int, byte[], int, int)} - * instead. This method will be removed in Lucene 4.0 - */ - @Deprecated - public static void decode(CharBuffer input, ByteBuffer output) { - if (input.hasArray() && output.hasArray()) { - final int inputOffset = input.arrayOffset(); - final int inputLength = input.limit() - inputOffset; - final int outputOffset = output.arrayOffset(); - final int outputLength = getDecodedLength(input.array(), inputOffset, - inputLength); - output.limit(outputLength + outputOffset); - output.position(0); - decode(input.array(), inputOffset, inputLength, output.array(), - outputOffset, outputLength); - } else { - throw new IllegalArgumentException("Arguments must have backing arrays"); - } - } - /** * Decodes the input char sequence into the output byte sequence. Before * calling this method, ensure that the output array has sufficient capacity @@ -330,46 +213,6 @@ public final class IndexableBinaryStringTools { } } - /** - * Decodes the given char sequence, which must have been encoded by - * {@link #encode(java.nio.ByteBuffer)} or - * {@link #encode(java.nio.ByteBuffer, java.nio.CharBuffer)}. - * - * @param input The char sequence to decode - * @return A byte sequence containing the decoding result. The limit is set to - * one past the position of the final char. - * @throws IllegalArgumentException If the input buffer is not backed by an - * array - * @deprecated Use {@link #decode(char[], int, int, byte[], int, int)} - * instead. This method will be removed in Lucene 4.0 - */ - @Deprecated - public static ByteBuffer decode(CharBuffer input) { - byte[] outputArray = new byte[getDecodedLength(input)]; - ByteBuffer output = ByteBuffer.wrap(outputArray); - decode(input, output); - return output; - } - - /** - * Encodes the input byte sequence. - * - * @param input The byte sequence to encode - * @return A char sequence containing the encoding result. The limit is set to - * one past the position of the final char. - * @throws IllegalArgumentException If the input buffer is not backed by an - * array - * @deprecated Use {@link #encode(byte[], int, int, char[], int, int)} - * instead. This method will be removed in Lucene 4.0 - */ - @Deprecated - public static CharBuffer encode(ByteBuffer input) { - char[] outputArray = new char[getEncodedLength(input)]; - CharBuffer output = CharBuffer.wrap(outputArray); - encode(input, output); - return output; - } - static class CodingCase { int numBytes, initialShift, middleShift, finalShift, advanceBytes = 2; short middleMask, finalMask; diff --git a/lucene/src/java/org/apache/lucene/util/NumericUtils.java b/lucene/src/java/org/apache/lucene/util/NumericUtils.java index 7d2a5c23285..000de675f33 100644 --- a/lucene/src/java/org/apache/lucene/util/NumericUtils.java +++ b/lucene/src/java/org/apache/lucene/util/NumericUtils.java @@ -17,10 +17,10 @@ package org.apache.lucene.util; * limitations under the License. */ -import org.apache.lucene.analysis.NumericTokenStream; // for javadocs -import org.apache.lucene.document.NumericField; // for javadocs +import org.apache.lucene.analysis.NumericTokenStream; +import org.apache.lucene.document.NumericField; +import org.apache.lucene.search.NumericRangeFilter; import org.apache.lucene.search.NumericRangeQuery; // for javadocs -import org.apache.lucene.search.NumericRangeFilter; // for javadocs // TODO: Remove the commented out methods before release! @@ -130,32 +130,6 @@ public final class NumericUtils { return hash; } - /* - * Returns prefix coded bits after reducing the precision by shift bits. - * This is method is used by {@link LongRangeBuilder}. - * @param val the numeric value - * @param shift how many bits to strip from the right - * @deprecated This method is no longer needed! - * - @Deprecated - public static String longToPrefixCoded(final long val, final int shift) { - final BytesRef buffer = new BytesRef(BUF_SIZE_LONG); - longToPrefixCoded(val, shift, buffer); - return buffer.utf8ToString(); - }*/ - - /* - * This is a convenience method, that returns prefix coded bits of a long without - * reducing the precision. It can be used to store the full precision value as a - * stored field in index. - *

To decode, use {@link #prefixCodedToLong}. - * @deprecated This method is no longer needed! - * - @Deprecated - public static String longToPrefixCoded(final long val) { - return longToPrefixCoded(val, 0); - }*/ - /** * Returns prefix coded bits after reducing the precision by shift bits. * This is method is used by {@link NumericTokenStream}. @@ -190,46 +164,6 @@ public final class NumericUtils { return hash; } - /* - * Returns prefix coded bits after reducing the precision by shift bits. - * This is method is used by {@link IntRangeBuilder}. - * @param val the numeric value - * @param shift how many bits to strip from the right - * @deprecated This method is no longer needed! - * - @Deprecated - public static String intToPrefixCoded(final int val, final int shift) { - final BytesRef buffer = new BytesRef(BUF_SIZE_INT); - intToPrefixCoded(val, shift, buffer); - return buffer.utf8ToString(); - }*/ - - /* - * This is a convenience method, that returns prefix coded bits of an int without - * reducing the precision. It can be used to store the full precision value as a - * stored field in index. - *

To decode, use {@link #prefixCodedToInt}. - * @deprecated This method is no longer needed! - * - @Deprecated - public static String intToPrefixCoded(final int val) { - return intToPrefixCoded(val, 0); - }*/ - - /* - * Returns a long from prefixCoded characters. - * Rightmost bits will be zero for lower precision codes. - * This method can be used to decode e.g. a stored field. - * @throws NumberFormatException if the supplied string is - * not correctly prefix encoded. - * @see #longToPrefixCoded(long) - * @deprecated This method is no longer needed! - * - @Deprecated - public static long prefixCodedToLong(final String prefixCoded) { - return prefixCodedToLong(new BytesRef(prefixCoded)); - }*/ - /** * Returns the shift value from a prefix encoded {@code long}. * @throws NumberFormatException if the supplied {@link BytesRef} is @@ -278,21 +212,7 @@ public final class NumericUtils { return (sortableBits << getPrefixCodedLongShift(val)) ^ 0x8000000000000000L; } - /* - * Returns an int from prefixCoded characters. - * Rightmost bits will be zero for lower precision codes. - * This method can be used to decode a term's value. - * @throws NumberFormatException if the supplied string is - * not correctly prefix encoded. - * @see #intToPrefixCoded(int) - * @deprecated This method is no longer needed! - * - @Deprecated - public static int prefixCodedToInt(final String prefixCoded) { - return prefixCodedToInt(new BytesRef(prefixCoded)); - }*/ - - /* + /** * Returns an int from prefixCoded bytes. * Rightmost bits will be zero for lower precision codes. * This method can be used to decode a term's value. @@ -329,16 +249,6 @@ public final class NumericUtils { return f; } - /* - * Convenience method: this just returns: - * longToPrefixCoded(doubleToSortableLong(val)) - * @deprecated This method is no longer needed! - * - @Deprecated - public static String doubleToPrefixCoded(double val) { - return longToPrefixCoded(doubleToSortableLong(val)); - }*/ - /** * Converts a sortable long back to a double. * @see #doubleToSortableLong @@ -348,16 +258,6 @@ public final class NumericUtils { return Double.longBitsToDouble(val); } - /* - * Convenience method: this just returns: - * sortableLongToDouble(prefixCodedToLong(val)) - * @deprecated This method is no longer needed! - * - @Deprecated - public static double prefixCodedToDouble(String val) { - return sortableLongToDouble(prefixCodedToLong(val)); - }*/ - /** * Converts a float value to a sortable signed int. * The value is converted by getting their IEEE 754 floating-point "float format" @@ -371,16 +271,6 @@ public final class NumericUtils { return f; } - /* - * Convenience method: this just returns: - * intToPrefixCoded(floatToSortableInt(val)) - * @deprecated This method is no longer needed! - * - @Deprecated - public static String floatToPrefixCoded(float val) { - return intToPrefixCoded(floatToSortableInt(val)); - }*/ - /** * Converts a sortable int back to a float. * @see #floatToSortableInt @@ -390,16 +280,6 @@ public final class NumericUtils { return Float.intBitsToFloat(val); } - /* - * Convenience method: this just returns: - * sortableIntToFloat(prefixCodedToInt(val)) - * @deprecated This method is no longer needed! - * - @Deprecated - public static float prefixCodedToFloat(String val) { - return sortableIntToFloat(prefixCodedToInt(val)); - }*/ - /** * Splits a long range recursively. * You may implement a builder that adds clauses to a diff --git a/lucene/src/java/org/apache/lucene/util/StringHelper.java b/lucene/src/java/org/apache/lucene/util/StringHelper.java index 498f53e31c1..c2555d3b532 100644 --- a/lucene/src/java/org/apache/lucene/util/StringHelper.java +++ b/lucene/src/java/org/apache/lucene/util/StringHelper.java @@ -44,7 +44,7 @@ public abstract class StringHelper { * @param bytes2 The second byte[] to compare * @return The number of common elements. */ - public static final int bytesDifference(byte[] bytes1, int len1, byte[] bytes2, int len2) { + public static int bytesDifference(byte[] bytes1, int len1, byte[] bytes2, int len2) { int len = len1 < len2 ? len1 : len2; for (int i = 0; i < len; i++) if (bytes1[i] != bytes2[i]) @@ -52,29 +52,6 @@ public abstract class StringHelper { return len; } - /** - * Compares two strings, character by character, and returns the - * first position where the two strings differ from one another. - * - * @param s1 The first string to compare - * @param s2 The second string to compare - * @return The first position where the two strings differ. - * - * @deprecated This method cannot handle supplementary characters. - */ - @Deprecated - public static final int stringDifference(String s1, String s2) { - int len1 = s1.length(); - int len2 = s2.length(); - int len = len1 < len2 ? len1 : len2; - for (int i = 0; i < len; i++) { - if (s1.charAt(i) != s2.charAt(i)) { - return i; - } - } - return len; - } - private StringHelper() { } } diff --git a/lucene/src/java/org/apache/lucene/util/Version.java b/lucene/src/java/org/apache/lucene/util/Version.java index e202db79025..09b1f8b3260 100644 --- a/lucene/src/java/org/apache/lucene/util/Version.java +++ b/lucene/src/java/org/apache/lucene/util/Version.java @@ -28,29 +28,18 @@ package org.apache.lucene.util; * your indexing code to match, and re-index. */ public enum Version { - - /** Match settings and bugs in Lucene's 2.0 release. */ - LUCENE_20, - - /** Match settings and bugs in Lucene's 2.1 release. */ - LUCENE_21, - - /** Match settings and bugs in Lucene's 2.2 release. */ - LUCENE_22, - - /** Match settings and bugs in Lucene's 2.3 release. */ - LUCENE_23, - - /** Match settings and bugs in Lucene's 2.4 release. */ - LUCENE_24, - - /** Match settings and bugs in Lucene's 2.9 release. */ - LUCENE_29, - - /** Match settings and bugs in Lucene's 3.0 release. */ + /** + * Match settings and bugs in Lucene's 3.0 release. + * @deprecated (4.0) Use latest + */ + @Deprecated LUCENE_30, - /** Match settings and bugs in Lucene's 3.1 release. */ + /** + * Match settings and bugs in Lucene's 3.1 release. + * @deprecated (4.0) Use latest + */ + @Deprecated LUCENE_31, /** Match settings and bugs in Lucene's 4.0 release. diff --git a/lucene/src/test/org/apache/lucene/TestExternalCodecs.java b/lucene/src/test/org/apache/lucene/TestExternalCodecs.java index 57373d629ad..8c5f7bcaa12 100644 --- a/lucene/src/test/org/apache/lucene/TestExternalCodecs.java +++ b/lucene/src/test/org/apache/lucene/TestExternalCodecs.java @@ -620,10 +620,12 @@ public class TestExternalCodecs extends LuceneTestCase { final int NUM_DOCS = 173; Directory dir = newDirectory(); - IndexWriter w = new IndexWriter(dir, - newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, true, true)).setCodecProvider(provider)); - - w.setMergeFactor(3); + IndexWriter w = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, true, true)). + setCodecProvider(provider). + setMergePolicy(newLogMergePolicy(3)) + ); Document doc = new Document(); // uses default codec: doc.add(newField("field1", "this field uses the standard codec as the test", Field.Store.NO, Field.Index.ANALYZED)); diff --git a/lucene/src/test/org/apache/lucene/TestSearch.java b/lucene/src/test/org/apache/lucene/TestSearch.java index 63412584a92..4db9a1ad5e4 100644 --- a/lucene/src/test/org/apache/lucene/TestSearch.java +++ b/lucene/src/test/org/apache/lucene/TestSearch.java @@ -114,29 +114,15 @@ public class TestSearch extends LuceneTestCase { Query query = parser.parse(queries[j]); out.println("Query: " + query.toString("contents")); - //DateFilter filter = - // new DateFilter("modified", Time(1997,0,1), Time(1998,0,1)); - //DateFilter filter = DateFilter.Before("modified", Time(1997,00,01)); - //System.out.println(filter); - hits = searcher.search(query, null, 1000).scoreDocs; out.println(hits.length + " total results"); for (int i = 0 ; i < hits.length && i < 10; i++) { Document d = searcher.doc(hits[i].doc); - out.println(i + " " + hits[i].score -// + " " + DateField.stringToDate(d.get("modified")) - + " " + d.get("contents")); + out.println(i + " " + hits[i].score + " " + d.get("contents")); } } searcher.close(); directory.close(); } - - static long Time(int year, int month, int day) { - GregorianCalendar calendar = new GregorianCalendar(); - calendar.clear(); - calendar.set(year, month, day); - return calendar.getTime().getTime(); - } } diff --git a/lucene/src/test/org/apache/lucene/analysis/TestCharTokenizers.java b/lucene/src/test/org/apache/lucene/analysis/TestCharTokenizers.java index 28111b7e35d..adb902d95f6 100644 --- a/lucene/src/test/org/apache/lucene/analysis/TestCharTokenizers.java +++ b/lucene/src/test/org/apache/lucene/analysis/TestCharTokenizers.java @@ -18,10 +18,8 @@ package org.apache.lucene.analysis; */ import java.io.IOException; -import java.io.Reader; import java.io.StringReader; -import org.apache.lucene.util.Version; /** * Testcase for {@link CharTokenizer} subclasses @@ -92,96 +90,4 @@ public class TestCharTokenizers extends BaseTokenStreamTestCase { MockTokenizer tokenizer = new MockTokenizer(new StringReader(builder.toString() + builder.toString()), MockTokenizer.SIMPLE, true); assertTokenStreamContents(tokenizer, new String[] {builder.toString().toLowerCase(), builder.toString().toLowerCase()}); } - - public void testIsTokenCharCharInSubclass() { - new TestingCharTokenizer(Version.LUCENE_30, new StringReader("")); - try { - new TestingCharTokenizer(TEST_VERSION_CURRENT, new StringReader("")); - fail("version 3.1 is not permitted if char based method is implemented"); - } catch (IllegalArgumentException e) { - // expected - } - } - - public void testNormalizeCharInSubclass() { - new TestingCharTokenizerNormalize(Version.LUCENE_30, new StringReader("")); - try { - new TestingCharTokenizerNormalize(TEST_VERSION_CURRENT, - new StringReader("")); - fail("version 3.1 is not permitted if char based method is implemented"); - } catch (IllegalArgumentException e) { - // expected - } - } - - public void testNormalizeAndIsTokenCharCharInSubclass() { - new TestingCharTokenizerNormalizeIsTokenChar(Version.LUCENE_30, - new StringReader("")); - try { - new TestingCharTokenizerNormalizeIsTokenChar(TEST_VERSION_CURRENT, - new StringReader("")); - fail("version 3.1 is not permitted if char based method is implemented"); - } catch (IllegalArgumentException e) { - // expected - } - } - - static final class TestingCharTokenizer extends CharTokenizer { - public TestingCharTokenizer(Version matchVersion, Reader input) { - super(matchVersion, input); - } - - @Override - protected boolean isTokenChar(int c) { - return Character.isLetter(c); - } - - @Deprecated @Override - protected boolean isTokenChar(char c) { - return Character.isLetter(c); - } - } - - static final class TestingCharTokenizerNormalize extends CharTokenizer { - public TestingCharTokenizerNormalize(Version matchVersion, Reader input) { - super(matchVersion, input); - } - - @Deprecated @Override - protected char normalize(char c) { - return c; - } - - @Override - protected int normalize(int c) { - return c; - } - } - - static final class TestingCharTokenizerNormalizeIsTokenChar extends CharTokenizer { - public TestingCharTokenizerNormalizeIsTokenChar(Version matchVersion, - Reader input) { - super(matchVersion, input); - } - - @Deprecated @Override - protected char normalize(char c) { - return c; - } - - @Override - protected int normalize(int c) { - return c; - } - - @Override - protected boolean isTokenChar(int c) { - return Character.isLetter(c); - } - - @Deprecated @Override - protected boolean isTokenChar(char c) { - return Character.isLetter(c); - } - } } diff --git a/lucene/src/test/org/apache/lucene/analysis/TestToken.java b/lucene/src/test/org/apache/lucene/analysis/TestToken.java index ccd0c20015d..94ab03dfb5f 100644 --- a/lucene/src/test/org/apache/lucene/analysis/TestToken.java +++ b/lucene/src/test/org/apache/lucene/analysis/TestToken.java @@ -176,20 +176,20 @@ public class TestToken extends LuceneTestCase { char[] content = "hello".toCharArray(); t.copyBuffer(content, 0, 5); char[] buf = t.buffer(); - Token copy = (Token) TestSimpleAttributeImpls.assertCloneIsEqual(t); + Token copy = assertCloneIsEqual(t); assertEquals(t.toString(), copy.toString()); assertNotSame(buf, copy.buffer()); Payload pl = new Payload(new byte[]{1,2,3,4}); t.setPayload(pl); - copy = (Token) TestSimpleAttributeImpls.assertCloneIsEqual(t); + copy = assertCloneIsEqual(t); assertEquals(pl, copy.getPayload()); assertNotSame(pl, copy.getPayload()); } public void testCopyTo() throws Exception { Token t = new Token(); - Token copy = (Token) TestSimpleAttributeImpls.assertCopyIsEqual(t); + Token copy = assertCopyIsEqual(t); assertEquals("", t.toString()); assertEquals("", copy.toString()); @@ -197,13 +197,13 @@ public class TestToken extends LuceneTestCase { char[] content = "hello".toCharArray(); t.copyBuffer(content, 0, 5); char[] buf = t.buffer(); - copy = (Token) TestSimpleAttributeImpls.assertCopyIsEqual(t); + copy = assertCopyIsEqual(t); assertEquals(t.toString(), copy.toString()); assertNotSame(buf, copy.buffer()); Payload pl = new Payload(new byte[]{1,2,3,4}); t.setPayload(pl); - copy = (Token) TestSimpleAttributeImpls.assertCopyIsEqual(t); + copy = assertCopyIsEqual(t); assertEquals(pl, copy.getPayload()); assertNotSame(pl, copy.getPayload()); } @@ -240,4 +240,21 @@ public class TestToken extends LuceneTestCase { assertTrue("TypeAttribute is not implemented by Token", ts.addAttribute(TypeAttribute.class) instanceof Token); } + + public static T assertCloneIsEqual(T att) { + @SuppressWarnings("unchecked") + T clone = (T) att.clone(); + assertEquals("Clone must be equal", att, clone); + assertEquals("Clone's hashcode must be equal", att.hashCode(), clone.hashCode()); + return clone; + } + + public static T assertCopyIsEqual(T att) throws Exception { + @SuppressWarnings("unchecked") + T copy = (T) att.getClass().newInstance(); + att.copyTo(copy); + assertEquals("Copied instance must be equal", att, copy); + assertEquals("Copied instance's hashcode must be equal", att.hashCode(), copy.hashCode()); + return copy; + } } diff --git a/lucene/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java b/lucene/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java index 76ca83125f5..e7255db91bf 100644 --- a/lucene/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java +++ b/lucene/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java @@ -17,6 +17,7 @@ package org.apache.lucene.analysis.tokenattributes; * limitations under the License. */ +import org.apache.lucene.analysis.TestToken; import org.apache.lucene.util.LuceneTestCase; import java.nio.CharBuffer; import java.util.Formatter; @@ -91,7 +92,7 @@ public class TestCharTermAttributeImpl extends LuceneTestCase { char[] content = "hello".toCharArray(); t.copyBuffer(content, 0, 5); char[] buf = t.buffer(); - CharTermAttributeImpl copy = (CharTermAttributeImpl) TestSimpleAttributeImpls.assertCloneIsEqual(t); + CharTermAttributeImpl copy = TestToken.assertCloneIsEqual(t); assertEquals(t.toString(), copy.toString()); assertNotSame(buf, copy.buffer()); } @@ -113,7 +114,7 @@ public class TestCharTermAttributeImpl extends LuceneTestCase { public void testCopyTo() throws Exception { CharTermAttributeImpl t = new CharTermAttributeImpl(); - CharTermAttributeImpl copy = (CharTermAttributeImpl) TestSimpleAttributeImpls.assertCopyIsEqual(t); + CharTermAttributeImpl copy = TestToken.assertCopyIsEqual(t); assertEquals("", t.toString()); assertEquals("", copy.toString()); @@ -121,7 +122,7 @@ public class TestCharTermAttributeImpl extends LuceneTestCase { char[] content = "hello".toCharArray(); t.copyBuffer(content, 0, 5); char[] buf = t.buffer(); - copy = (CharTermAttributeImpl) TestSimpleAttributeImpls.assertCopyIsEqual(t); + copy = TestToken.assertCopyIsEqual(t); assertEquals(t.toString(), copy.toString()); assertNotSame(buf, copy.buffer()); } diff --git a/lucene/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpls.java b/lucene/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpls.java deleted file mode 100644 index 590c8e8550e..00000000000 --- a/lucene/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpls.java +++ /dev/null @@ -1,153 +0,0 @@ -package org.apache.lucene.analysis.tokenattributes; - -/** - * 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. - */ - -import org.apache.lucene.index.Payload; -import org.apache.lucene.util.AttributeImpl; -import org.apache.lucene.util.LuceneTestCase; -import org.apache.lucene.util.AttributeSource.AttributeFactory; - -@Deprecated -public class TestSimpleAttributeImpls extends LuceneTestCase { - - public void testFlagsAttribute() throws Exception { - FlagsAttributeImpl att = new FlagsAttributeImpl(); - assertEquals(0, att.getFlags()); - - att.setFlags(1234); - assertEquals("flags=1234", att.toString()); - - FlagsAttributeImpl att2 = (FlagsAttributeImpl) assertCloneIsEqual(att); - assertEquals(1234, att2.getFlags()); - - att2 = (FlagsAttributeImpl) assertCopyIsEqual(att); - assertEquals(1234, att2.getFlags()); - - att.clear(); - assertEquals(0, att.getFlags()); - } - - public void testPositionIncrementAttribute() throws Exception { - PositionIncrementAttributeImpl att = new PositionIncrementAttributeImpl(); - assertEquals(1, att.getPositionIncrement()); - - att.setPositionIncrement(1234); - assertEquals("positionIncrement=1234", att.toString()); - - PositionIncrementAttributeImpl att2 = (PositionIncrementAttributeImpl) assertCloneIsEqual(att); - assertEquals(1234, att2.getPositionIncrement()); - - att2 = (PositionIncrementAttributeImpl) assertCopyIsEqual(att); - assertEquals(1234, att2.getPositionIncrement()); - - att.clear(); - assertEquals(1, att.getPositionIncrement()); - } - - public void testTypeAttribute() throws Exception { - TypeAttributeImpl att = new TypeAttributeImpl(); - assertEquals(TypeAttribute.DEFAULT_TYPE, att.type()); - - att.setType("hallo"); - assertEquals("type=hallo", att.toString()); - - TypeAttributeImpl att2 = (TypeAttributeImpl) assertCloneIsEqual(att); - assertEquals("hallo", att2.type()); - - att2 = (TypeAttributeImpl) assertCopyIsEqual(att); - assertEquals("hallo", att2.type()); - - att.clear(); - assertEquals(TypeAttribute.DEFAULT_TYPE, att.type()); - } - - public void testPayloadAttribute() throws Exception { - PayloadAttributeImpl att = new PayloadAttributeImpl(); - assertNull(att.getPayload()); - - Payload pl = new Payload(new byte[]{1,2,3,4}); - att.setPayload(pl); - - PayloadAttributeImpl att2 = (PayloadAttributeImpl) assertCloneIsEqual(att); - assertEquals(pl, att2.getPayload()); - assertNotSame(pl, att2.getPayload()); - - att2 = (PayloadAttributeImpl) assertCopyIsEqual(att); - assertEquals(pl, att2.getPayload()); - assertNotSame(pl, att2.getPayload()); - - att.clear(); - assertNull(att.getPayload()); - } - - public void testOffsetAttribute() throws Exception { - OffsetAttributeImpl att = new OffsetAttributeImpl(); - assertEquals(0, att.startOffset()); - assertEquals(0, att.endOffset()); - - att.setOffset(12, 34); - // no string test here, because order unknown - - OffsetAttributeImpl att2 = (OffsetAttributeImpl) assertCloneIsEqual(att); - assertEquals(12, att2.startOffset()); - assertEquals(34, att2.endOffset()); - - att2 = (OffsetAttributeImpl) assertCopyIsEqual(att); - assertEquals(12, att2.startOffset()); - assertEquals(34, att2.endOffset()); - - att.clear(); - assertEquals(0, att.startOffset()); - assertEquals(0, att.endOffset()); - } - - public void testKeywordAttribute() { - AttributeImpl attrImpl = AttributeFactory.DEFAULT_ATTRIBUTE_FACTORY.createAttributeInstance(KeywordAttribute.class); - assertSame(KeywordAttributeImpl.class, attrImpl.getClass()); - KeywordAttributeImpl att = (KeywordAttributeImpl) attrImpl; - assertFalse(att.isKeyword()); - att.setKeyword(true); - assertTrue(att.isKeyword()); - - KeywordAttributeImpl assertCloneIsEqual = (KeywordAttributeImpl) assertCloneIsEqual(att); - assertTrue(assertCloneIsEqual.isKeyword()); - assertCloneIsEqual.clear(); - assertFalse(assertCloneIsEqual.isKeyword()); - assertTrue(att.isKeyword()); - - att.copyTo(assertCloneIsEqual); - assertTrue(assertCloneIsEqual.isKeyword()); - assertTrue(att.isKeyword()); - } - - public static final AttributeImpl assertCloneIsEqual(AttributeImpl att) { - AttributeImpl clone = (AttributeImpl) att.clone(); - assertEquals("Clone must be equal", att, clone); - assertEquals("Clone's hashcode must be equal", att.hashCode(), clone.hashCode()); - return clone; - } - - public static final AttributeImpl assertCopyIsEqual(AttributeImpl att) throws Exception { - AttributeImpl copy = att.getClass().newInstance(); - att.copyTo(copy); - assertEquals("Copied instance must be equal", att, copy); - assertEquals("Copied instance's hashcode must be equal", att.hashCode(), copy.hashCode()); - return copy; - } - -} diff --git a/lucene/src/test/org/apache/lucene/document/TestBinaryDocument.java b/lucene/src/test/org/apache/lucene/document/TestBinaryDocument.java index 20d6db627c9..d11d817bc65 100644 --- a/lucene/src/test/org/apache/lucene/document/TestBinaryDocument.java +++ b/lucene/src/test/org/apache/lucene/document/TestBinaryDocument.java @@ -37,14 +37,6 @@ public class TestBinaryDocument extends LuceneTestCase { Fieldable binaryFldStored = new Field("binaryStored", binaryValStored.getBytes()); Fieldable stringFldStored = new Field("stringStored", binaryValStored, Field.Store.YES, Field.Index.NO, Field.TermVector.NO); - try { - // binary fields with store off are not allowed - new Field("fail", binaryValStored.getBytes(), Field.Store.NO); - fail(); - } - catch (IllegalArgumentException iae) { - } - Document doc = new Document(); doc.add(binaryFldStored); diff --git a/lucene/src/test/org/apache/lucene/document/TestNumberTools.java b/lucene/src/test/org/apache/lucene/document/TestNumberTools.java deleted file mode 100644 index 12734d91cb8..00000000000 --- a/lucene/src/test/org/apache/lucene/document/TestNumberTools.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.apache.lucene.document; - -/** - * 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. - */ - -import org.apache.lucene.util.LuceneTestCase; - -public class TestNumberTools extends LuceneTestCase { - public void testNearZero() { - for (int i = -100; i <= 100; i++) { - for (int j = -100; j <= 100; j++) { - subtestTwoLongs(i, j); - } - } - } - - public void testMax() { - // make sure the constants convert to their equivalents - assertEquals(Long.MAX_VALUE, NumberTools - .stringToLong(NumberTools.MAX_STRING_VALUE)); - assertEquals(NumberTools.MAX_STRING_VALUE, NumberTools - .longToString(Long.MAX_VALUE)); - - // test near MAX, too - for (long l = Long.MAX_VALUE; l > Long.MAX_VALUE - 10000; l--) { - subtestTwoLongs(l, l - 1); - } - } - - public void testMin() { - // make sure the constants convert to their equivelents - assertEquals(Long.MIN_VALUE, NumberTools - .stringToLong(NumberTools.MIN_STRING_VALUE)); - assertEquals(NumberTools.MIN_STRING_VALUE, NumberTools - .longToString(Long.MIN_VALUE)); - - // test near MIN, too - for (long l = Long.MIN_VALUE; l < Long.MIN_VALUE + 10000; l++) { - subtestTwoLongs(l, l + 1); - } - } - - private static void subtestTwoLongs(long i, long j) { - // convert to strings - String a = NumberTools.longToString(i); - String b = NumberTools.longToString(j); - - // are they the right length? - assertEquals(NumberTools.STR_SIZE, a.length()); - assertEquals(NumberTools.STR_SIZE, b.length()); - - // are they the right order? - if (i < j) { - assertTrue(a.compareTo(b) < 0); - } else if (i > j) { - assertTrue(a.compareTo(b) > 0); - } else { - assertEquals(a, b); - } - - // can we convert them back to longs? - long i2 = NumberTools.stringToLong(a); - long j2 = NumberTools.stringToLong(b); - - assertEquals(i, i2); - assertEquals(j, j2); - } -} \ No newline at end of file diff --git a/lucene/src/test/org/apache/lucene/index/Test2BTerms.java b/lucene/src/test/org/apache/lucene/index/Test2BTerms.java index 4e7897d08b0..261804ccad7 100644 --- a/lucene/src/test/org/apache/lucene/index/Test2BTerms.java +++ b/lucene/src/test/org/apache/lucene/index/Test2BTerms.java @@ -132,13 +132,14 @@ public class Test2BTerms extends LuceneTestCase { int TERMS_PER_DOC = 1000000; Directory dir = FSDirectory.open(_TestUtil.getTempDir("2BTerms")); - IndexWriter w = new IndexWriter(dir, - new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) - .setRAMBufferSizeMB(256.0).setMergeScheduler(new ConcurrentMergeScheduler())); - ((LogMergePolicy) w.getConfig().getMergePolicy()).setUseCompoundFile(false); - ((LogMergePolicy) w.getConfig().getMergePolicy()).setUseCompoundDocStore(false); - ((LogMergePolicy) w.getConfig().getMergePolicy()).setMergeFactor(10); + IndexWriter w = new IndexWriter( + dir, + new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH). + setRAMBufferSizeMB(256.0). + setMergeScheduler(new ConcurrentMergeScheduler()). + setMergePolicy(newLogMergePolicy(false, 10)) + ); Document doc = new Document(); Field field = new Field("field", new MyTokenStream(TERMS_PER_DOC)); diff --git a/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java b/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java index 7d72a8babbb..6b2714dfff7 100755 --- a/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java +++ b/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java @@ -58,9 +58,12 @@ public class TestAddIndexes extends LuceneTestCase { writer.close(); _TestUtil.checkIndex(dir); - writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file + writer = newWriter( + aux, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMergePolicy(newLogMergePolicy(false)) + ); // add 40 documents in separate files addDocs(writer, 40); assertEquals(40, writer.maxDoc()); @@ -75,7 +78,7 @@ public class TestAddIndexes extends LuceneTestCase { // test doc count before segments are merged writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND)); assertEquals(100, writer.maxDoc()); - writer.addIndexes(new Directory[] { aux, aux2 }); + writer.addIndexes(aux, aux2); assertEquals(190, writer.maxDoc()); writer.close(); _TestUtil.checkIndex(dir); @@ -97,7 +100,7 @@ public class TestAddIndexes extends LuceneTestCase { // test doc count before segments are merged/index is optimized writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND)); assertEquals(190, writer.maxDoc()); - writer.addIndexes(new Directory[] { aux3 }); + writer.addIndexes(aux3); assertEquals(230, writer.maxDoc()); writer.close(); @@ -128,7 +131,7 @@ public class TestAddIndexes extends LuceneTestCase { writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND)); assertEquals(230, writer.maxDoc()); - writer.addIndexes(new Directory[] { aux4 }); + writer.addIndexes(aux4); assertEquals(231, writer.maxDoc()); writer.close(); @@ -150,7 +153,7 @@ public class TestAddIndexes extends LuceneTestCase { setUpDirs(dir, aux); IndexWriter writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND)); - writer.addIndexes(new Directory[] {aux}); + writer.addIndexes(aux); // Adds 10 docs, then replaces them with another 10 // docs, so 10 pending deletes: @@ -197,7 +200,7 @@ public class TestAddIndexes extends LuceneTestCase { writer.updateDocument(new Term("id", "" + (i%10)), doc); } - writer.addIndexes(new Directory[] {aux}); + writer.addIndexes(aux); // Deletes one of the 10 added docs, leaving 9: PhraseQuery q = new PhraseQuery(); @@ -242,7 +245,7 @@ public class TestAddIndexes extends LuceneTestCase { q.add(new Term("content", "14")); writer.deleteDocuments(q); - writer.addIndexes(new Directory[] {aux}); + writer.addIndexes(aux); writer.optimize(); writer.commit(); @@ -271,22 +274,30 @@ public class TestAddIndexes extends LuceneTestCase { assertEquals(100, writer.maxDoc()); writer.close(); - writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(1000)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file + writer = newWriter( + aux, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(1000). + setMergePolicy(newLogMergePolicy(false)) + ); // add 140 documents in separate files addDocs(writer, 40); writer.close(); - writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(1000)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file + writer = newWriter( + aux, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(1000). + setMergePolicy(newLogMergePolicy(false)) + ); addDocs(writer, 100); writer.close(); writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND)); try { // cannot add self - writer.addIndexes(new Directory[] { aux, dir }); + writer.addIndexes(aux, dir); assertTrue(false); } catch (IllegalArgumentException e) { @@ -311,13 +322,16 @@ public class TestAddIndexes extends LuceneTestCase { setUpDirs(dir, aux); - IndexWriter writer = newWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(10)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + IndexWriter writer = newWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(4)) + ); addDocs(writer, 10); - writer.addIndexes(new Directory[] { aux }); + writer.addIndexes(aux); assertEquals(1040, writer.maxDoc()); assertEquals(1000, writer.getDocCount(0)); writer.close(); @@ -337,11 +351,16 @@ public class TestAddIndexes extends LuceneTestCase { setUpDirs(dir, aux); - IndexWriter writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(9)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + IndexWriter writer = newWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(9). + setMergePolicy(newLogMergePolicy(4)) + ); addDocs(writer, 2); - writer.addIndexes(new Directory[] { aux }); + writer.addIndexes(aux); assertEquals(1032, writer.maxDoc()); assertEquals(1000, writer.getDocCount(0)); writer.close(); @@ -361,12 +380,15 @@ public class TestAddIndexes extends LuceneTestCase { setUpDirs(dir, aux); - IndexWriter writer = newWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(10)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + IndexWriter writer = newWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(4)) + ); - writer.addIndexes(new Directory[] { aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)) }); + writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux))); assertEquals(1060, writer.maxDoc()); assertEquals(1000, writer.getDocCount(0)); writer.close(); @@ -393,12 +415,15 @@ public class TestAddIndexes extends LuceneTestCase { assertEquals(10, reader.numDocs()); reader.close(); - IndexWriter writer = newWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(4)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + IndexWriter writer = newWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(4). + setMergePolicy(newLogMergePolicy(4)) + ); - writer.addIndexes(new Directory[] { aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)) }); + writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux))); assertEquals(1060, writer.maxDoc()); assertEquals(1000, writer.getDocCount(0)); writer.close(); @@ -416,11 +441,14 @@ public class TestAddIndexes extends LuceneTestCase { setUpDirs(dir, aux); - IndexWriter writer = newWriter(aux2, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(100)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); - writer.addIndexes(new Directory[] { aux }); + IndexWriter writer = newWriter( + aux2, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(100). + setMergePolicy(newLogMergePolicy(10)) + ); + writer.addIndexes(aux); assertEquals(30, writer.maxDoc()); assertEquals(3, writer.getSegmentCount()); writer.close(); @@ -439,11 +467,15 @@ public class TestAddIndexes extends LuceneTestCase { assertEquals(22, reader.numDocs()); reader.close(); - writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(6)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + writer = newWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(6). + setMergePolicy(newLogMergePolicy(4)) + ); - writer.addIndexes(new Directory[] { aux, aux2 }); + writer.addIndexes(aux, aux2); assertEquals(1060, writer.maxDoc()); assertEquals(1000, writer.getDocCount(0)); writer.close(); @@ -505,18 +537,24 @@ public class TestAddIndexes extends LuceneTestCase { assertEquals(1, writer.getSegmentCount()); writer.close(); - writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(100)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); + writer = newWriter( + aux, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(1000). + setMergePolicy(newLogMergePolicy(false, 10)) + ); // add 30 documents in 3 segments for (int i = 0; i < 3; i++) { addDocs(writer, 10); writer.close(); - writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(100)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); + writer = newWriter( + aux, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(1000). + setMergePolicy(newLogMergePolicy(false, 10)) + ); } assertEquals(30, writer.maxDoc()); assertEquals(3, writer.getSegmentCount()); @@ -563,7 +601,7 @@ public class TestAddIndexes extends LuceneTestCase { writer = new IndexWriter(dir2, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()) .setMergeScheduler(new SerialMergeScheduler()).setMergePolicy(lmp)); - writer.addIndexes(new Directory[] {dir}); + writer.addIndexes(dir); writer.close(); dir.close(); dir2.close(); @@ -920,22 +958,26 @@ public class TestAddIndexes extends LuceneTestCase { writer.close(); _TestUtil.checkIndex(dir, provider); - writer = newWriter(aux, newIndexWriterConfig(TEST_VERSION_CURRENT, - new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setCodecProvider( - provider)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()) - .setUseCompoundFile(false); // use one without a compound file - ((LogMergePolicy) writer.getConfig().getMergePolicy()) - .setUseCompoundDocStore(false); // use one without a compound file + writer = newWriter( + aux, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setCodecProvider(provider). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(false)) + ); // add 40 documents in separate files addDocs(writer, 40); assertEquals(40, writer.maxDoc()); writer.commit(); writer.close(); - writer = newWriter(aux2, newIndexWriterConfig(TEST_VERSION_CURRENT, - new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setCodecProvider( - provider)); + writer = newWriter( + aux2, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setCodecProvider(provider) + ); // add 40 documents in compound files addDocs2(writer, 50); assertEquals(50, writer.maxDoc()); @@ -943,11 +985,14 @@ public class TestAddIndexes extends LuceneTestCase { writer.close(); // test doc count before segments are merged - writer = newWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, - new MockAnalyzer()).setOpenMode(OpenMode.APPEND).setCodecProvider( - provider)); + writer = newWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setCodecProvider(provider) + ); assertEquals(100, writer.maxDoc()); - writer.addIndexes(new Directory[] { aux, aux2 }); + writer.addIndexes(aux, aux2); assertEquals(190, writer.maxDoc()); writer.close(); _TestUtil.checkIndex(dir, provider); diff --git a/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java b/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java index 9b8eae8fe34..cef3c30d69f 100644 --- a/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java +++ b/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java @@ -235,7 +235,7 @@ public class TestBackwardsCompatibility extends LuceneTestCase { Directory targetDir = newDirectory(); IndexWriter w = new IndexWriter(targetDir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - w.addIndexes(new Directory[] { dir }); + w.addIndexes(dir); w.close(); _TestUtil.checkIndex(targetDir); @@ -256,7 +256,7 @@ public class TestBackwardsCompatibility extends LuceneTestCase { Directory targetDir = newDirectory(); IndexWriter w = new IndexWriter(targetDir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - w.addIndexes(new IndexReader[] { reader }); + w.addIndexes(reader); w.close(); reader.close(); @@ -527,9 +527,13 @@ public class TestBackwardsCompatibility extends LuceneTestCase { try { Directory dir = FSDirectory.open(new File(fullDir(outputDir))); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(-1).setRAMBufferSizeMB(16.0)); - ((LogMergePolicy) writer.getMergePolicy()).setUseCompoundFile(true); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(-1). + setRAMBufferSizeMB(16.0). + setMergePolicy(newLogMergePolicy(true, 10)) + ); for(int i=0;i<35;i++) { addDoc(writer, i); } diff --git a/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java b/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java index 6c46713c7c5..7a3dc9a1eb0 100644 --- a/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java +++ b/lucene/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java @@ -184,8 +184,12 @@ public class TestConcurrentMergeScheduler extends LuceneTestCase { Field idField = newField("id", "", Field.Store.YES, Field.Index.NOT_ANALYZED); doc.add(idField); - IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(100); + IndexWriter writer = new IndexWriter( + directory, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(100)) + ); for(int iter=0;iter<10;iter++) { @@ -213,8 +217,12 @@ public class TestConcurrentMergeScheduler extends LuceneTestCase { reader.close(); // Reopen - writer = new IndexWriter(directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(100); + writer = new IndexWriter( + directory, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMergePolicy(newLogMergePolicy(100)) + ); } writer.close(); diff --git a/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java b/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java index ca215795c7a..72c438dc897 100644 --- a/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java +++ b/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java @@ -373,10 +373,13 @@ public class TestDeletionPolicy extends LuceneTestCase { Directory dir = newDirectory(); policy.dir = dir; - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setIndexDeletionPolicy(policy).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setIndexDeletionPolicy(policy). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(10)) + ); for(int i=0;i<10;i++) { addDoc(writer); if ((1+i)%2 == 0) diff --git a/lucene/src/test/org/apache/lucene/index/TestDoc.java b/lucene/src/test/org/apache/lucene/index/TestDoc.java index 08361021bd2..7981a7425c3 100644 --- a/lucene/src/test/org/apache/lucene/index/TestDoc.java +++ b/lucene/src/test/org/apache/lucene/index/TestDoc.java @@ -111,10 +111,13 @@ public class TestDoc extends LuceneTestCase { PrintWriter out = new PrintWriter(sw, true); Directory directory = FSDirectory.open(indexDir); - IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(-1)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + directory, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(-1). + setMergePolicy(newLogMergePolicy(10)) + ); SegmentInfo si1 = indexDoc(writer, "test.txt"); printSegment(out, si1); @@ -142,10 +145,13 @@ public class TestDoc extends LuceneTestCase { out = new PrintWriter(sw, true); directory = FSDirectory.open(indexDir); - writer = new IndexWriter(directory, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(-1)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + writer = new IndexWriter( + directory, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(-1). + setMergePolicy(newLogMergePolicy(10)) + ); si1 = indexDoc(writer, "test.txt"); printSegment(out, si1); @@ -188,7 +194,7 @@ public class TestDoc extends LuceneTestCase { SegmentReader r1 = SegmentReader.get(true, si1, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR); SegmentReader r2 = SegmentReader.get(true, si2, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR); - SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriter.DEFAULT_TERM_INDEX_INTERVAL, merged, null, CodecProvider.getDefault(), null); + SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, merged, null, CodecProvider.getDefault(), null); merger.add(r1); merger.add(r2); diff --git a/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java b/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java index 0cb8a0d7a4b..fa513194ac3 100644 --- a/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java +++ b/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java @@ -314,7 +314,7 @@ public class TestDocumentWriter extends LuceneTestCase { _TestUtil.checkIndex(dir); - SegmentReader reader = SegmentReader.getOnlySegmentReader(dir); + SegmentReader reader = getOnlySegmentReader(IndexReader.open(dir, false)); FieldInfos fi = reader.fieldInfos(); // f1 assertFalse("f1 should have no norms", reader.hasNorms("f1")); diff --git a/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java b/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java index a0a0f2deb59..8e7ae4d7fff 100644 --- a/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java +++ b/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java @@ -19,10 +19,7 @@ package org.apache.lucene.index; import java.io.File; import java.io.IOException; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.document.Document; @@ -429,6 +426,10 @@ public class TestFieldsReader extends LuceneTestCase { return fsDir.createOutput(name); } @Override + public void sync(Collection names) throws IOException { + fsDir.sync(names); + } + @Override public void close() throws IOException { fsDir.close(); } diff --git a/lucene/src/test/org/apache/lucene/index/TestFlex.java b/lucene/src/test/org/apache/lucene/index/TestFlex.java index 7106c9125c9..1f53114e06a 100644 --- a/lucene/src/test/org/apache/lucene/index/TestFlex.java +++ b/lucene/src/test/org/apache/lucene/index/TestFlex.java @@ -30,12 +30,14 @@ public class TestFlex extends LuceneTestCase { final int DOC_COUNT = 177; - IndexWriter w = new IndexWriter(d, new MockAnalyzer(), - IndexWriter.MaxFieldLength.UNLIMITED); + IndexWriter w = new IndexWriter( + d, + new IndexWriterConfig(Version.LUCENE_31, new MockAnalyzer()). + setMaxBufferedDocs(7) + ); for(int iter=0;iter<2;iter++) { if (iter == 0) { - w.setMaxBufferedDocs(7); Document doc = new Document(); doc.add(newField("field1", "this is field1", Field.Store.NO, Field.Index.ANALYZED)); doc.add(newField("field2", "this is field2", Field.Store.NO, Field.Index.ANALYZED)); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java b/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java index 432cf2f98a3..0ff5d34d962 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java @@ -40,11 +40,12 @@ public class TestIndexFileDeleter extends LuceneTestCase { public void testDeleteLeftoverFiles() throws IOException { MockDirectoryWrapper dir = newDirectory(); dir.setPreventDoubleWrite(false); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(10)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); - ((LogMergePolicy) writer.getMergePolicy()).setUseCompoundFile(true); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(true, 10)) + ); int i; for(i=0;i<35;i++) { addDoc(writer, i); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexReader.java b/lucene/src/test/org/apache/lucene/index/TestIndexReader.java index 42b6163c6da..0f6f2ba2749 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexReader.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexReader.java @@ -146,8 +146,10 @@ public class TestIndexReader extends LuceneTestCase public void testGetFieldNames() throws Exception { Directory d = newDirectory(); // set up writer - IndexWriter writer = new IndexWriter(d, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer())); + IndexWriter writer = new IndexWriter( + d, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()) + ); Document doc = new Document(); doc.add(new Field("keyword","test1", Field.Store.YES, Field.Index.NOT_ANALYZED)); @@ -166,8 +168,12 @@ public class TestIndexReader extends LuceneTestCase assertTrue(fieldNames.contains("unstored")); reader.close(); // add more documents - writer = new IndexWriter(d, newIndexWriterConfig(TEST_VERSION_CURRENT, - new MockAnalyzer()).setOpenMode(OpenMode.APPEND)); + writer = new IndexWriter( + d, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMergePolicy(newLogMergePolicy()) + ); // want to get some more segments here int mergeFactor = ((LogMergePolicy) writer.getConfig().getMergePolicy()).getMergeFactor(); for (int i = 0; i < 5*mergeFactor; i++) { @@ -261,8 +267,11 @@ public class TestIndexReader extends LuceneTestCase public void testTermVectors() throws Exception { Directory d = newDirectory(); // set up writer - IndexWriter writer = new IndexWriter(d, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer())); + IndexWriter writer = new IndexWriter( + d, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy()) + ); // want to get some more segments here // new termvector fields int mergeFactor = ((LogMergePolicy) writer.getConfig().getMergePolicy()).getMergeFactor(); @@ -566,9 +575,11 @@ public class TestIndexReader extends LuceneTestCase Term searchTerm = new Term("content", "aaa"); // add 1 documents with term : aaa - writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); + writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(false)) + ); addDoc(writer, searchTerm.text()); writer.close(); @@ -1410,10 +1421,12 @@ public class TestIndexReader extends LuceneTestCase Directory d = newDirectory(); // set up writer - IndexWriter writer = new IndexWriter(d, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + d, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(10)) + ); for(int i=0;i<27;i++) addDocumentWithFields(writer); writer.close(); @@ -1428,10 +1441,13 @@ public class TestIndexReader extends LuceneTestCase assertTrue(c.equals(r.getIndexCommit())); // Change the index - writer = new IndexWriter(d, newIndexWriterConfig(TEST_VERSION_CURRENT, - new MockAnalyzer()).setOpenMode( - OpenMode.APPEND).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + writer = new IndexWriter( + d, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(10)) + ); for(int i=0;i<7;i++) addDocumentWithFields(writer); writer.close(); @@ -1471,11 +1487,13 @@ public class TestIndexReader extends LuceneTestCase } catch (UnsupportedOperationException uoe) { // expected } - - writer = new IndexWriter(d, newIndexWriterConfig(TEST_VERSION_CURRENT, - new MockAnalyzer()) - .setOpenMode(OpenMode.APPEND)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + + writer = new IndexWriter( + d, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.APPEND). + setMergePolicy(newLogMergePolicy(10)) + ); addDocumentWithFields(writer); writer.close(); @@ -1619,7 +1637,7 @@ public class TestIndexReader extends LuceneTestCase writer.close(); // Open reader - IndexReader r = SegmentReader.getOnlySegmentReader(dir); + IndexReader r = getOnlySegmentReader(IndexReader.open(dir, false)); final int[] ints = FieldCache.DEFAULT.getInts(r, "number"); assertEquals(1, ints.length); assertEquals(17, ints[0]); @@ -1643,16 +1661,19 @@ public class TestIndexReader extends LuceneTestCase // FieldCache public void testFieldCacheReuseAfterReopen() throws Exception { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(10)) + ); Document doc = new Document(); doc.add(newField("number", "17", Field.Store.NO, Field.Index.NOT_ANALYZED)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); writer.addDocument(doc); writer.commit(); // Open reader1 IndexReader r = IndexReader.open(dir, false); - IndexReader r1 = SegmentReader.getOnlySegmentReader(r); + IndexReader r1 = getOnlySegmentReader(r); final int[] ints = FieldCache.DEFAULT.getInts(r1, "number"); assertEquals(1, ints.length); assertEquals(17, ints[0]); @@ -1676,8 +1697,12 @@ public class TestIndexReader extends LuceneTestCase // reopen switches readOnly public void testReopenChangeReadonly() throws Exception { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(-1)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(-1). + setMergePolicy(newLogMergePolicy(10)) + ); Document doc = new Document(); doc.add(newField("number", "17", Field.Store.NO, Field.Index.NOT_ANALYZED)); writer.addDocument(doc); @@ -1686,7 +1711,7 @@ public class TestIndexReader extends LuceneTestCase // Open reader1 IndexReader r = IndexReader.open(dir, false); assertTrue(r instanceof DirectoryReader); - IndexReader r1 = SegmentReader.getOnlySegmentReader(r); + IndexReader r1 = getOnlySegmentReader(r); final int[] ints = FieldCache.DEFAULT.getInts(r1, "number"); assertEquals(1, ints.length); assertEquals(17, ints[0]); @@ -1727,7 +1752,7 @@ public class TestIndexReader extends LuceneTestCase writer.commit(); IndexReader r = IndexReader.open(dir, false); - IndexReader r1 = SegmentReader.getOnlySegmentReader(r); + IndexReader r1 = getOnlySegmentReader(r); assertEquals(36, r1.getUniqueTermCount()); writer.addDocument(doc); writer.commit(); @@ -1768,8 +1793,12 @@ public class TestIndexReader extends LuceneTestCase } assertEquals(-1, ((SegmentReader) r.getSequentialSubReaders()[0]).getTermInfosIndexDivisor()); - writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setCodecProvider(_TestUtil.alwaysCodec("Standard"))); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setCodecProvider(_TestUtil.alwaysCodec("Standard")). + setMergePolicy(newLogMergePolicy(10)) + ); writer.addDocument(doc); writer.close(); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java b/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java index a287385e421..00f53f6c548 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java @@ -302,7 +302,7 @@ public class TestIndexReaderClone extends LuceneTestCase { IndexReader r1 = IndexReader.open(dir1, false); IndexReader r2 = IndexReader.open(dir2, false); - MultiReader multiReader = new MultiReader(new IndexReader[] { r1, r2 }); + MultiReader multiReader = new MultiReader(r1, r2); performDefaultTests(multiReader); multiReader.close(); dir1.close(); @@ -312,7 +312,7 @@ public class TestIndexReaderClone extends LuceneTestCase { public void testSegmentReaderUndeleteall() throws Exception { final Directory dir1 = newDirectory(); TestIndexReaderReopen.createIndex(random, dir1, false); - SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(dir1); + SegmentReader origSegmentReader = getOnlySegmentReader(IndexReader.open(dir1, false)); origSegmentReader.deleteDocument(10); assertDelDocsRefCountEquals(1, origSegmentReader); origSegmentReader.undeleteAll(); @@ -325,7 +325,7 @@ public class TestIndexReaderClone extends LuceneTestCase { public void testSegmentReaderCloseReferencing() throws Exception { final Directory dir1 = newDirectory(); TestIndexReaderReopen.createIndex(random, dir1, false); - SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(dir1); + SegmentReader origSegmentReader = getOnlySegmentReader(IndexReader.open(dir1, false)); origSegmentReader.deleteDocument(1); origSegmentReader.setNorm(4, "field1", 0.5f); @@ -346,7 +346,7 @@ public class TestIndexReaderClone extends LuceneTestCase { TestIndexReaderReopen.createIndex(random, dir1, false); IndexReader origReader = IndexReader.open(dir1, false); - SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(origReader); + SegmentReader origSegmentReader = getOnlySegmentReader(origReader); // deletedDocsRef should be null because nothing has updated yet assertNull(origSegmentReader.deletedDocsRef); @@ -358,7 +358,7 @@ public class TestIndexReaderClone extends LuceneTestCase { // the cloned segmentreader should have 2 references, 1 to itself, and 1 to // the original segmentreader IndexReader clonedReader = (IndexReader) origReader.clone(); - SegmentReader clonedSegmentReader = SegmentReader.getOnlySegmentReader(clonedReader); + SegmentReader clonedSegmentReader = getOnlySegmentReader(clonedReader); assertDelDocsRefCountEquals(2, origSegmentReader); // deleting a document creates a new deletedDocs bitvector, the refs goes to // 1 @@ -395,7 +395,7 @@ public class TestIndexReaderClone extends LuceneTestCase { // test a reopened reader IndexReader reopenedReader = clonedReader.reopen(); IndexReader cloneReader2 = (IndexReader) reopenedReader.clone(); - SegmentReader cloneSegmentReader2 = SegmentReader.getOnlySegmentReader(cloneReader2); + SegmentReader cloneSegmentReader2 = getOnlySegmentReader(cloneReader2); assertDelDocsRefCountEquals(2, cloneSegmentReader2); clonedReader.close(); reopenedReader.close(); @@ -490,10 +490,11 @@ public class TestIndexReaderClone extends LuceneTestCase { public void testCloseStoredFields() throws Exception { final Directory dir = newDirectory(); - IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) w.getConfig().getMergePolicy()).setUseCompoundFile(false); - ((LogMergePolicy) w.getConfig().getMergePolicy()).setUseCompoundDocStore(false); + IndexWriter w = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(false)) + ); Document doc = new Document(); doc.add(newField("field", "yes it's stored", Field.Store.YES, Field.Index.ANALYZED)); w.addDocument(doc); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java b/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java index b25d0e53b6f..74fc7c3941d 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java @@ -109,11 +109,14 @@ public class TestIndexReaderCloneNorms extends LuceneTestCase { Directory dir3 = FSDirectory.open(indexDir3); createIndex(random, dir3); - IndexWriter iw = new IndexWriter(dir3, newIndexWriterConfig( - TEST_VERSION_CURRENT, anlzr).setOpenMode(OpenMode.APPEND) - .setMaxBufferedDocs(5)); - ((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3); - iw.addIndexes(new Directory[] { dir1, dir2 }); + IndexWriter iw = new IndexWriter( + dir3, + newIndexWriterConfig(TEST_VERSION_CURRENT, anlzr). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(5). + setMergePolicy(newLogMergePolicy(3)) + ); + iw.addIndexes(dir1, dir2); iw.optimize(); iw.close(); @@ -128,9 +131,13 @@ public class TestIndexReaderCloneNorms extends LuceneTestCase { doTestNorms(random, dir3); // now with optimize - iw = new IndexWriter(dir3, newIndexWriterConfig( TEST_VERSION_CURRENT, - anlzr).setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(5)); - ((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3); + iw = new IndexWriter( + dir3, + newIndexWriterConfig(TEST_VERSION_CURRENT, anlzr). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(5). + setMergePolicy(newLogMergePolicy(3)) + ); iw.optimize(); iw.close(); verifyIndex(dir3); @@ -162,7 +169,7 @@ public class TestIndexReaderCloneNorms extends LuceneTestCase { public void testNormsClose() throws IOException { Directory dir1 = newDirectory(); TestIndexReaderReopen.createIndex(random, dir1, false); - SegmentReader reader1 = SegmentReader.getOnlySegmentReader(dir1); + SegmentReader reader1 = getOnlySegmentReader(IndexReader.open(dir1, false)); reader1.norms("field1"); Norm r1norm = reader1.norms.get("field1"); AtomicInteger r1BytesRef = r1norm.bytesRef(); @@ -181,7 +188,7 @@ public class TestIndexReaderCloneNorms extends LuceneTestCase { IndexReader reader1 = IndexReader.open(dir1, false); IndexReader reader2C = (IndexReader) reader1.clone(); - SegmentReader segmentReader2C = SegmentReader.getOnlySegmentReader(reader2C); + SegmentReader segmentReader2C = getOnlySegmentReader(reader2C); segmentReader2C.norms("field1"); // load the norms for the field Norm reader2CNorm = segmentReader2C.norms.get("field1"); assertTrue("reader2CNorm.bytesRef()=" + reader2CNorm.bytesRef(), reader2CNorm.bytesRef().get() == 2); @@ -189,13 +196,13 @@ public class TestIndexReaderCloneNorms extends LuceneTestCase { IndexReader reader3C = (IndexReader) reader2C.clone(); - SegmentReader segmentReader3C = SegmentReader.getOnlySegmentReader(reader3C); + SegmentReader segmentReader3C = getOnlySegmentReader(reader3C); Norm reader3CCNorm = segmentReader3C.norms.get("field1"); assertEquals(3, reader3CCNorm.bytesRef().get()); // edit a norm and the refcount should be 1 IndexReader reader4C = (IndexReader) reader3C.clone(); - SegmentReader segmentReader4C = SegmentReader.getOnlySegmentReader(reader4C); + SegmentReader segmentReader4C = getOnlySegmentReader(reader4C); assertEquals(4, reader3CCNorm.bytesRef().get()); reader4C.setNorm(5, "field1", 0.33f); @@ -215,7 +222,7 @@ public class TestIndexReaderCloneNorms extends LuceneTestCase { assertEquals(1, reader4CCNorm.bytesRef().get()); IndexReader reader5C = (IndexReader) reader4C.clone(); - SegmentReader segmentReader5C = SegmentReader.getOnlySegmentReader(reader5C); + SegmentReader segmentReader5C = getOnlySegmentReader(reader5C); Norm reader5CCNorm = segmentReader5C.norms.get("field1"); reader5C.setNorm(5, "field1", 0.7f); assertEquals(1, reader5CCNorm.bytesRef().get()); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java b/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java index ee2821a5389..6221304f38a 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java @@ -230,9 +230,8 @@ public class TestIndexReaderReopen extends LuceneTestCase { @Override protected IndexReader openReader() throws IOException { - return new MultiReader(new IndexReader[] - {IndexReader.open(dir1, false), - IndexReader.open(dir2, false)}); + return new MultiReader(IndexReader.open(dir1, false), + IndexReader.open(dir2, false)); } }); @@ -256,12 +255,11 @@ public class TestIndexReaderReopen extends LuceneTestCase { @Override protected IndexReader openReader() throws IOException { - return new MultiReader(new IndexReader[] - {IndexReader.open(dir3, false), - IndexReader.open(dir4, false), - // Does not implement reopen, so - // hits exception: - new FilterIndexReader(IndexReader.open(dir3, false))}); + return new MultiReader(IndexReader.open(dir3, false), + IndexReader.open(dir4, false), + // Does not implement reopen, so + // hits exception: + new FilterIndexReader(IndexReader.open(dir3, false))); } }); @@ -297,10 +295,8 @@ public class TestIndexReaderReopen extends LuceneTestCase { ParallelReader pr = new ParallelReader(); pr.add(IndexReader.open(dir1, false)); pr.add(IndexReader.open(dir2, false)); - MultiReader mr = new MultiReader(new IndexReader[] { - IndexReader.open(dir3, false), IndexReader.open(dir4, false)}); - return new MultiReader(new IndexReader[] { - pr, mr, IndexReader.open(dir5, false)}); + MultiReader mr = new MultiReader(IndexReader.open(dir3, false), IndexReader.open(dir4, false)); + return new MultiReader(pr, mr, IndexReader.open(dir5, false)); } }); dir1.close(); @@ -612,7 +608,7 @@ public class TestIndexReaderReopen extends LuceneTestCase { createIndex(random, dir1, false); IndexReader reader1 = IndexReader.open(dir1, false); - SegmentReader segmentReader1 = SegmentReader.getOnlySegmentReader(reader1); + SegmentReader segmentReader1 = getOnlySegmentReader(reader1); IndexReader modifier = IndexReader.open(dir1, false); modifier.deleteDocument(0); modifier.close(); @@ -624,7 +620,7 @@ public class TestIndexReaderReopen extends LuceneTestCase { modifier.close(); IndexReader reader3 = reader2.reopen(); - SegmentReader segmentReader3 = SegmentReader.getOnlySegmentReader(reader3); + SegmentReader segmentReader3 = getOnlySegmentReader(reader3); modifier = IndexReader.open(dir1, false); modifier.deleteDocument(2); modifier.close(); @@ -1167,7 +1163,7 @@ public class TestIndexReaderReopen extends LuceneTestCase { IndexReader[] rs2 = r2.getSequentialSubReaders(); - SegmentReader sr1 = SegmentReader.getOnlySegmentReader(r1); + SegmentReader sr1 = getOnlySegmentReader(r1); SegmentReader sr2 = (SegmentReader) rs2[0]; // At this point they share the same BitVector @@ -1190,9 +1186,13 @@ public class TestIndexReaderReopen extends LuceneTestCase { public void testReopenOnCommit() throws Throwable { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()).setIndexDeletionPolicy(new KeepAllCommits()).setMaxBufferedDocs(-1)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setIndexDeletionPolicy(new KeepAllCommits()). + setMaxBufferedDocs(-1). + setMergePolicy(newLogMergePolicy(10)) + ); for(int i=0;i<4;i++) { Document doc = new Document(); doc.add(newField("id", ""+i, Field.Store.NO, Field.Index.NOT_ANALYZED)); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java index 35031e04874..c41c765f6aa 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java @@ -495,8 +495,13 @@ public class TestIndexWriter extends LuceneTestCase { */ public void testCommitOnCloseDiskUsage() throws IOException { MockDirectoryWrapper dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10).setReaderPooling(false)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(10). + setReaderPooling(false). + setMergePolicy(newLogMergePolicy(10)) + ); for(int j=0;j<30;j++) { addDocWithIndex(writer, j); } @@ -505,10 +510,16 @@ public class TestIndexWriter extends LuceneTestCase { dir.setTrackDiskUsage(true); long startDiskUsage = dir.getMaxUsedSizeInBytes(); - writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(10).setMergeScheduler( - new SerialMergeScheduler()).setReaderPooling(false)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + writer = new IndexWriter( + dir, + newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()) + .setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(10). + setMergeScheduler(new SerialMergeScheduler()). + setReaderPooling(false). + setMergePolicy(newLogMergePolicy(10)) + + ); for(int j=0;j<1470;j++) { addDocWithIndex(writer, j); } @@ -546,8 +557,12 @@ public class TestIndexWriter extends LuceneTestCase { // test uses IW.rollback which easily results in // writing to same file more than once dir.setPreventDoubleWrite(false); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(10)) + ); for(int j=0;j<17;j++) { addDocWithIndex(writer, j); } @@ -657,8 +672,12 @@ public class TestIndexWriter extends LuceneTestCase { public void testSmallRAMBuffer() throws IOException { MockDirectoryWrapper dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setRAMBufferSizeMB(0.000001)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()). + setRAMBufferSizeMB(0.000001). + setMergePolicy(newLogMergePolicy(10)) + ); int lastNumFile = dir.listAll().length; for(int j=0;j<9;j++) { Document doc = new Document(); @@ -674,133 +693,6 @@ public class TestIndexWriter extends LuceneTestCase { dir.close(); } - /** - * Make sure it's OK to change RAM buffer size and // maxBufferedDocs in a - * write session - * - * @deprecated after all the setters on IW go away (4.0), this test can be - * removed because changing ram buffer settings during a write - * session won't be possible. - */ - @Deprecated - public void testChangingRAMBuffer() throws IOException { - MockDirectoryWrapper dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10).setRAMBufferSizeMB( - IndexWriterConfig.DISABLE_AUTO_FLUSH)); - - int lastFlushCount = -1; - for(int j=1;j<52;j++) { - Document doc = new Document(); - doc.add(newField("field", "aaa" + j, Field.Store.YES, Field.Index.ANALYZED)); - writer.addDocument(doc); - _TestUtil.syncConcurrentMerges(writer); - int flushCount = writer.getFlushCount(); - if (j == 1) - lastFlushCount = flushCount; - else if (j < 10) - // No new files should be created - assertEquals(flushCount, lastFlushCount); - else if (10 == j) { - assertTrue(flushCount > lastFlushCount); - lastFlushCount = flushCount; - writer.setRAMBufferSizeMB(0.000001); - writer.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH); - } else if (j < 20) { - assertTrue(flushCount > lastFlushCount); - lastFlushCount = flushCount; - } else if (20 == j) { - writer.setRAMBufferSizeMB(16); - writer.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH); - lastFlushCount = flushCount; - } else if (j < 30) { - assertEquals(flushCount, lastFlushCount); - } else if (30 == j) { - writer.setRAMBufferSizeMB(0.000001); - writer.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH); - } else if (j < 40) { - assertTrue(flushCount> lastFlushCount); - lastFlushCount = flushCount; - } else if (40 == j) { - writer.setMaxBufferedDocs(10); - writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH); - lastFlushCount = flushCount; - } else if (j < 50) { - assertEquals(flushCount, lastFlushCount); - writer.setMaxBufferedDocs(10); - writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH); - } else if (50 == j) { - assertTrue(flushCount > lastFlushCount); - } - } - writer.close(); - dir.close(); - } - - /** - * @deprecated after setters on IW go away, this test can be deleted because - * changing those settings on IW won't be possible. - */ - @Deprecated - public void testChangingRAMBuffer2() throws IOException { - MockDirectoryWrapper dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10).setMaxBufferedDeleteTerms( - 10).setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH)); - - for(int j=1;j<52;j++) { - Document doc = new Document(); - doc.add(newField("field", "aaa" + j, Field.Store.YES, Field.Index.ANALYZED)); - writer.addDocument(doc); - } - - int lastFlushCount = -1; - for(int j=1;j<52;j++) { - writer.deleteDocuments(new Term("field", "aaa" + j)); - _TestUtil.syncConcurrentMerges(writer); - int flushCount = writer.getFlushCount(); - if (j == 1) - lastFlushCount = flushCount; - else if (j < 10) { - // No new files should be created - assertEquals(flushCount, lastFlushCount); - } else if (10 == j) { - assertTrue(flushCount > lastFlushCount); - lastFlushCount = flushCount; - writer.setRAMBufferSizeMB(0.000001); - writer.setMaxBufferedDeleteTerms(1); - } else if (j < 20) { - assertTrue(flushCount > lastFlushCount); - lastFlushCount = flushCount; - } else if (20 == j) { - writer.setRAMBufferSizeMB(16); - writer.setMaxBufferedDeleteTerms(IndexWriterConfig.DISABLE_AUTO_FLUSH); - lastFlushCount = flushCount; - } else if (j < 30) { - assertEquals(flushCount, lastFlushCount); - } else if (30 == j) { - writer.setRAMBufferSizeMB(0.000001); - writer.setMaxBufferedDeleteTerms(IndexWriterConfig.DISABLE_AUTO_FLUSH); - writer.setMaxBufferedDeleteTerms(1); - } else if (j < 40) { - assertTrue(flushCount> lastFlushCount); - lastFlushCount = flushCount; - } else if (40 == j) { - writer.setMaxBufferedDeleteTerms(10); - writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH); - lastFlushCount = flushCount; - } else if (j < 50) { - assertEquals(flushCount, lastFlushCount); - writer.setMaxBufferedDeleteTerms(10); - writer.setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH); - } else if (50 == j) { - assertTrue(flushCount > lastFlushCount); - } - } - writer.close(); - dir.close(); - } - public void testDiverseDocs() throws IOException { MockDirectoryWrapper dir = newDirectory(); IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setRAMBufferSizeMB(0.5)); @@ -968,11 +860,14 @@ public class TestIndexWriter extends LuceneTestCase { public void testFlushWithNoMerging() throws IOException { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(10)) + ); Document doc = new Document(); - doc.add(newField("field", "aaa", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS)); + doc.add(newField("field", "aaa", Store.YES, Index.ANALYZED, TermVector.WITH_POSITIONS_OFFSETS)); for(int i=0;i<19;i++) writer.addDocument(doc); writer.flush(false, true, true); @@ -1010,12 +905,15 @@ public class TestIndexWriter extends LuceneTestCase { Directory dir = newDirectory(); for(int pass=0;pass<2;pass++) { - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(101); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(101)) + ); Document doc = new Document(); - doc.add(newField("field", "aaa", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS)); + doc.add(newField("field", "aaa", Store.YES, Index.ANALYZED, TermVector.WITH_POSITIONS_OFFSETS)); for(int i=0;i<200;i++) writer.addDocument(doc); writer.optimize(false); @@ -1200,20 +1098,17 @@ public class TestIndexWriter extends LuceneTestCase { for(int pass=0;pass<2;pass++) { - IndexWriterConfig conf = newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE) - .setMaxBufferedDocs(2); - if (pass == 2) { - conf.setMergeScheduler(new SerialMergeScheduler()); - } - IndexWriter writer = new IndexWriter(directory, conf); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(100); + IndexWriter writer = new IndexWriter( + directory, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(2). + // have to use compound file to prevent running out of + // descripters when newDirectory returns a file-system + // backed directory: + setMergePolicy(newLogMergePolicy(false, 10)) + ); - // have to use compound file to prevent running out of - // descripters when newDirectory returns a file-system - // backed directory: - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(true); - //System.out.println("TEST: pass=" + pass + " cms=" + (pass >= 2)); for(int iter=0;iter<10;iter++) { //System.out.println("TEST: iter=" + iter); @@ -1309,10 +1204,12 @@ public class TestIndexWriter extends LuceneTestCase { public void testForceCommit() throws IOException { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(5)) + ); writer.commit(); for (int i = 0; i < 23; i++) @@ -1412,21 +1309,23 @@ public class TestIndexWriter extends LuceneTestCase { // LUCENE-325: test expungeDeletes, when many adjacent merges are required public void testExpungeDeletes2() throws IOException { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2).setRAMBufferSizeMB( - IndexWriterConfig.DISABLE_AUTO_FLUSH)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(50); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH). + setMergePolicy(newLogMergePolicy(50)) + ); Document document = new Document(); document = new Document(); - Field storedField = newField("stored", "stored", Field.Store.YES, - Field.Index.NO); + Field storedField = newField("stored", "stored", Store.YES, + Index.NO); document.add(storedField); Field termVectorField = newField("termVector", "termVector", - Field.Store.NO, Field.Index.NOT_ANALYZED, - Field.TermVector.WITH_POSITIONS_OFFSETS); + Store.NO, Index.NOT_ANALYZED, + TermVector.WITH_POSITIONS_OFFSETS); document.add(termVectorField); for(int i=0;i<98;i++) writer.addDocument(document); @@ -1440,9 +1339,11 @@ public class TestIndexWriter extends LuceneTestCase { assertEquals(49, ir.numDocs()); ir.close(); - writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, - new MockAnalyzer())); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(3); + writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(3)) + ); assertEquals(49, writer.numDocs()); writer.expungeDeletes(); writer.close(); @@ -1457,11 +1358,13 @@ public class TestIndexWriter extends LuceneTestCase { // many adjacent merges are required public void testExpungeDeletes3() throws IOException { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2).setRAMBufferSizeMB( - IndexWriterConfig.DISABLE_AUTO_FLUSH)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(50); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH). + setMergePolicy(newLogMergePolicy(50)) + ); Document document = new Document(); @@ -1485,9 +1388,11 @@ public class TestIndexWriter extends LuceneTestCase { assertEquals(49, ir.numDocs()); ir.close(); - writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - // Force many merges to happen - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(3); + writer = new IndexWriter( + dir, + newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(3)) + ); writer.expungeDeletes(false); writer.close(); ir = IndexReader.open(dir, true); @@ -1836,8 +1741,12 @@ public class TestIndexWriter extends LuceneTestCase { public void testPrepareCommit() throws IOException { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(5)) + ); writer.commit(); for (int i = 0; i < 23; i++) @@ -1888,8 +1797,12 @@ public class TestIndexWriter extends LuceneTestCase { MockDirectoryWrapper dir = newDirectory(); dir.setPreventDoubleWrite(false); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(5)) + ); writer.commit(); for (int i = 0; i < 23; i++) @@ -2091,7 +2004,7 @@ public class TestIndexWriter extends LuceneTestCase { IndexReader r1 = IndexReader.open(dir2, true); IndexReader r2 = (IndexReader) r1.clone(); - writer.addIndexes(new IndexReader[] {r1, r2}); + writer.addIndexes(r1, r2); writer.close(); IndexReader r3 = IndexReader.open(dir, true); @@ -2564,11 +2477,13 @@ public class TestIndexWriter extends LuceneTestCase { } public void testDeleteUnusedFiles() throws Exception { - for(int iter=0;iter<2;iter++) { Directory dir = newDirectory(); - IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) w.getMergePolicy()).setUseCompoundFile(true); + IndexWriter w = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(true)) + ); Document doc = new Document(); doc.add(newField("field", "go", Field.Store.NO, Field.Index.ANALYZED)); w.addDocument(doc); @@ -2965,7 +2880,7 @@ public class TestIndexWriter extends LuceneTestCase { Directory dir = newDirectory(); IndexWriter indexWriter = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setRAMBufferSizeMB(0.01)); - ((LogMergePolicy) indexWriter.getMergePolicy()).setUseCompoundFile(false); + ((LogMergePolicy) indexWriter.getConfig().getMergePolicy()).setUseCompoundFile(false); String BIG="alskjhlaksjghlaksjfhalksvjepgjioefgjnsdfjgefgjhelkgjhqewlrkhgwlekgrhwelkgjhwelkgrhwlkejg"; BIG=BIG+BIG+BIG+BIG; diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java index 0ccfda2aa8f..29ea32d42fa 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java @@ -249,52 +249,4 @@ public class TestIndexWriterConfig extends LuceneTestCase { conf.setMergePolicy(null); assertEquals(LogByteSizeMergePolicy.class, conf.getMergePolicy().getClass()); } - - /** - * @deprecated should be removed once all the deprecated setters are removed - * from IndexWriter. - */ - @Test @Deprecated - public void testIndexWriterSetters() throws Exception { - // This test intentionally tests deprecated methods. The purpose is to pass - // whatever the user set on IW to IWC, so that if the user calls - // iw.getConfig().getXYZ(), he'll get the same value he passed to - // iw.setXYZ(). - IndexWriterConfig conf = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()); - Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, conf); - - writer.setSimilarity(new MySimilarity()); - assertEquals(MySimilarity.class, writer.getConfig().getSimilarity().getClass()); - - writer.setMaxBufferedDeleteTerms(4); - assertEquals(4, writer.getConfig().getMaxBufferedDeleteTerms()); - - writer.setMaxBufferedDocs(10); - assertEquals(10, writer.getConfig().getMaxBufferedDocs()); - - writer.setMaxFieldLength(10); - assertEquals(10, writer.getConfig().getMaxFieldLength()); - - writer.setMergeScheduler(new SerialMergeScheduler()); - assertEquals(SerialMergeScheduler.class, writer.getConfig().getMergeScheduler().getClass()); - - writer.setRAMBufferSizeMB(1.5); - assertEquals(1.5, writer.getConfig().getRAMBufferSizeMB(), 0.0); - - writer.setTermIndexInterval(40); - assertEquals(40, writer.getConfig().getTermIndexInterval()); - - writer.setWriteLockTimeout(100); - assertEquals(100, writer.getConfig().getWriteLockTimeout()); - - writer.setMergedSegmentWarmer(new MyWarmer()); - assertEquals(MyWarmer.class, writer.getConfig().getMergedSegmentWarmer().getClass()); - - writer.setMergePolicy(new LogDocMergePolicy()); - assertEquals(LogDocMergePolicy.class, writer.getConfig().getMergePolicy().getClass()); - writer.close(); - dir.close(); - } - } diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java index fd9428e310f..8c171ba5133 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java @@ -794,7 +794,7 @@ public class TestIndexWriterDelete extends LuceneTestCase { public void testDeleteNullQuery() throws IOException { Directory dir = newDirectory(); - IndexWriter modifier = new IndexWriter(dir, new MockAnalyzer(MockTokenizer.WHITESPACE, false), IndexWriter.MaxFieldLength.UNLIMITED); + IndexWriter modifier = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false))); for (int i = 0; i < 5; i++) { addDoc(modifier, i, 2*i); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java index dfbca0a0886..790f9498f9c 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java @@ -612,8 +612,12 @@ public class TestIndexWriterExceptions extends LuceneTestCase { MockDirectoryWrapper dir = newDirectory(); { - final IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(-1)); - ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10); + final IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer). + setMaxBufferedDocs(-1). + setMergePolicy(newLogMergePolicy(10)) + ); final int finalI = i; Thread[] threads = new Thread[NUM_THREAD]; @@ -740,10 +744,14 @@ public class TestIndexWriterExceptions extends LuceneTestCase { FailOnlyInSync failure = new FailOnlyInSync(); dir.failOn(failure); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler())); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergeScheduler(new ConcurrentMergeScheduler()). + setMergePolicy(newLogMergePolicy(5)) + ); failure.setDoFail(); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5); for (int i = 0; i < 23; i++) { addDoc(writer); @@ -1005,9 +1013,12 @@ public class TestIndexWriterExceptions extends LuceneTestCase { IndexWriter writer = null; - writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) writer.getMergePolicy()).setUseCompoundFile(true); - ((LogMergePolicy) writer.getMergePolicy()).setNoCFSRatio(1.0); + writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(true)) + ); + ((LogMergePolicy) writer.getConfig().getMergePolicy()).setNoCFSRatio(1.0); // add 100 documents for (int i = 0; i < 100; i++) { diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java index 7d77696144e..ecb44b9e0ae 100755 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java @@ -100,9 +100,12 @@ public class TestIndexWriterMergePolicy extends LuceneTestCase { public void testMergeFactorChange() throws IOException { Directory dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(10).setMergePolicy(new LogDocMergePolicy())); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy()) + ); for (int i = 0; i < 250; i++) { addDoc(writer); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java index 7b6412bcd9f..804db65d15c 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java @@ -55,10 +55,13 @@ public class TestIndexWriterMerging extends LuceneTestCase Directory merged = newDirectory(); - IndexWriter writer = new IndexWriter(merged, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); + IndexWriter writer = new IndexWriter( + merged, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(2)) + ); - writer.addIndexes(new Directory[]{indexA, indexB}); + writer.addIndexes(indexA, indexB); writer.optimize(); writer.close(); @@ -94,11 +97,13 @@ public class TestIndexWriterMerging extends LuceneTestCase private void fillIndex(Random random, Directory dir, int start, int numDocs) throws IOException { - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, - new MockAnalyzer()) - .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(2)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMaxBufferedDocs(2). + setMergePolicy(newLogMergePolicy(2)) + ); for (int i = start; i < (start + numDocs); i++) { diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java index 0eefee17db5..1192bf01b62 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java @@ -441,9 +441,13 @@ public class TestIndexWriterOnDiskFull extends LuceneTestCase { public void testCorruptionAfterDiskFullDuringMerge() throws IOException { MockDirectoryWrapper dir = newDirectory(); //IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setReaderPooling(true)); - IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergeScheduler(new SerialMergeScheduler()).setReaderPooling(true)); - - ((LogMergePolicy) w.getMergePolicy()).setMergeFactor(2); + IndexWriter w = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergeScheduler(new SerialMergeScheduler()). + setReaderPooling(true). + setMergePolicy(newLogMergePolicy(2)) + ); Document doc = new Document(); doc.add(newField("f", "doctor who", Field.Store.YES, Field.Index.ANALYZED)); diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java index 8a551cd8689..692dda665de 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java @@ -163,7 +163,7 @@ public class TestIndexWriterReader extends LuceneTestCase { IndexReader r0 = writer.getReader(); assertTrue(r0.isCurrent()); - writer.addIndexes(new Directory[] { dir2 }); + writer.addIndexes(dir2); assertFalse(r0.isCurrent()); r0.close(); @@ -204,11 +204,11 @@ public class TestIndexWriterReader extends LuceneTestCase { createIndexNoClose(!optimize, "index2", writer2); writer2.close(); - writer.addIndexes(new Directory[] { dir2 }); - writer.addIndexes(new Directory[] { dir2 }); - writer.addIndexes(new Directory[] { dir2 }); - writer.addIndexes(new Directory[] { dir2 }); - writer.addIndexes(new Directory[] { dir2 }); + writer.addIndexes(dir2); + writer.addIndexes(dir2); + writer.addIndexes(dir2); + writer.addIndexes(dir2); + writer.addIndexes(dir2); IndexReader r1 = writer.getReader(); assertEquals(500, r1.maxDoc()); @@ -547,9 +547,14 @@ public class TestIndexWriterReader extends LuceneTestCase { Directory dir1 = newDirectory(); // Enroll warmer MyWarmer warmer = new MyWarmer(); - IndexWriter writer = new IndexWriter(dir1, newIndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2).setMergedSegmentWarmer(warmer).setMergeScheduler(new ConcurrentMergeScheduler())); + IndexWriter writer = new IndexWriter( + dir1, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergedSegmentWarmer(warmer). + setMergeScheduler(new ConcurrentMergeScheduler()). + setMergePolicy(newLogMergePolicy()) + ); writer.setInfoStream(infoStream); // create the index @@ -642,9 +647,12 @@ public class TestIndexWriterReader extends LuceneTestCase { // Stress test reopen during addIndexes public void testDuringAddIndexes() throws Exception { MockDirectoryWrapper dir1 = newDirectory(); - final IndexWriter writer = new IndexWriter(dir1, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); + final IndexWriter writer = new IndexWriter( + dir1, + newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(2)) + ); writer.setInfoStream(infoStream); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); // create the index createIndexNoClose(false, "test", writer); @@ -722,9 +730,12 @@ public class TestIndexWriterReader extends LuceneTestCase { // Stress test reopen during add/delete public void testDuringAddDelete() throws Exception { Directory dir1 = newDirectory(); - final IndexWriter writer = new IndexWriter(dir1, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); + final IndexWriter writer = new IndexWriter( + dir1, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(2)) + ); writer.setInfoStream(infoStream); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); // create the index createIndexNoClose(false, "test", writer); @@ -867,18 +878,22 @@ public class TestIndexWriterReader extends LuceneTestCase { public void testSegmentWarmer() throws Exception { Directory dir = newDirectory(); final AtomicBoolean didWarm = new AtomicBoolean(); - IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2).setReaderPooling(true)); - ((LogMergePolicy) w.getMergePolicy()).setMergeFactor(10); - w.setMergedSegmentWarmer(new IndexWriter.IndexReaderWarmer() { - public void warm(IndexReader r) throws IOException { - final IndexSearcher s = new IndexSearcher(r); - final TopDocs hits = s.search(new TermQuery(new Term("foo", "bar")), 10); - assertEquals(20, hits.totalHits); - didWarm.set(true); - } - }); - + IndexWriter w = new IndexWriter( + dir, + newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setReaderPooling(true). + setMergedSegmentWarmer(new IndexWriter.IndexReaderWarmer() { + public void warm(IndexReader r) throws IOException { + IndexSearcher s = new IndexSearcher(r); + TopDocs hits = s.search(new TermQuery(new Term("foo", "bar")), 10); + assertEquals(20, hits.totalHits); + didWarm.set(true); + } + }). + setMergePolicy(newLogMergePolicy(10)) + ); + Document doc = new Document(); doc.add(newField("foo", "bar", Field.Store.YES, Field.Index.NOT_ANALYZED)); for(int i=0;i<20;i++) { diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java index 44673afb531..35d4ce32b26 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java @@ -107,12 +107,14 @@ public class TestIndexWriterWithThreads extends LuceneTestCase { for(int iter=0;iter<10;iter++) { MockDirectoryWrapper dir = newDirectory(); - IndexWriterConfig conf = newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler()); - // We expect disk full exceptions in the merge threads - ((ConcurrentMergeScheduler) conf.getMergeScheduler()).setSuppressExceptions(); - IndexWriter writer = new IndexWriter(dir, conf); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergeScheduler(new ConcurrentMergeScheduler()). + setMergePolicy(newLogMergePolicy(4)) + ); + ((ConcurrentMergeScheduler) writer.getConfig().getMergeScheduler()).setSuppressExceptions(); dir.setMaxSizeInBytes(4*1024+20*iter); IndexerThread[] threads = new IndexerThread[NUM_THREADS]; @@ -148,12 +150,15 @@ public class TestIndexWriterWithThreads extends LuceneTestCase { for(int iter=0;iter<7;iter++) { Directory dir = newDirectory(); - IndexWriterConfig conf = newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()) - .setMaxBufferedDocs(10).setMergeScheduler(new ConcurrentMergeScheduler()); - // We expect AlreadyClosedException - ((ConcurrentMergeScheduler) conf.getMergeScheduler()).setSuppressExceptions(); - IndexWriter writer = new IndexWriter(dir, conf); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(10). + setMergeScheduler(new ConcurrentMergeScheduler()). + setMergePolicy(newLogMergePolicy(4)) + ); + ((ConcurrentMergeScheduler) writer.getConfig().getMergeScheduler()).setSuppressExceptions(); IndexerThread[] threads = new IndexerThread[NUM_THREADS]; @@ -210,12 +215,15 @@ public class TestIndexWriterWithThreads extends LuceneTestCase { for(int iter=0;iter<2;iter++) { MockDirectoryWrapper dir = newDirectory(); - IndexWriterConfig conf = newIndexWriterConfig( TEST_VERSION_CURRENT, - new MockAnalyzer()).setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler()); - // We expect disk full exceptions in the merge threads - ((ConcurrentMergeScheduler) conf.getMergeScheduler()).setSuppressExceptions(); - IndexWriter writer = new IndexWriter(dir, conf); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4); + + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(2). + setMergeScheduler(new ConcurrentMergeScheduler()). + setMergePolicy(newLogMergePolicy(4)) + ); + ((ConcurrentMergeScheduler) writer.getConfig().getMergeScheduler()).setSuppressExceptions(); IndexerThread[] threads = new IndexerThread[NUM_THREADS]; diff --git a/lucene/src/test/org/apache/lucene/index/TestLazyBug.java b/lucene/src/test/org/apache/lucene/index/TestLazyBug.java index 617d84160e1..a27983bd224 100755 --- a/lucene/src/test/org/apache/lucene/index/TestLazyBug.java +++ b/lucene/src/test/org/apache/lucene/index/TestLazyBug.java @@ -17,19 +17,12 @@ package org.apache.lucene.index; * limitations under the License. */ -import java.util.Arrays; -import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.Random; import java.util.Set; import org.apache.lucene.analysis.MockAnalyzer; -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; -import org.apache.lucene.document.FieldSelector; -import org.apache.lucene.document.FieldSelectorResult; -import org.apache.lucene.document.Fieldable; +import org.apache.lucene.document.*; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; @@ -53,7 +46,7 @@ public class TestLazyBug extends LuceneTestCase { "this string is a bigger string, mary had a little lamb, little lamb, little lamb!" }; - private static Set dataset = new HashSet(Arrays.asList(data)); + private static Set dataset = asSet(data); private static String MAGIC_FIELD = "f"+(NUM_FIELDS/3); diff --git a/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java b/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java index beca8452fe2..fd1dc5647a6 100755 --- a/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java +++ b/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java @@ -69,9 +69,12 @@ public class TestLazyProxSkipping extends LuceneTestCase { int numDocs = 500; Directory directory = new SeekCountingDirectory(new RAMDirectory()); - IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, true, false)).setMaxBufferedDocs(10)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); + IndexWriter writer = new IndexWriter( + directory, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, true, false)). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(false)) + ); for (int i = 0; i < numDocs; i++) { Document doc = new Document(); String content; @@ -93,8 +96,8 @@ public class TestLazyProxSkipping extends LuceneTestCase { // make sure the index has only a single segment writer.optimize(); writer.close(); - - SegmentReader reader = SegmentReader.getOnlySegmentReader(directory); + + SegmentReader reader = getOnlySegmentReader(IndexReader.open(directory, false)); this.searcher = new IndexSearcher(reader); } diff --git a/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java b/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java index ca1dca00b65..10dbc4f9fb0 100644 --- a/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java +++ b/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java @@ -80,7 +80,7 @@ public class TestMultiLevelSkipList extends LuceneTestCase { writer.optimize(); writer.close(); - IndexReader reader = SegmentReader.getOnlySegmentReader(IndexReader.open(dir)); + IndexReader reader = getOnlySegmentReader(IndexReader.open(dir)); for (int i = 0; i < 2; i++) { counter = 0; diff --git a/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java b/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java index cf62fd4612a..3b84e2dd815 100644 --- a/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java +++ b/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java @@ -31,10 +31,12 @@ public class TestNRTReaderWithThreads extends LuceneTestCase { public void testIndexing() throws Exception { Directory mainDir = newDirectory(); - IndexWriter writer = new IndexWriter(mainDir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(10)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); + IndexWriter writer = new IndexWriter( + mainDir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(false,2)) + ); IndexReader reader = writer.getReader(); // start pooling readers reader.close(); RunThread[] indexThreads = new RunThread[4]; diff --git a/lucene/src/test/org/apache/lucene/index/TestNorms.java b/lucene/src/test/org/apache/lucene/index/TestNorms.java index 77ab215e18a..33a7baa25b1 100755 --- a/lucene/src/test/org/apache/lucene/index/TestNorms.java +++ b/lucene/src/test/org/apache/lucene/index/TestNorms.java @@ -96,11 +96,14 @@ public class TestNorms extends LuceneTestCase { Directory dir3 = newDirectory(); createIndex(random, dir3); - IndexWriter iw = new IndexWriter(dir3, newIndexWriterConfig( - TEST_VERSION_CURRENT, anlzr).setOpenMode(OpenMode.APPEND) - .setMaxBufferedDocs(5)); - ((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3); - iw.addIndexes(new Directory[]{dir1,dir2}); + IndexWriter iw = new IndexWriter( + dir3, + newIndexWriterConfig(TEST_VERSION_CURRENT, anlzr). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(5). + setMergePolicy(newLogMergePolicy(3)) + ); + iw.addIndexes(dir1,dir2); iw.optimize(); iw.close(); @@ -115,9 +118,13 @@ public class TestNorms extends LuceneTestCase { doTestNorms(random, dir3); // now with optimize - iw = new IndexWriter(dir3, newIndexWriterConfig( TEST_VERSION_CURRENT, - anlzr).setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(5)); - ((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3); + iw = new IndexWriter( + dir3, + newIndexWriterConfig(TEST_VERSION_CURRENT, anlzr). + setOpenMode(OpenMode.APPEND). + setMaxBufferedDocs(5). + setMergePolicy(newLogMergePolicy(3)) + ); iw.optimize(); iw.close(); verifyIndex(dir3); diff --git a/lucene/src/test/org/apache/lucene/index/TestOmitTf.java b/lucene/src/test/org/apache/lucene/index/TestOmitTf.java index cacf4d6bbbb..b094423ba0c 100644 --- a/lucene/src/test/org/apache/lucene/index/TestOmitTf.java +++ b/lucene/src/test/org/apache/lucene/index/TestOmitTf.java @@ -93,7 +93,7 @@ public class TestOmitTf extends LuceneTestCase { writer.close(); _TestUtil.checkIndex(ram); - SegmentReader reader = SegmentReader.getOnlySegmentReader(ram); + SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram, false)); FieldInfos fi = reader.fieldInfos(); assertTrue("OmitTermFreqAndPositions field bit should be set.", fi.fieldInfo("f1").omitTermFreqAndPositions); assertTrue("OmitTermFreqAndPositions field bit should be set.", fi.fieldInfo("f2").omitTermFreqAndPositions); @@ -107,9 +107,12 @@ public class TestOmitTf extends LuceneTestCase { public void testMixedMerge() throws Exception { Directory ram = newDirectory(); Analyzer analyzer = new MockAnalyzer(); - IndexWriter writer = new IndexWriter(ram, newIndexWriterConfig( - TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(3)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); + IndexWriter writer = new IndexWriter( + ram, + newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer). + setMaxBufferedDocs(3). + setMergePolicy(newLogMergePolicy(2)) + ); Document d = new Document(); // this field will have Tf @@ -145,7 +148,7 @@ public class TestOmitTf extends LuceneTestCase { _TestUtil.checkIndex(ram); - SegmentReader reader = SegmentReader.getOnlySegmentReader(ram); + SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram, false)); FieldInfos fi = reader.fieldInfos(); assertTrue("OmitTermFreqAndPositions field bit should be set.", fi.fieldInfo("f1").omitTermFreqAndPositions); assertTrue("OmitTermFreqAndPositions field bit should be set.", fi.fieldInfo("f2").omitTermFreqAndPositions); @@ -160,9 +163,12 @@ public class TestOmitTf extends LuceneTestCase { public void testMixedRAM() throws Exception { Directory ram = newDirectory(); Analyzer analyzer = new MockAnalyzer(); - IndexWriter writer = new IndexWriter(ram, newIndexWriterConfig( - TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(10)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); + IndexWriter writer = new IndexWriter( + ram, + newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer). + setMaxBufferedDocs(10). + setMergePolicy(newLogMergePolicy(2)) + ); Document d = new Document(); // this field will have Tf @@ -189,7 +195,7 @@ public class TestOmitTf extends LuceneTestCase { _TestUtil.checkIndex(ram); - SegmentReader reader = SegmentReader.getOnlySegmentReader(ram); + SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram, false)); FieldInfos fi = reader.fieldInfos(); assertTrue("OmitTermFreqAndPositions field bit should not be set.", !fi.fieldInfo("f1").omitTermFreqAndPositions); assertTrue("OmitTermFreqAndPositions field bit should be set.", fi.fieldInfo("f2").omitTermFreqAndPositions); @@ -241,10 +247,13 @@ public class TestOmitTf extends LuceneTestCase { public void testBasic() throws Exception { Directory dir = newDirectory(); Analyzer analyzer = new MockAnalyzer(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( - TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(2) - .setSimilarity(new SimpleSimilarity())); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer). + setMaxBufferedDocs(2). + setSimilarity(new SimpleSimilarity()). + setMergePolicy(newLogMergePolicy(2)) + ); StringBuilder sb = new StringBuilder(265); String term = "term"; diff --git a/lucene/src/test/org/apache/lucene/index/TestParallelReader.java b/lucene/src/test/org/apache/lucene/index/TestParallelReader.java index a9a20f37fff..319b6ce9782 100644 --- a/lucene/src/test/org/apache/lucene/index/TestParallelReader.java +++ b/lucene/src/test/org/apache/lucene/index/TestParallelReader.java @@ -26,12 +26,8 @@ import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.document.MapFieldSelector; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.BooleanClause.Occur; +import org.apache.lucene.search.*; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; @@ -98,9 +94,9 @@ public class TestParallelReader extends LuceneTestCase { pr.add(IndexReader.open(dir1, false)); pr.add(IndexReader.open(dir2, false)); - Document doc11 = pr.document(0, new MapFieldSelector(new String[] {"f1"})); - Document doc24 = pr.document(1, new MapFieldSelector(Arrays.asList(new String[] {"f4"}))); - Document doc223 = pr.document(1, new MapFieldSelector(new String[] {"f2", "f3"})); + Document doc11 = pr.document(0, new MapFieldSelector("f1")); + Document doc24 = pr.document(1, new MapFieldSelector(Arrays.asList("f4"))); + Document doc223 = pr.document(1, new MapFieldSelector("f2", "f3")); assertEquals(1, doc11.getFields().size()); assertEquals(1, doc24.getFields().size()); @@ -174,15 +170,21 @@ public class TestParallelReader extends LuceneTestCase { Directory dir2 = getDir2(random); // add another document to ensure that the indexes are not optimized - IndexWriter modifier = new IndexWriter(dir1, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) modifier.getMergePolicy()).setMergeFactor(10); + IndexWriter modifier = new IndexWriter( + dir1, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(10)) + ); Document d = new Document(); d.add(newField("f1", "v1", Field.Store.YES, Field.Index.ANALYZED)); modifier.addDocument(d); modifier.close(); - - modifier = new IndexWriter(dir2, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) modifier.getMergePolicy()).setMergeFactor(10); + + modifier = new IndexWriter( + dir2, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(10)) + ); d = new Document(); d.add(newField("f2", "v2", Field.Store.YES, Field.Index.ANALYZED)); modifier.addDocument(d); diff --git a/lucene/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java b/lucene/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java index cd718b5cb39..9161b60b5b0 100644 --- a/lucene/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java +++ b/lucene/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java @@ -59,7 +59,7 @@ public class TestParallelReaderEmptyIndex extends LuceneTestCase { pr.add(IndexReader.open(rd2,true)); // When unpatched, Lucene crashes here with a NoSuchElementException (caused by ParallelTermEnum) - iwOut.addIndexes(new IndexReader[] { pr }); + iwOut.addIndexes(pr); iwOut.optimize(); iwOut.close(); @@ -112,7 +112,7 @@ public class TestParallelReaderEmptyIndex extends LuceneTestCase { pr.add(IndexReader.open(rd2,true)); // When unpatched, Lucene crashes here with an ArrayIndexOutOfBoundsException (caused by TermVectorsWriter) - iwOut.addIndexes(new IndexReader[] { pr }); + iwOut.addIndexes(pr); // ParallelReader closes any IndexReader you added to it: pr.close(); diff --git a/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java b/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java index 7909aedeb60..9c342fd4cb0 100644 --- a/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java +++ b/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java @@ -17,8 +17,6 @@ package org.apache.lucene.index; * limitations under the License. */ -import static org.junit.Assert.*; - import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -118,10 +116,6 @@ public class TestPayloadProcessorProvider extends LuceneTestCase { private static final int NUM_DOCS = 10; - private IndexWriterConfig getConfig(Random random) { - return newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false)); - } - private void populateDirs(Random random, Directory[] dirs, boolean multipleCommits) throws IOException { for (int i = 0; i < dirs.length; i++) { @@ -134,8 +128,11 @@ public class TestPayloadProcessorProvider extends LuceneTestCase { private void populateDocs(Random random, Directory dir, boolean multipleCommits) throws IOException { - IndexWriter writer = new IndexWriter(dir, getConfig(random)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false)). + setMergePolicy(newLogMergePolicy(10)) + ); TokenStream payloadTS1 = new PayloadTokenStream("p1"); TokenStream payloadTS2 = new PayloadTokenStream("p2"); for (int i = 0; i < NUM_DOCS; i++) { @@ -191,7 +188,7 @@ public class TestPayloadProcessorProvider extends LuceneTestCase { for (Directory d : dirs) { processors.put(d, new PerTermPayloadProcessor()); } - IndexWriter writer = new IndexWriter(dir, getConfig(random)); + IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false))); writer.setPayloadProcessorProvider(new PerDirPayloadProcessor(processors)); IndexReader[] readers = new IndexReader[dirs.length]; @@ -245,7 +242,7 @@ public class TestPayloadProcessorProvider extends LuceneTestCase { // won't get processed. Map processors = new HashMap(); processors.put(dir, new PerTermPayloadProcessor()); - IndexWriter writer = new IndexWriter(dir, getConfig(random)); + IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false))); writer.setPayloadProcessorProvider(new PerDirPayloadProcessor(processors)); writer.optimize(); writer.close(); diff --git a/lucene/src/test/org/apache/lucene/index/TestPayloads.java b/lucene/src/test/org/apache/lucene/index/TestPayloads.java index 39df3638884..e366714869b 100644 --- a/lucene/src/test/org/apache/lucene/index/TestPayloads.java +++ b/lucene/src/test/org/apache/lucene/index/TestPayloads.java @@ -115,9 +115,9 @@ public class TestPayloads extends LuceneTestCase { analyzer.setPayloadData("f2", 1, "somedata".getBytes(), 0, 1); writer.addDocument(d); // flush - writer.close(); - - SegmentReader reader = SegmentReader.getOnlySegmentReader(ram); + writer.close(); + + SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram, false)); FieldInfos fi = reader.fieldInfos(); assertFalse("Payload field bit should not be set.", fi.fieldInfo("f1").storePayloads); assertTrue("Payload field bit should be set.", fi.fieldInfo("f2").storePayloads); @@ -143,7 +143,7 @@ public class TestPayloads extends LuceneTestCase { // flush writer.close(); - reader = SegmentReader.getOnlySegmentReader(ram); + reader = getOnlySegmentReader(IndexReader.open(ram, false)); fi = reader.fieldInfos(); assertFalse("Payload field bit should not be set.", fi.fieldInfo("f1").storePayloads); assertTrue("Payload field bit should be set.", fi.fieldInfo("f2").storePayloads); diff --git a/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java b/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java index c9f5ef24077..f7ddaf68d16 100644 --- a/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java +++ b/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java @@ -73,7 +73,7 @@ public class TestSegmentMerger extends LuceneTestCase { } public void testMerge() throws IOException { - SegmentMerger merger = new SegmentMerger(mergedDir, IndexWriter.DEFAULT_TERM_INDEX_INTERVAL, mergedSegment, null, CodecProvider.getDefault(), null); + SegmentMerger merger = new SegmentMerger(mergedDir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, mergedSegment, null, CodecProvider.getDefault(), null); merger.add(reader1); merger.add(reader2); int docsMerged = merger.merge(); diff --git a/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java b/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java index 5a4568fcf47..31557cc6ba6 100644 --- a/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java +++ b/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java @@ -77,7 +77,7 @@ public class TestSegmentTermEnum extends LuceneTestCase { IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setCodecProvider(_TestUtil.alwaysCodec("Standard"))); addDoc(writer, "aaa bbb"); writer.close(); - SegmentReader reader = SegmentReader.getOnlySegmentReader(dir); + SegmentReader reader = getOnlySegmentReader(IndexReader.open(dir, false)); TermsEnum terms = reader.fields().terms("content").iterator(); assertNotNull(terms.next()); assertEquals("aaa", terms.term().utf8ToString()); diff --git a/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java b/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java index 0fa239178d3..c48e571c0c4 100644 --- a/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java +++ b/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java @@ -90,10 +90,12 @@ public class TestTermVectorsReader extends LuceneTestCase { Arrays.sort(tokens); dir = newDirectory(); - IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MyAnalyzer()).setMaxBufferedDocs(-1)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10); + IndexWriter writer = new IndexWriter( + dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MyAnalyzer()). + setMaxBufferedDocs(-1). + setMergePolicy(newLogMergePolicy(false, 10)) + ); Document doc = new Document(); for(int i=0;i allowedTerms = new HashSet(Arrays.asList(terms)); + final Set allowedTerms = asSet(terms); assertEquals(allowedTerms.size(), bq.clauses().size()); for (BooleanClause c : bq.clauses()) { assertTrue(c.getQuery() instanceof TermQuery); diff --git a/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java b/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java index b1578e4fc29..fed64916d21 100755 --- a/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java +++ b/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java @@ -122,7 +122,7 @@ public class TestCustomScoreQuery extends FunctionTestSetup { private static class CustomMulAddQuery extends CustomScoreQuery { // constructor CustomMulAddQuery(Query q, ValueSourceQuery qValSrc1, ValueSourceQuery qValSrc2) { - super(q, new ValueSourceQuery[]{qValSrc1, qValSrc2}); + super(q, qValSrc1, qValSrc2); } /*(non-Javadoc) @see org.apache.lucene.search.function.CustomScoreQuery#name() */ diff --git a/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java b/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java index fd309f7b71c..38b6e9cd91f 100644 --- a/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java +++ b/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java @@ -28,7 +28,7 @@ public class TestValueSource extends LuceneTestCase { public void testMultiValueSource() throws Exception { Directory dir = newDirectory(); - IndexWriter w = new IndexWriter(dir, new MockAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED); + IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())); Document doc = new Document(); Field f = newField("field", "", Field.Store.NO, Field.Index.NOT_ANALYZED); doc.add(f); diff --git a/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java b/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java index 21f403bd94e..74b878de69d 100644 --- a/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java +++ b/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java @@ -227,7 +227,7 @@ public class TestBasics extends LuceneTestCase { 4, true); SpanTermQuery term3 = new SpanTermQuery(new Term("field", "forty")); - SpanOrQuery or = new SpanOrQuery(new SpanQuery[] {term3}); + SpanOrQuery or = new SpanOrQuery(term3); SpanNotQuery query = new SpanNotQuery(near, or); @@ -249,7 +249,7 @@ public class TestBasics extends LuceneTestCase { SpanTermQuery term4 = new SpanTermQuery(new Term("field", "sixty")); SpanTermQuery term5 = new SpanTermQuery(new Term("field", "eighty")); - SpanOrQuery or = new SpanOrQuery(new SpanQuery[] {term3, term4, term5}); + SpanOrQuery or = new SpanOrQuery(term3, term4, term5); SpanNotQuery query = new SpanNotQuery(near, or); @@ -436,7 +436,7 @@ public class TestBasics extends LuceneTestCase { SpanNearQuery near2 = new SpanNearQuery(new SpanQuery[] {term3, term4}, 0, true); - SpanOrQuery query = new SpanOrQuery(new SpanQuery[] {near1, near2}); + SpanOrQuery query = new SpanOrQuery(near1, near2); checkHits(query, new int[] {33, 47, 133, 147, 233, 247, 333, 347, 433, 447, 533, 547, 633, 647, 733, @@ -475,8 +475,8 @@ public class TestBasics extends LuceneTestCase { SpanTermQuery t5 = new SpanTermQuery(new Term("field","seven")); SpanTermQuery t6 = new SpanTermQuery(new Term("field","six")); - SpanOrQuery to1 = new SpanOrQuery(new SpanQuery[] {t1, t3}); - SpanOrQuery to2 = new SpanOrQuery(new SpanQuery[] {t5, t6}); + SpanOrQuery to1 = new SpanOrQuery(t1, t3); + SpanOrQuery to2 = new SpanOrQuery(t5, t6); SpanNearQuery query = new SpanNearQuery(new SpanQuery[] {to1, to2}, 10, true); @@ -505,8 +505,8 @@ public class TestBasics extends LuceneTestCase { SpanTermQuery t5 = new SpanTermQuery(new Term("field","seven")); SpanTermQuery t6 = new SpanTermQuery(new Term("field","six")); - SpanOrQuery to1 = new SpanOrQuery(new SpanQuery[] {tt1, tt2}); - SpanOrQuery to2 = new SpanOrQuery(new SpanQuery[] {t5, t6}); + SpanOrQuery to1 = new SpanOrQuery(tt1, tt2); + SpanOrQuery to2 = new SpanOrQuery(t5, t6); SpanNearQuery query = new SpanNearQuery(new SpanQuery[] {to1, to2}, 100, true); diff --git a/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java b/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java index 176ea72d567..a9fe8dd65f9 100644 --- a/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java +++ b/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java @@ -146,9 +146,8 @@ public class TestFieldMaskingSpanQuery extends LuceneTestCase { (new SpanTermQuery(new Term("last", "sally")) { @Override public Query rewrite(IndexReader reader) { - return new SpanOrQuery(new SpanQuery[] { - new SpanTermQuery(new Term("first", "sally")), - new SpanTermQuery(new Term("first", "james")) }); + return new SpanOrQuery(new SpanTermQuery(new Term("first", "sally")), + new SpanTermQuery(new Term("first", "james"))); } }, "first"); @@ -252,8 +251,7 @@ public class TestFieldMaskingSpanQuery extends LuceneTestCase { public void testSpans0() throws Exception { SpanQuery q1 = new SpanTermQuery(new Term("gender", "female")); SpanQuery q2 = new SpanTermQuery(new Term("first", "james")); - SpanQuery q = new SpanOrQuery(new SpanQuery[] - { q1, new FieldMaskingSpanQuery(q2, "gender")}); + SpanQuery q = new SpanOrQuery(q1, new FieldMaskingSpanQuery(q2, "gender")); check(q, new int[] { 0, 1, 2, 3, 4 }); Spans span = q.getSpans(new SlowMultiReaderWrapper(searcher.getIndexReader())); @@ -291,7 +289,7 @@ public class TestFieldMaskingSpanQuery extends LuceneTestCase { public void testSpans1() throws Exception { SpanQuery q1 = new SpanTermQuery(new Term("first", "sally")); SpanQuery q2 = new SpanTermQuery(new Term("first", "james")); - SpanQuery qA = new SpanOrQuery(new SpanQuery[] { q1, q2 }); + SpanQuery qA = new SpanOrQuery(q1, q2); SpanQuery qB = new FieldMaskingSpanQuery(qA, "id"); check(qA, new int[] { 0, 1, 2, 4 }); @@ -311,8 +309,7 @@ public class TestFieldMaskingSpanQuery extends LuceneTestCase { public void testSpans2() throws Exception { SpanQuery qA1 = new SpanTermQuery(new Term("gender", "female")); SpanQuery qA2 = new SpanTermQuery(new Term("first", "james")); - SpanQuery qA = new SpanOrQuery(new SpanQuery[] - { qA1, new FieldMaskingSpanQuery(qA2, "gender")}); + SpanQuery qA = new SpanOrQuery(qA1, new FieldMaskingSpanQuery(qA2, "gender")); SpanQuery qB = new SpanTermQuery(new Term("last", "jones")); SpanQuery q = new SpanNearQuery(new SpanQuery[] { new FieldMaskingSpanQuery(qA, "id"), diff --git a/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java b/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java index 7971b75d241..92d0742055f 100644 --- a/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java +++ b/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java @@ -331,8 +331,8 @@ public class TestSpans extends LuceneTestCase { Spans spans = orSpans(new String[0]); assertFalse("empty next", spans.next()); - SpanOrQuery a = new SpanOrQuery( new SpanQuery[0] ); - SpanOrQuery b = new SpanOrQuery( new SpanQuery[0] ); + SpanOrQuery a = new SpanOrQuery(); + SpanOrQuery b = new SpanOrQuery(); assertTrue("empty should equal", a.equals(b)); } diff --git a/lucene/src/test/org/apache/lucene/store/MockDirectoryWrapper.java b/lucene/src/test/org/apache/lucene/store/MockDirectoryWrapper.java index bea2c6eded4..3bb807add18 100644 --- a/lucene/src/test/org/apache/lucene/store/MockDirectoryWrapper.java +++ b/lucene/src/test/org/apache/lucene/store/MockDirectoryWrapper.java @@ -97,17 +97,6 @@ public class MockDirectoryWrapper extends Directory { preventDoubleWrite = value; } - @Deprecated - @Override - public void sync(String name) throws IOException { - maybeYield(); - maybeThrowDeterministicException(); - if (crashed) - throw new IOException("cannot sync after crash"); - unSyncedFiles.remove(name); - delegate.sync(name); - } - @Override public synchronized void sync(Collection names) throws IOException { maybeYield(); diff --git a/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java b/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java index 868332d8f49..73e4e0a448d 100755 --- a/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java +++ b/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java @@ -22,6 +22,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Random; @@ -243,10 +244,12 @@ public class TestBufferedIndexInput extends LuceneTestCase { File indexDir = new File(TEMP_DIR, "testSetBufferSize"); MockFSDirectory dir = new MockFSDirectory(indexDir, random); try { - IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig( - TEST_VERSION_CURRENT, new MockAnalyzer()) - .setOpenMode(OpenMode.CREATE)); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); + IndexWriter writer = new IndexWriter( + dir, + new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setOpenMode(OpenMode.CREATE). + setMergePolicy(newLogMergePolicy(false)) + ); for(int i=0;i<37;i++) { Document doc = new Document(); doc.add(newField("content", "aaa bbb ccc ddd" + i, Field.Store.YES, Field.Index.ANALYZED)); @@ -366,12 +369,13 @@ public class TestBufferedIndexInput extends LuceneTestCase { { return dir.listAll(); } - + @Override + public void sync(Collection names) throws IOException { + dir.sync(names); + } @Override public long fileLength(String name) throws IOException { return dir.fileLength(name); } - - } } diff --git a/lucene/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java b/lucene/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java index d5afbb26755..e9cf2b6a879 100644 --- a/lucene/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java +++ b/lucene/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java @@ -44,9 +44,11 @@ public class TestFileSwitchDirectory extends LuceneTestCase { Directory secondaryDir = new MockDirectoryWrapper(random, new RAMDirectory()); FileSwitchDirectory fsd = new FileSwitchDirectory(fileExtensions, primaryDir, secondaryDir, true); - IndexWriter writer = new IndexWriter(fsd, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false); - ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false); + IndexWriter writer = new IndexWriter( + fsd, + new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()). + setMergePolicy(newLogMergePolicy(false)) + ); TestIndexWriterReader.createIndexNoClose(true, "ram", writer); IndexReader reader = IndexReader.open(writer); assertEquals(100, reader.maxDoc()); diff --git a/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java b/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java index 807f22fbf5e..565d804e8d5 100644 --- a/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java +++ b/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java @@ -17,16 +17,26 @@ package org.apache.lucene.util; * limitations under the License. */ +import java.io.File; +import java.io.IOException; +import java.io.PrintStream; +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Field; import org.apache.lucene.document.Field.Index; import org.apache.lucene.document.Field.Store; import org.apache.lucene.document.Field.TermVector; -import org.apache.lucene.index.ConcurrentMergeScheduler; -import org.apache.lucene.index.IndexWriterConfig; -import org.apache.lucene.index.LogDocMergePolicy; -import org.apache.lucene.index.LogMergePolicy; -import org.apache.lucene.index.SerialMergeScheduler; +import org.apache.lucene.index.*; import org.apache.lucene.index.codecs.Codec; import org.apache.lucene.index.codecs.CodecProvider; import org.apache.lucene.index.codecs.mockintblock.MockFixedIntBlockCodec; @@ -43,15 +53,7 @@ import org.apache.lucene.search.FieldCache.CacheEntry; import org.apache.lucene.store.Directory; import org.apache.lucene.store.MockDirectoryWrapper; import org.apache.lucene.util.FieldCacheSanityChecker.Insanity; -import org.junit.Assume; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; +import org.junit.*; import org.junit.rules.TestWatchman; import org.junit.runner.Description; import org.junit.runner.RunWith; @@ -62,30 +64,6 @@ import org.junit.runners.BlockJUnit4ClassRunner; import org.junit.runners.model.FrameworkMethod; import org.junit.runners.model.InitializationError; -import java.io.File; -import java.io.IOException; -import java.io.PrintStream; -import java.lang.annotation.Documented; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.IdentityHashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Random; -import java.util.TimeZone; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - /** * Base class for all Lucene unit tests, Junit3 or Junit4 variant. *

@@ -177,6 +155,21 @@ public abstract class LuceneTestCase extends Assert { /** Used to track if setUp and tearDown are called correctly from subclasses */ private boolean setup; + /** + * Some tests expect the directory to contain a single segment, and want to do tests on that segment's reader. + * This is an utility method to help them. + */ + public static SegmentReader getOnlySegmentReader(IndexReader reader) { + if (reader instanceof SegmentReader) + return (SegmentReader) reader; + + IndexReader[] subReaders = reader.getSequentialSubReaders(); + if (subReaders.length != 1) + throw new IllegalArgumentException(reader + " has " + subReaders.length + " segments instead of exactly one"); + + return (SegmentReader) subReaders[0]; + } + private static class UncaughtExceptionEntry { public final Thread thread; public final Throwable exception; @@ -308,7 +301,7 @@ public abstract class LuceneTestCase extends Assert { } } - /** @deprecated: until we fix no-fork problems in solr tests */ + /** @deprecated (4.0) until we fix no-fork problems in solr tests */ @Deprecated private static List testClassesRun = new ArrayList(); @@ -543,8 +536,7 @@ public abstract class LuceneTestCase extends Assert { } } - // These deprecated methods should be removed soon, when all tests using no Epsilon are fixed: - + // @deprecated (4.0) These deprecated methods should be removed soon, when all tests using no Epsilon are fixed: @Deprecated static public void assertEquals(double expected, double actual) { assertEquals(null, expected, actual); @@ -608,6 +600,10 @@ public abstract class LuceneTestCase extends Assert { Assume.assumeNoException(e == null ? null : new TestIgnoredException(msg, e)); } + public static Set asSet(T... args) { + return new HashSet(Arrays.asList(args)); + } + /** * Convinience method for logging an iterator. * @@ -646,9 +642,6 @@ public abstract class LuceneTestCase extends Assert { public static IndexWriterConfig newIndexWriterConfig(Random r, Version v, Analyzer a) { IndexWriterConfig c = new IndexWriterConfig(v, a); - if (r.nextBoolean()) { - c.setMergePolicy(new LogDocMergePolicy()); - } if (r.nextBoolean()) { c.setMergeScheduler(new SerialMergeScheduler()); } @@ -665,24 +658,52 @@ public abstract class LuceneTestCase extends Assert { if (r.nextBoolean()) { c.setMaxThreadStates(_TestUtil.nextInt(r, 1, 20)); } - - if (c.getMergePolicy() instanceof LogMergePolicy) { - LogMergePolicy logmp = (LogMergePolicy) c.getMergePolicy(); - logmp.setUseCompoundDocStore(r.nextBoolean()); - logmp.setUseCompoundFile(r.nextBoolean()); - logmp.setCalibrateSizeByDeletes(r.nextBoolean()); - if (r.nextInt(3) == 2) { - logmp.setMergeFactor(2); - } else { - logmp.setMergeFactor(_TestUtil.nextInt(r, 2, 20)); - } - } - + + c.setMergePolicy(newLogMergePolicy(r)); + c.setReaderPooling(r.nextBoolean()); c.setReaderTermsIndexDivisor(_TestUtil.nextInt(r, 1, 4)); return c; } + public static LogMergePolicy newLogMergePolicy() { + return newLogMergePolicy(random); + } + + public static LogMergePolicy newLogMergePolicy(Random r) { + LogMergePolicy logmp = r.nextBoolean() ? new LogDocMergePolicy() : new LogByteSizeMergePolicy(); + logmp.setUseCompoundDocStore(r.nextBoolean()); + logmp.setUseCompoundFile(r.nextBoolean()); + logmp.setCalibrateSizeByDeletes(r.nextBoolean()); + if (r.nextInt(3) == 2) { + logmp.setMergeFactor(2); + } else { + logmp.setMergeFactor(_TestUtil.nextInt(r, 2, 20)); + } + return logmp; + } + + public static LogMergePolicy newLogMergePolicy(boolean useCFS) { + LogMergePolicy logmp = newLogMergePolicy(); + logmp.setUseCompoundFile(useCFS); + logmp.setUseCompoundDocStore(useCFS); + return logmp; + } + + public static LogMergePolicy newLogMergePolicy(boolean useCFS, int mergeFactor) { + LogMergePolicy logmp = newLogMergePolicy(); + logmp.setUseCompoundFile(useCFS); + logmp.setUseCompoundDocStore(useCFS); + logmp.setMergeFactor(mergeFactor); + return logmp; + } + + public static LogMergePolicy newLogMergePolicy(int mergeFactor) { + LogMergePolicy logmp = newLogMergePolicy(); + logmp.setMergeFactor(mergeFactor); + return logmp; + } + /** * Returns a new Dictionary instance. Use this when the test does not * care about the specific Directory implementation (most tests). diff --git a/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java b/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java index 00181391a0e..672edc315cd 100644 --- a/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java +++ b/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java @@ -70,7 +70,7 @@ public class TestFieldCacheSanityChecker extends LuceneTestCase { wB.close(); readerA = IndexReader.open(dirA, true); readerB = IndexReader.open(dirB, true); - readerX = new MultiReader(new IndexReader[] { readerA, readerB }); + readerX = new MultiReader(readerA, readerB); } @Override diff --git a/lucene/src/test/org/apache/lucene/util/TestIndexableBinaryStringTools.java b/lucene/src/test/org/apache/lucene/util/TestIndexableBinaryStringTools.java index 2642e70d4da..dd172785585 100644 --- a/lucene/src/test/org/apache/lucene/util/TestIndexableBinaryStringTools.java +++ b/lucene/src/test/org/apache/lucene/util/TestIndexableBinaryStringTools.java @@ -17,33 +17,10 @@ package org.apache.lucene.util; * limitations under the License. */ -import java.nio.CharBuffer; -import java.nio.ByteBuffer; - public class TestIndexableBinaryStringTools extends LuceneTestCase { private static final int NUM_RANDOM_TESTS = 2000 * RANDOM_MULTIPLIER; private static final int MAX_RANDOM_BINARY_LENGTH = 300 * RANDOM_MULTIPLIER; - /** @deprecated remove this test for Lucene 4.0 */ - @Deprecated - public void testSingleBinaryRoundTripNIO() { - byte[] binary = new byte[] - { (byte)0x23, (byte)0x98, (byte)0x13, (byte)0xE4, (byte)0x76, (byte)0x41, - (byte)0xB2, (byte)0xC9, (byte)0x7F, (byte)0x0A, (byte)0xA6, (byte)0xD8 }; - - ByteBuffer binaryBuf = ByteBuffer.wrap(binary); - CharBuffer encoded = IndexableBinaryStringTools.encode(binaryBuf); - ByteBuffer decoded = IndexableBinaryStringTools.decode(encoded); - assertEquals("Round trip decode/decode returned different results:" - + System.getProperty("line.separator") - + "original: " + binaryDumpNIO(binaryBuf) - + System.getProperty("line.separator") - + " encoded: " + charArrayDumpNIO(encoded) - + System.getProperty("line.separator") - + " decoded: " + binaryDumpNIO(decoded), - binaryBuf, decoded); - } - public void testSingleBinaryRoundTrip() { byte[] binary = new byte[] { (byte) 0x23, (byte) 0x98, (byte) 0x13, (byte) 0xE4, (byte) 0x76, (byte) 0x41, (byte) 0xB2, (byte) 0xC9, @@ -71,64 +48,6 @@ public class TestIndexableBinaryStringTools extends LuceneTestCase { binaryDump(binary, binary.length), binaryDump(decoded, decoded.length)); } - /** @deprecated remove this test for Lucene 4.0 */ - @Deprecated - public void testEncodedSortabilityNIO() { - byte[] originalArray1 = new byte[MAX_RANDOM_BINARY_LENGTH]; - ByteBuffer originalBuf1 = ByteBuffer.wrap(originalArray1); - char[] originalString1 = new char[MAX_RANDOM_BINARY_LENGTH]; - CharBuffer originalStringBuf1 = CharBuffer.wrap(originalString1); - char[] encoded1 = new char[IndexableBinaryStringTools.getEncodedLength(originalBuf1)]; - CharBuffer encodedBuf1 = CharBuffer.wrap(encoded1); - byte[] original2 = new byte[MAX_RANDOM_BINARY_LENGTH]; - ByteBuffer originalBuf2 = ByteBuffer.wrap(original2); - char[] originalString2 = new char[MAX_RANDOM_BINARY_LENGTH]; - CharBuffer originalStringBuf2 = CharBuffer.wrap(originalString2); - char[] encoded2 = new char[IndexableBinaryStringTools.getEncodedLength(originalBuf2)]; - CharBuffer encodedBuf2 = CharBuffer.wrap(encoded2); - for (int testNum = 0 ; testNum < NUM_RANDOM_TESTS ; ++testNum) { - int numBytes1 = random.nextInt(MAX_RANDOM_BINARY_LENGTH - 1) + 1; // Min == 1 - originalBuf1.limit(numBytes1); - originalStringBuf1.limit(numBytes1); - - for (int byteNum = 0 ; byteNum < numBytes1 ; ++byteNum) { - int randomInt = random.nextInt(0x100); - originalArray1[byteNum] = (byte) randomInt; - originalString1[byteNum] = (char)randomInt; - } - - int numBytes2 = random.nextInt(MAX_RANDOM_BINARY_LENGTH - 1) + 1; // Min == 1 - originalBuf2.limit(numBytes2); - originalStringBuf2.limit(numBytes2); - for (int byteNum = 0 ; byteNum < numBytes2 ; ++byteNum) { - int randomInt = random.nextInt(0x100); - original2[byteNum] = (byte)randomInt; - originalString2[byteNum] = (char)randomInt; - } - int originalComparison = originalStringBuf1.compareTo(originalStringBuf2); - originalComparison = originalComparison < 0 ? -1 : originalComparison > 0 ? 1 : 0; - - IndexableBinaryStringTools.encode(originalBuf1, encodedBuf1); - IndexableBinaryStringTools.encode(originalBuf2, encodedBuf2); - - int encodedComparison = encodedBuf1.compareTo(encodedBuf2); - encodedComparison = encodedComparison < 0 ? -1 : encodedComparison > 0 ? 1 : 0; - - assertEquals("Test #" + (testNum + 1) - + ": Original bytes and encoded chars compare differently:" - + System.getProperty("line.separator") - + " binary 1: " + binaryDumpNIO(originalBuf1) - + System.getProperty("line.separator") - + " binary 2: " + binaryDumpNIO(originalBuf2) - + System.getProperty("line.separator") - + "encoded 1: " + charArrayDumpNIO(encodedBuf1) - + System.getProperty("line.separator") - + "encoded 2: " + charArrayDumpNIO(encodedBuf2) - + System.getProperty("line.separator"), - originalComparison, encodedComparison); - } - } - public void testEncodedSortability() { byte[] originalArray1 = new byte[MAX_RANDOM_BINARY_LENGTH]; char[] originalString1 = new char[MAX_RANDOM_BINARY_LENGTH]; @@ -192,16 +111,6 @@ public class TestIndexableBinaryStringTools extends LuceneTestCase { } } - /** @deprecated remove this test for Lucene 4.0 */ - @Deprecated - public void testEmptyInputNIO() { - byte[] binary = new byte[0]; - CharBuffer encoded = IndexableBinaryStringTools.encode(ByteBuffer.wrap(binary)); - ByteBuffer decoded = IndexableBinaryStringTools.decode(encoded); - assertNotNull("decode() returned null", decoded); - assertEquals("decoded empty input was not empty", decoded.limit(), 0); - } - public void testEmptyInput() { byte[] binary = new byte[0]; @@ -220,23 +129,6 @@ public class TestIndexableBinaryStringTools extends LuceneTestCase { assertEquals("decoded empty input was not empty", decoded.length, 0); } - /** @deprecated remove this test for Lucene 4.0 */ - @Deprecated - public void testAllNullInputNIO() { - byte[] binary = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - ByteBuffer binaryBuf = ByteBuffer.wrap(binary); - CharBuffer encoded = IndexableBinaryStringTools.encode(binaryBuf); - assertNotNull("encode() returned null", encoded); - ByteBuffer decodedBuf = IndexableBinaryStringTools.decode(encoded); - assertNotNull("decode() returned null", decodedBuf); - assertEquals("Round trip decode/decode returned different results:" - + System.getProperty("line.separator") - + " original: " + binaryDumpNIO(binaryBuf) - + System.getProperty("line.separator") - + "decodedBuf: " + binaryDumpNIO(decodedBuf), - binaryBuf, decodedBuf); - } - public void testAllNullInput() { byte[] binary = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -260,35 +152,6 @@ public class TestIndexableBinaryStringTools extends LuceneTestCase { binaryDump(binary, binary.length), binaryDump(decoded, decoded.length)); } - /** @deprecated remove this test for Lucene 4.0 */ - @Deprecated - public void testRandomBinaryRoundTripNIO() { - byte[] binary = new byte[MAX_RANDOM_BINARY_LENGTH]; - ByteBuffer binaryBuf = ByteBuffer.wrap(binary); - char[] encoded = new char[IndexableBinaryStringTools.getEncodedLength(binaryBuf)]; - CharBuffer encodedBuf = CharBuffer.wrap(encoded); - byte[] decoded = new byte[MAX_RANDOM_BINARY_LENGTH]; - ByteBuffer decodedBuf = ByteBuffer.wrap(decoded); - for (int testNum = 0 ; testNum < NUM_RANDOM_TESTS ; ++testNum) { - int numBytes = random.nextInt(MAX_RANDOM_BINARY_LENGTH - 1) + 1 ; // Min == 1 - binaryBuf.limit(numBytes); - for (int byteNum = 0 ; byteNum < numBytes ; ++byteNum) { - binary[byteNum] = (byte)random.nextInt(0x100); - } - IndexableBinaryStringTools.encode(binaryBuf, encodedBuf); - IndexableBinaryStringTools.decode(encodedBuf, decodedBuf); - assertEquals("Test #" + (testNum + 1) - + ": Round trip decode/decode returned different results:" - + System.getProperty("line.separator") - + " original: " + binaryDumpNIO(binaryBuf) - + System.getProperty("line.separator") - + "encodedBuf: " + charArrayDumpNIO(encodedBuf) - + System.getProperty("line.separator") - + "decodedBuf: " + binaryDumpNIO(decodedBuf), - binaryBuf, decodedBuf); - } - } - public void testRandomBinaryRoundTrip() { byte[] binary = new byte[MAX_RANDOM_BINARY_LENGTH]; char[] encoded = new char[MAX_RANDOM_BINARY_LENGTH * 10]; @@ -323,13 +186,6 @@ public class TestIndexableBinaryStringTools extends LuceneTestCase { } } - /** @deprecated remove this method for Lucene 4.0 */ - @Deprecated - public String binaryDumpNIO(ByteBuffer binaryBuf) { - return binaryDump(binaryBuf.array(), - binaryBuf.limit() - binaryBuf.arrayOffset()); - } - public String binaryDump(byte[] binary, int numBytes) { StringBuilder buf = new StringBuilder(); for (int byteNum = 0 ; byteNum < numBytes ; ++byteNum) { @@ -344,13 +200,7 @@ public class TestIndexableBinaryStringTools extends LuceneTestCase { } return buf.toString(); } - /** @deprecated remove this method for Lucene 4.0 */ - @Deprecated - public String charArrayDumpNIO(CharBuffer charBuf) { - return charArrayDump(charBuf.array(), - charBuf.limit() - charBuf.arrayOffset()); - } - + public String charArrayDump(char[] charArray, int numBytes) { StringBuilder buf = new StringBuilder(); for (int charNum = 0 ; charNum < numBytes ; ++charNum) { diff --git a/lucene/src/test/org/apache/lucene/util/TestStringHelper.java b/lucene/src/test/org/apache/lucene/util/TestStringHelper.java deleted file mode 100644 index 9793f56dcc8..00000000000 --- a/lucene/src/test/org/apache/lucene/util/TestStringHelper.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.apache.lucene.util; - -/** - * 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. - */ - -import org.apache.lucene.util.LuceneTestCase; - -public class TestStringHelper extends LuceneTestCase { - - - public void testStringDifference() { - String test1 = "test"; - String test2 = "testing"; - - int result = StringHelper.stringDifference(test1, test2); - assertTrue(result == 4); - - test2 = "foo"; - result = StringHelper.stringDifference(test1, test2); - assertTrue(result == 0); - - test2 = "test"; - result = StringHelper.stringDifference(test1, test2); - assertTrue(result == 4); - } -} diff --git a/lucene/src/test/org/apache/lucene/util/TestVersion.java b/lucene/src/test/org/apache/lucene/util/TestVersion.java index b2e854098dd..6a48569482a 100644 --- a/lucene/src/test/org/apache/lucene/util/TestVersion.java +++ b/lucene/src/test/org/apache/lucene/util/TestVersion.java @@ -23,9 +23,9 @@ public class TestVersion extends LuceneTestCase { for (Version v : Version.values()) { assertTrue("LUCENE_CURRENT must be always onOrAfter("+v+")", Version.LUCENE_CURRENT.onOrAfter(v)); } - assertTrue(Version.LUCENE_30.onOrAfter(Version.LUCENE_29)); - assertTrue(Version.LUCENE_30.onOrAfter(Version.LUCENE_30)); - assertFalse(Version.LUCENE_29.onOrAfter(Version.LUCENE_30)); + assertTrue(Version.LUCENE_40.onOrAfter(Version.LUCENE_31)); + assertTrue(Version.LUCENE_40.onOrAfter(Version.LUCENE_40)); + assertFalse(Version.LUCENE_30.onOrAfter(Version.LUCENE_31)); } } diff --git a/lucene/src/test/org/apache/lucene/util/_TestUtil.java b/lucene/src/test/org/apache/lucene/util/_TestUtil.java index 7ae6f4e0cfc..70af1dec347 100644 --- a/lucene/src/test/org/apache/lucene/util/_TestUtil.java +++ b/lucene/src/test/org/apache/lucene/util/_TestUtil.java @@ -229,7 +229,7 @@ public class _TestUtil { // count lowish public static void reduceOpenFiles(IndexWriter w) { // keep number of open files lowish - LogMergePolicy lmp = (LogMergePolicy) w.getMergePolicy(); + LogMergePolicy lmp = (LogMergePolicy) w.getConfig().getMergePolicy(); lmp.setMergeFactor(Math.min(5, lmp.getMergeFactor())); MergeScheduler ms = w.getConfig().getMergeScheduler(); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java index 10879b8b8b4..43d64b9169e 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java @@ -61,14 +61,6 @@ public final class ArabicAnalyzer extends StopwordAnalyzerBase { */ public final static String DEFAULT_STOPWORD_FILE = "stopwords.txt"; - /** - * The comment character in the stopwords file. All lines prefixed with this will be ignored - * @deprecated use {@link WordlistLoader#getWordSet(File, String)} directly - */ - // TODO make this private - @Deprecated - public static final String STOPWORDS_COMMENT = "#"; - /** * Returns an unmodifiable instance of the default stop-words set. * @return an unmodifiable instance of the default stop-words set. @@ -86,7 +78,7 @@ public final class ArabicAnalyzer extends StopwordAnalyzerBase { static { try { - DEFAULT_STOP_SET = loadStopwordSet(false, ArabicAnalyzer.class, DEFAULT_STOPWORD_FILE, STOPWORDS_COMMENT); + DEFAULT_STOP_SET = loadStopwordSet(false, ArabicAnalyzer.class, DEFAULT_STOPWORD_FILE, "#"); } catch (IOException ex) { // default set should always be present as it is part of the // distribution (JAR) @@ -134,33 +126,6 @@ public final class ArabicAnalyzer extends StopwordAnalyzerBase { matchVersion, stemExclusionSet)); } - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #ArabicAnalyzer(Version, Set)} instead - */ - @Deprecated - public ArabicAnalyzer( Version matchVersion, String... stopwords ) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords )); - } - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #ArabicAnalyzer(Version, Set)} instead - */ - @Deprecated - public ArabicAnalyzer( Version matchVersion, Hashtable stopwords ) { - this(matchVersion, stopwords.keySet()); - } - - /** - * Builds an analyzer with the given stop words. Lines can be commented out using {@link #STOPWORDS_COMMENT} - * @deprecated use {@link #ArabicAnalyzer(Version, Set)} instead - */ - @Deprecated - public ArabicAnalyzer( Version matchVersion, File stopwords ) throws IOException { - this(matchVersion, WordlistLoader.getWordSet( stopwords, STOPWORDS_COMMENT)); - } - /** * Creates * {@link org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicLetterTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicLetterTokenizer.java index 09ccecd8ff8..243b0c7566b 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicLetterTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicLetterTokenizer.java @@ -40,8 +40,6 @@ import org.apache.lucene.util.Version; * */ public class ArabicLetterTokenizer extends LetterTokenizer { - - /** * Construct a new ArabicLetterTokenizer. * @param matchVersion Lucene version @@ -84,41 +82,6 @@ public class ArabicLetterTokenizer extends LetterTokenizer { } /** - * Construct a new ArabicLetterTokenizer. - * - * @deprecated use {@link #ArabicLetterTokenizer(Version, Reader)} instead. This will - * be removed in Lucene 4.0. - */ - @Deprecated - public ArabicLetterTokenizer(Reader in) { - super(in); - } - - /** - * Construct a new ArabicLetterTokenizer using a given {@link AttributeSource}. - * - * @deprecated use {@link #ArabicLetterTokenizer(Version, AttributeSource, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public ArabicLetterTokenizer(AttributeSource source, Reader in) { - super(source, in); - } - - /** - * Construct a new ArabicLetterTokenizer using a given - * {@link org.apache.lucene.util.AttributeSource.AttributeFactory}. - * - * @deprecated use {@link #ArabicLetterTokenizer(Version, AttributeSource.AttributeFactory, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public ArabicLetterTokenizer(AttributeFactory factory, Reader in) { - super(factory, in); - } - - - /** * Allows for Letter category or NonspacingMark category * @see org.apache.lucene.analysis.core.LetterTokenizer#isTokenChar(int) */ diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java index 729009e3e2a..400c8e66368 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java @@ -17,7 +17,6 @@ package org.apache.lucene.analysis.bg; * limitations under the License. */ -import java.io.File; import java.io.IOException; import java.io.Reader; import java.util.Set; @@ -32,7 +31,6 @@ import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.StopwordAnalyzerBase; -import org.apache.lucene.analysis.util.WordlistLoader; import org.apache.lucene.util.Version; /** @@ -44,7 +42,6 @@ import org.apache.lucene.util.Version; *

*/ public final class BulgarianAnalyzer extends StopwordAnalyzerBase { - /** * File containing default Bulgarian stopwords. * @@ -53,16 +50,7 @@ public final class BulgarianAnalyzer extends StopwordAnalyzerBase { * BSD-Licensed. */ public final static String DEFAULT_STOPWORD_FILE = "stopwords.txt"; - - /** - * The comment character in the stopwords file. All lines prefixed with this - * will be ignored - * @deprecated use {@link WordlistLoader#getWordSet(File, String)} directly - */ - //TODO make this private - @Deprecated - public static final String STOPWORDS_COMMENT = "#"; - + /** * Returns an unmodifiable instance of the default stop-words set. * @@ -81,7 +69,7 @@ public final class BulgarianAnalyzer extends StopwordAnalyzerBase { static { try { - DEFAULT_STOP_SET = loadStopwordSet(false, BulgarianAnalyzer.class, DEFAULT_STOPWORD_FILE, STOPWORDS_COMMENT); + DEFAULT_STOP_SET = loadStopwordSet(false, BulgarianAnalyzer.class, DEFAULT_STOPWORD_FILE, "#"); } catch (IOException ex) { // default set should always be present as it is part of the // distribution (JAR) diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java index 94b0300572c..1b144b45918 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java @@ -17,20 +17,17 @@ package org.apache.lucene.analysis.br; * limitations under the License. */ -import java.io.File; import java.io.IOException; import java.io.Reader; import java.util.Collections; -import java.util.HashSet; -import java.util.Map; import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.core.LowerCaseFilter; import org.apache.lucene.analysis.core.StopFilter; import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; @@ -51,34 +48,6 @@ import org.apache.lucene.util.Version; * dependent settings as {@link StandardAnalyzer}.

*/ public final class BrazilianAnalyzer extends StopwordAnalyzerBase { - - /** - * List of typical Brazilian Portuguese stopwords. - * @deprecated use {@link #getDefaultStopSet()} instead - */ - // TODO make this private in 3.1 - @Deprecated - public final static String[] BRAZILIAN_STOP_WORDS = { - "a","ainda","alem","ambas","ambos","antes", - "ao","aonde","aos","apos","aquele","aqueles", - "as","assim","com","como","contra","contudo", - "cuja","cujas","cujo","cujos","da","das","de", - "dela","dele","deles","demais","depois","desde", - "desta","deste","dispoe","dispoem","diversa", - "diversas","diversos","do","dos","durante","e", - "ela","elas","ele","eles","em","entao","entre", - "essa","essas","esse","esses","esta","estas", - "este","estes","ha","isso","isto","logo","mais", - "mas","mediante","menos","mesma","mesmas","mesmo", - "mesmos","na","nas","nao","nas","nem","nesse","neste", - "nos","o","os","ou","outra","outras","outro","outros", - "pelas","pelas","pelo","pelos","perante","pois","por", - "porque","portanto","proprio","propios","quais","qual", - "qualquer","quando","quanto","que","quem","quer","se", - "seja","sem","sendo","seu","seus","sob","sobre","sua", - "suas","tal","tambem","teu","teus","toda","todas","todo", - "todos","tua","tuas","tudo","um","uma","umas","uns"}; - /** File containing default Brazilian Portuguese stopwords. */ public final static String DEFAULT_STOPWORD_FILE = "stopwords.txt"; @@ -110,7 +79,6 @@ public final class BrazilianAnalyzer extends StopwordAnalyzerBase { /** * Contains words that should be indexed but not stemmed. */ - // TODO make this private in 3.1 private Set excltable = Collections.emptySet(); /** @@ -147,62 +115,6 @@ public final class BrazilianAnalyzer extends StopwordAnalyzerBase { .copy(matchVersion, stemExclusionSet)); } - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #BrazilianAnalyzer(Version, Set)} instead - */ - @Deprecated - public BrazilianAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords)); - } - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #BrazilianAnalyzer(Version, Set)} instead - */ - @Deprecated - public BrazilianAnalyzer(Version matchVersion, Map stopwords) { - this(matchVersion, stopwords.keySet()); - } - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #BrazilianAnalyzer(Version, Set)} instead - */ - @Deprecated - public BrazilianAnalyzer(Version matchVersion, File stopwords) - throws IOException { - this(matchVersion, WordlistLoader.getWordSet(stopwords)); - } - - /** - * Builds an exclusionlist from an array of Strings. - * @deprecated use {@link #BrazilianAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable( String... exclusionlist ) { - excltable = StopFilter.makeStopSet( matchVersion, exclusionlist ); - setPreviousTokenStream(null); // force a new stemmer to be created - } - /** - * Builds an exclusionlist from a {@link Map}. - * @deprecated use {@link #BrazilianAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable( Map exclusionlist ) { - excltable = new HashSet(exclusionlist.keySet()); - setPreviousTokenStream(null); // force a new stemmer to be created - } - /** - * Builds an exclusionlist from the words contained in the given file. - * @deprecated use {@link #BrazilianAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable( File exclusionlist ) throws IOException { - excltable = WordlistLoader.getWordSet( exclusionlist ); - setPreviousTokenStream(null); // force a new stemmer to be created - } - /** * Creates * {@link org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java index a6c42eb9943..c7ef2f6717d 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java @@ -20,11 +20,11 @@ package org.apache.lucene.analysis.br; import java.io.IOException; import java.util.Set; -import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; // for javadoc import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.KeywordAttribute; +import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.tokenattributes.KeywordAttribute; /** * A {@link TokenFilter} that applies {@link BrazilianStemmer}. @@ -55,19 +55,6 @@ public final class BrazilianStemFilter extends TokenFilter { super(in); } - /** - * Creates a new BrazilianStemFilter - * - * @param in the source {@link TokenStream} - * @param exclusiontable a set of terms that should be prevented from being stemmed. - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated - public BrazilianStemFilter(TokenStream in, Set exclusiontable) { - this(in); - this.exclusions = exclusiontable; - } - @Override public boolean incrementToken() throws IOException { if (input.incrementToken()) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java index 00a7911dcae..d5796812d62 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java @@ -17,17 +17,16 @@ package org.apache.lucene.analysis.cjk; * limitations under the License. */ +import java.io.IOException; +import java.io.Reader; +import java.util.Set; + import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.core.StopFilter; -import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.StopwordAnalyzerBase; import org.apache.lucene.util.Version; -import java.io.Reader; -import java.util.Arrays; -import java.util.Set; - /** * An {@link Analyzer} that tokenizes text with {@link CJKTokenizer} and @@ -35,28 +34,13 @@ import java.util.Set; * */ public final class CJKAnalyzer extends StopwordAnalyzerBase { - //~ Static fields/initializers --------------------------------------------- - /** - * An array containing some common English words that are not usually + * File containing default CJK stopwords. + *

+ * Currently it concains some common English words that are not usually * useful for searching and some double-byte interpunctions. - * @deprecated use {@link #getDefaultStopSet()} instead */ - // TODO make this final in 3.1 - - // this might be revised and merged with StopFilter stop words too - @Deprecated - public final static String[] STOP_WORDS = { - "a", "and", "are", "as", "at", "be", - "but", "by", "for", "if", "in", - "into", "is", "it", "no", "not", - "of", "on", "or", "s", "such", "t", - "that", "the", "their", "then", - "there", "these", "they", "this", - "to", "was", "will", "with", "", - "www" - }; - - //~ Instance fields -------------------------------------------------------- + public final static String DEFAULT_STOPWORD_FILE = "stopwords.txt"; /** * Returns an unmodifiable instance of the default stop-words set. @@ -67,12 +51,18 @@ public final class CJKAnalyzer extends StopwordAnalyzerBase { } private static class DefaultSetHolder { - static final Set DEFAULT_STOP_SET = CharArraySet - .unmodifiableSet(new CharArraySet(Version.LUCENE_CURRENT, Arrays.asList(STOP_WORDS), - false)); - } + static final Set DEFAULT_STOP_SET; - //~ Constructors ----------------------------------------------------------- + static { + try { + DEFAULT_STOP_SET = loadStopwordSet(false, CJKAnalyzer.class, DEFAULT_STOPWORD_FILE, "#"); + } catch (IOException ex) { + // default set should always be present as it is part of the + // distribution (JAR) + throw new RuntimeException("Unable to load default stopword set"); + } + } + } /** * Builds an analyzer which removes words in {@link #STOP_WORDS}. @@ -93,19 +83,6 @@ public final class CJKAnalyzer extends StopwordAnalyzerBase { super(matchVersion, stopwords); } - /** - * Builds an analyzer which removes words in the provided array. - * - * @param stopWords stop word array - * @deprecated use {@link #CJKAnalyzer(Version, Set)} instead - */ - @Deprecated - public CJKAnalyzer(Version matchVersion, String... stopWords) { - super(matchVersion, StopFilter.makeStopSet(matchVersion, stopWords)); - } - - //~ Methods ---------------------------------------------------------------- - @Override protected TokenStreamComponents createComponents(String fieldName, Reader reader) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseAnalyzer.java index c04c3499ee4..90d7194ef00 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseAnalyzer.java @@ -27,8 +27,8 @@ import org.apache.lucene.analysis.Tokenizer; /** * An {@link Analyzer} that tokenizes text with {@link ChineseTokenizer} and * filters with {@link ChineseFilter} - * @deprecated Use {@link StandardAnalyzer} instead, which has the same functionality. - * This analyzer will be removed in Lucene 4.0 + * @deprecated (3.1) Use {@link StandardAnalyzer} instead, which has the same functionality. + * This analyzer will be removed in Lucene 5.0 */ @Deprecated public final class ChineseAnalyzer extends ReusableAnalyzerBase { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseFilter.java index 22cd6cda90c..60503da29c9 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseFilter.java @@ -42,8 +42,8 @@ import org.apache.lucene.util.Version; * * * @version 1.0 - * @deprecated Use {@link StopFilter} instead, which has the same functionality. - * This filter will be removed in Lucene 4.0 + * @deprecated (3.1) Use {@link StopFilter} instead, which has the same functionality. + * This filter will be removed in Lucene 5.0 */ @Deprecated public final class ChineseFilter extends TokenFilter { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseTokenizer.java index c3f50998da9..13890039d6d 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/cn/ChineseTokenizer.java @@ -53,8 +53,8 @@ import org.apache.lucene.util.AttributeSource; * CJKTokenizer will not work. *

* @version 1.0 - * @deprecated Use {@link StandardTokenizer} instead, which has the same functionality. - * This filter will be removed in Lucene 4.0 + * @deprecated (3.1) Use {@link StandardTokenizer} instead, which has the same functionality. + * This filter will be removed in Lucene 5.0 */ @Deprecated public final class ChineseTokenizer extends Tokenizer { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java index 7942f44a6b5..a9bbfa8a780 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java @@ -61,18 +61,6 @@ public final class CommonGramsFilter extends TokenFilter { private boolean lastWasCommon; private State savedState; - /** @deprecated Use {@link #CommonGramsFilter(Version, TokenStream, Set)} instead */ - @Deprecated - public CommonGramsFilter(TokenStream input, Set commonWords) { - this(Version.LUCENE_29, input, commonWords); - } - - /** @deprecated Use {@link #CommonGramsFilter(Version, TokenStream, Set, boolean)} instead */ - @Deprecated - public CommonGramsFilter(TokenStream input, Set commonWords, boolean ignoreCase) { - this(Version.LUCENE_29, input, commonWords, ignoreCase); - } - /** * Construct a token stream filtering the given input using a Set of common * words to create bigrams. Outputs both unigrams with position increment and @@ -113,66 +101,6 @@ public final class CommonGramsFilter extends TokenFilter { } } - /** - * Construct a token stream filtering the given input using an Array of common - * words to create bigrams. - * - * @param input Tokenstream in filter chain - * @param commonWords words to be used in constructing bigrams - * @deprecated Use {@link #CommonGramsFilter(Version, TokenStream, Set)} instead. - */ - @Deprecated - public CommonGramsFilter(TokenStream input, String[] commonWords) { - this(input, commonWords, false); - } - - /** - * Construct a token stream filtering the given input using an Array of common - * words to create bigrams and is case-sensitive if ignoreCase is false. - * - * @param input Tokenstream in filter chain - * @param commonWords words to be used in constructing bigrams - * @param ignoreCase -Ignore case when constructing bigrams for common words. - * @deprecated Use {@link #CommonGramsFilter(Version, TokenStream, Set, boolean)} instead. - */ - @Deprecated - public CommonGramsFilter(TokenStream input, String[] commonWords, boolean ignoreCase) { - super(input); - this.commonWords = makeCommonSet(commonWords, ignoreCase); - } - - /** - * Build a CharArraySet from an array of common words, appropriate for passing - * into the CommonGramsFilter constructor. This permits this commonWords - * construction to be cached once when an Analyzer is constructed. - * - * @param commonWords Array of common words which will be converted into the CharArraySet - * @return CharArraySet of the given words, appropriate for passing into the CommonGramFilter constructor - * @see #makeCommonSet(java.lang.String[], boolean) passing false to ignoreCase - * @deprecated create a CharArraySet with CharArraySet instead - */ - @Deprecated - public static CharArraySet makeCommonSet(String[] commonWords) { - return makeCommonSet(commonWords, false); - } - - /** - * Build a CharArraySet from an array of common words, appropriate for passing - * into the CommonGramsFilter constructor,case-sensitive if ignoreCase is - * false. - * - * @param commonWords Array of common words which will be converted into the CharArraySet - * @param ignoreCase If true, all words are lower cased first. - * @return a Set containing the words - * @deprecated create a CharArraySet with CharArraySet instead - */ - @Deprecated - public static CharArraySet makeCommonSet(String[] commonWords, boolean ignoreCase) { - CharArraySet commonSet = new CharArraySet(commonWords.length, ignoreCase); - commonSet.addAll(Arrays.asList(commonWords)); - return commonSet; - } - /** * Inserts bigrams for common words into a token stream. For each input token, * output the token. If the token and/or the following token are in the list diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java index a98da16a9ad..4e595f082f5 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java @@ -78,54 +78,7 @@ public abstract class CompoundWordTokenFilterBase extends TokenFilter { private final PayloadAttribute payloadAtt = addAttribute(PayloadAttribute.class); private final Token wrapper = new Token(); - /** - * @deprecated use {@link #CompoundWordTokenFilterBase(Version, TokenStream, String[], int, int, int, boolean)} instead - */ - @Deprecated - protected CompoundWordTokenFilterBase(TokenStream input, String[] dictionary, int minWordSize, int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { - this(Version.LUCENE_30, input, makeDictionary(dictionary),minWordSize,minSubwordSize,maxSubwordSize, onlyLongestMatch); - } - - /** - * @deprecated use {@link #CompoundWordTokenFilterBase(Version, TokenStream, String[], boolean)} instead - */ - @Deprecated - protected CompoundWordTokenFilterBase(TokenStream input, String[] dictionary, boolean onlyLongestMatch) { - this(Version.LUCENE_30, input, makeDictionary(dictionary),DEFAULT_MIN_WORD_SIZE,DEFAULT_MIN_SUBWORD_SIZE,DEFAULT_MAX_SUBWORD_SIZE, onlyLongestMatch); - } - - /** - * @deprecated use {@link #CompoundWordTokenFilterBase(Version, TokenStream, Set, boolean)} instead - */ - @Deprecated - protected CompoundWordTokenFilterBase(TokenStream input, Set dictionary, boolean onlyLongestMatch) { - this(Version.LUCENE_30, input, dictionary,DEFAULT_MIN_WORD_SIZE,DEFAULT_MIN_SUBWORD_SIZE,DEFAULT_MAX_SUBWORD_SIZE, onlyLongestMatch); - } - - /** - * @deprecated use {@link #CompoundWordTokenFilterBase(Version, TokenStream, String[])} instead - */ - @Deprecated - protected CompoundWordTokenFilterBase(TokenStream input, String[] dictionary) { - this(Version.LUCENE_30, input, makeDictionary(dictionary),DEFAULT_MIN_WORD_SIZE,DEFAULT_MIN_SUBWORD_SIZE,DEFAULT_MAX_SUBWORD_SIZE, false); - } - - /** - * @deprecated use {@link #CompoundWordTokenFilterBase(Version, TokenStream, Set)} instead - */ - @Deprecated - protected CompoundWordTokenFilterBase(TokenStream input, Set dictionary) { - this(Version.LUCENE_30, input, dictionary,DEFAULT_MIN_WORD_SIZE,DEFAULT_MIN_SUBWORD_SIZE,DEFAULT_MAX_SUBWORD_SIZE, false); - } - /** - * @deprecated use {@link #CompoundWordTokenFilterBase(Version, TokenStream, Set, int, int, int, boolean)} instead - */ - @Deprecated - protected CompoundWordTokenFilterBase(TokenStream input, Set dictionary, int minWordSize, int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { - this(Version.LUCENE_30, input, dictionary, minWordSize, minSubwordSize, maxSubwordSize, onlyLongestMatch); - } - protected CompoundWordTokenFilterBase(Version matchVersion, TokenStream input, String[] dictionary, int minWordSize, int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { this(matchVersion, input,makeDictionary(dictionary),minWordSize,minSubwordSize,maxSubwordSize, onlyLongestMatch); } @@ -170,11 +123,11 @@ public abstract class CompoundWordTokenFilterBase extends TokenFilter { * @param dictionary * @return {@link Set} of lowercased terms */ - public static final Set makeDictionary(final String[] dictionary) { + public static Set makeDictionary(final String[] dictionary) { return makeDictionary(Version.LUCENE_30, dictionary); } - public static final Set makeDictionary(final Version matchVersion, final String[] dictionary) { + public static Set makeDictionary(final Version matchVersion, final String[] dictionary) { if (dictionary == null) { return null; } @@ -184,7 +137,7 @@ public abstract class CompoundWordTokenFilterBase extends TokenFilter { return dict; } - private final void setToken(final Token token) throws IOException { + private void setToken(final Token token) throws IOException { clearAttributes(); termAtt.copyBuffer(token.buffer(), 0, token.length()); flagsAtt.setFlags(token.getFlags()); @@ -222,7 +175,7 @@ public abstract class CompoundWordTokenFilterBase extends TokenFilter { } } - protected static final void addAllLowerCase(CharArraySet target, Collection col) { + protected static void addAllLowerCase(CharArraySet target, Collection col) { for (Object obj : col) { String string = (String) obj; target.add(string.toLowerCase(Locale.ENGLISH)); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java index ade9b314db8..405c1aff665 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java @@ -21,7 +21,7 @@ package org.apache.lucene.analysis.compound; import java.util.Set; import org.apache.lucene.analysis.Token; -import org.apache.lucene.analysis.TokenFilter; // for javadocs +import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.util.Version; @@ -34,67 +34,6 @@ import org.apache.lucene.util.Version; *

*/ public class DictionaryCompoundWordTokenFilter extends CompoundWordTokenFilterBase { - - /** - * Creates a new {@link DictionaryCompoundWordTokenFilter} - * - * @param input the {@link TokenStream} to process - * @param dictionary the word dictionary to match against - * @param minWordSize only words longer than this get processed - * @param minSubwordSize only subwords longer than this get to the output stream - * @param maxSubwordSize only subwords shorter than this get to the output stream - * @param onlyLongestMatch Add only the longest matching subword to the stream - * @deprecated use {@link #DictionaryCompoundWordTokenFilter(Version, TokenStream, String[], int, int, int, boolean)} instead - */ - @Deprecated - public DictionaryCompoundWordTokenFilter(TokenStream input, String[] dictionary, - int minWordSize, int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { - super(Version.LUCENE_30, input, dictionary, minWordSize, minSubwordSize, maxSubwordSize, onlyLongestMatch); - } - - /** - * Creates a new {@link DictionaryCompoundWordTokenFilter} - * - * @param input the {@link TokenStream} to process - * @param dictionary the word dictionary to match against - * @deprecated use {@link #DictionaryCompoundWordTokenFilter(Version, TokenStream, String[])} instead - */ - @Deprecated - public DictionaryCompoundWordTokenFilter(TokenStream input, String[] dictionary) { - super(Version.LUCENE_30, input, dictionary); - } - - /** - * Creates a new {@link DictionaryCompoundWordTokenFilter} - * - * @param input the {@link TokenStream} to process - * @param dictionary the word dictionary to match against. If this is a {@link org.apache.lucene.analysis.util.CharArraySet CharArraySet} it must have set ignoreCase=false and only contain - * lower case strings. - * @deprecated use {@link #DictionaryCompoundWordTokenFilter(Version, TokenStream, Set)} instead - */ - @Deprecated - public DictionaryCompoundWordTokenFilter(TokenStream input, Set dictionary) { - super(Version.LUCENE_30, input, dictionary); - } - - /** - * Creates a new {@link DictionaryCompoundWordTokenFilter} - * - * @param input the {@link TokenStream} to process - * @param dictionary the word dictionary to match against. If this is a {@link org.apache.lucene.analysis.util.CharArraySet CharArraySet} it must have set ignoreCase=false and only contain - * lower case strings. - * @param minWordSize only words longer than this get processed - * @param minSubwordSize only subwords longer than this get to the output stream - * @param maxSubwordSize only subwords shorter than this get to the output stream - * @param onlyLongestMatch Add only the longest matching subword to the stream - * @deprecated use {@link #DictionaryCompoundWordTokenFilter(Version, TokenStream, Set, int, int, int, boolean)} instead - */ - @Deprecated - public DictionaryCompoundWordTokenFilter(TokenStream input, Set dictionary, - int minWordSize, int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { - super(Version.LUCENE_30, input, dictionary, minWordSize, minSubwordSize, maxSubwordSize, onlyLongestMatch); - } - /** * Creates a new {@link DictionaryCompoundWordTokenFilter} * diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java index 4e46b1696fa..b821fd13ed8 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java @@ -18,12 +18,10 @@ package org.apache.lucene.analysis.compound; */ import java.io.File; -import java.io.FileInputStream; -import java.io.Reader; import java.util.Set; import org.apache.lucene.analysis.Token; -import org.apache.lucene.analysis.TokenFilter; // for javadocs +import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.compound.hyphenation.Hyphenation; import org.apache.lucene.analysis.compound.hyphenation.HyphenationTree; @@ -68,8 +66,10 @@ public class HyphenationCompoundWordTokenFilter extends public HyphenationCompoundWordTokenFilter(Version matchVersion, TokenStream input, HyphenationTree hyphenator, String[] dictionary, int minWordSize, int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { - this(input, hyphenator, makeDictionary(dictionary), minWordSize, - minSubwordSize, maxSubwordSize, onlyLongestMatch); + super(matchVersion, input, dictionary, minWordSize, minSubwordSize, maxSubwordSize, + onlyLongestMatch); + + this.hyphenator = hyphenator; } /** @@ -89,7 +89,7 @@ public class HyphenationCompoundWordTokenFilter extends */ public HyphenationCompoundWordTokenFilter(Version matchVersion, TokenStream input, HyphenationTree hyphenator, String[] dictionary) { - this(input, hyphenator, makeDictionary(dictionary), DEFAULT_MIN_WORD_SIZE, + this(matchVersion, input, hyphenator, makeDictionary(dictionary), DEFAULT_MIN_WORD_SIZE, DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, false); } @@ -113,7 +113,7 @@ public class HyphenationCompoundWordTokenFilter extends */ public HyphenationCompoundWordTokenFilter(Version matchVersion, TokenStream input, HyphenationTree hyphenator, Set dictionary) { - this(input, hyphenator, dictionary, DEFAULT_MIN_WORD_SIZE, + this(matchVersion, input, hyphenator, dictionary, DEFAULT_MIN_WORD_SIZE, DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, false); } @@ -179,84 +179,6 @@ public class HyphenationCompoundWordTokenFilter extends DEFAULT_MAX_SUBWORD_SIZE); } - /** - * Creates a new {@link HyphenationCompoundWordTokenFilter} instance. - * - * @param input the {@link TokenStream} to process - * @param hyphenator the hyphenation pattern tree to use for hyphenation - * @param dictionary the word dictionary to match against - * @param minWordSize only words longer than this get processed - * @param minSubwordSize only subwords longer than this get to the output - * stream - * @param maxSubwordSize only subwords shorter than this get to the output - * stream - * @param onlyLongestMatch Add only the longest matching subword to the stream - * @deprecated use {@link #HyphenationCompoundWordTokenFilter(Version, TokenStream, HyphenationTree, String[], int, int, int, boolean)} instead. - */ - @Deprecated - public HyphenationCompoundWordTokenFilter(TokenStream input, - HyphenationTree hyphenator, String[] dictionary, int minWordSize, - int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { - this(Version.LUCENE_30, input, hyphenator, makeDictionary(dictionary), minWordSize, - minSubwordSize, maxSubwordSize, onlyLongestMatch); - } - - /** - * Creates a new {@link HyphenationCompoundWordTokenFilter} instance. - * - * @param input the {@link TokenStream} to process - * @param hyphenator the hyphenation pattern tree to use for hyphenation - * @param dictionary the word dictionary to match against - * @deprecated use {@link #HyphenationCompoundWordTokenFilter(Version, TokenStream, HyphenationTree, String[])} instead. - */ - @Deprecated - public HyphenationCompoundWordTokenFilter(TokenStream input, - HyphenationTree hyphenator, String[] dictionary) { - this(Version.LUCENE_30, input, hyphenator, makeDictionary(dictionary), DEFAULT_MIN_WORD_SIZE, - DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, false); - } - - /** - * Creates a new {@link HyphenationCompoundWordTokenFilter} instance. - * - * @param input the {@link TokenStream} to process - * @param hyphenator the hyphenation pattern tree to use for hyphenation - * @param dictionary the word dictionary to match against. If this is a {@link org.apache.lucene.analysis.util.CharArraySet CharArraySet} it must have set ignoreCase=false and only contain - * lower case strings. - * @deprecated use {@link #HyphenationCompoundWordTokenFilter(Version, TokenStream, HyphenationTree, Set)} instead. - */ - @Deprecated - public HyphenationCompoundWordTokenFilter(TokenStream input, - HyphenationTree hyphenator, Set dictionary) { - this(Version.LUCENE_30, input, hyphenator, dictionary, DEFAULT_MIN_WORD_SIZE, - DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, false); - } - - /** - * Creates a new {@link HyphenationCompoundWordTokenFilter} instance. - * - * @param input the {@link TokenStream} to process - * @param hyphenator the hyphenation pattern tree to use for hyphenation - * @param dictionary the word dictionary to match against. If this is a {@link org.apache.lucene.analysis.util.CharArraySet CharArraySet} it must have set ignoreCase=false and only contain - * lower case strings. - * @param minWordSize only words longer than this get processed - * @param minSubwordSize only subwords longer than this get to the output - * stream - * @param maxSubwordSize only subwords shorter than this get to the output - * stream - * @param onlyLongestMatch Add only the longest matching subword to the stream - * @deprecated use {@link #HyphenationCompoundWordTokenFilter(Version, TokenStream, HyphenationTree, Set, int, int, int, boolean)} instead. - */ - @Deprecated - public HyphenationCompoundWordTokenFilter(TokenStream input, - HyphenationTree hyphenator, Set dictionary, int minWordSize, - int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { - super(Version.LUCENE_30, input, dictionary, minWordSize, minSubwordSize, maxSubwordSize, - onlyLongestMatch); - - this.hyphenator = hyphenator; - } - /** * Create a hyphenator tree * @@ -281,27 +203,6 @@ public class HyphenationCompoundWordTokenFilter extends return getHyphenationTree(new InputSource(hyphenationFile.toURL().toExternalForm())); } - /** - * Create a hyphenator tree - * - * @param hyphenationReader the reader of the XML grammar to load from - * @return An object representing the hyphenation patterns - * @throws Exception - * @deprecated Don't use Readers with fixed charset to load XML files, unless programatically created. - * Use {@link #getHyphenationTree(InputSource)} instead, where you can supply default charset and input - * stream, if you like. - */ - @Deprecated - public static HyphenationTree getHyphenationTree(Reader hyphenationReader) - throws Exception { - final InputSource is = new InputSource(hyphenationReader); - // we need this to load the DTD in very old parsers (like the one in JDK 1.4). - // The DTD itsself is provided via EntityResolver, so it should always load, but - // some parsers still want to have a base URL (Crimson). - is.setSystemId("urn:java:" + HyphenationTree.class.getName()); - return getHyphenationTree(is); - } - /** * Create a hyphenator tree * diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java index 9b1d5c9f153..a9853386d53 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java @@ -87,40 +87,6 @@ public class LetterTokenizer extends CharTokenizer { super(matchVersion, factory, in); } - /** - * Construct a new LetterTokenizer. - * - * @deprecated use {@link #LetterTokenizer(Version, Reader)} instead. This - * will be removed in Lucene 4.0. - */ - @Deprecated - public LetterTokenizer(Reader in) { - super(Version.LUCENE_30, in); - } - - /** - * Construct a new LetterTokenizer using a given {@link AttributeSource}. - * @deprecated - * use {@link #LetterTokenizer(Version, AttributeSource, Reader)} instead. - * This will be removed in Lucene 4.0. - */ - @Deprecated - public LetterTokenizer(AttributeSource source, Reader in) { - super(Version.LUCENE_30, source, in); - } - - /** - * Construct a new LetterTokenizer using a given - * {@link org.apache.lucene.util.AttributeSource.AttributeFactory}. - * - * @deprecated use {@link #LetterTokenizer(Version, AttributeSource.AttributeFactory, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public LetterTokenizer(AttributeFactory factory, Reader in) { - super(Version.LUCENE_30, factory, in); - } - /** Collects only characters which satisfy * {@link Character#isLetter(int)}.*/ @Override diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java index e44e388d34c..c10972b701b 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java @@ -49,14 +49,6 @@ public final class LowerCaseFilter extends TokenFilter { charUtils = CharacterUtils.getInstance(matchVersion); } - /** - * @deprecated Use {@link #LowerCaseFilter(Version, TokenStream)} instead. - */ - @Deprecated - public LowerCaseFilter(TokenStream in) { - this(Version.LUCENE_30, in); - } - @Override public final boolean incrementToken() throws IOException { if (input.incrementToken()) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java index 0c8e5944cd2..a65d90b4ffa 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java @@ -89,40 +89,6 @@ public final class LowerCaseTokenizer extends LetterTokenizer { super(matchVersion, factory, in); } - /** - * Construct a new LowerCaseTokenizer. - * - * @deprecated use {@link #LowerCaseTokenizer(Reader)} instead. This will be - * removed in Lucene 4.0. - */ - @Deprecated - public LowerCaseTokenizer(Reader in) { - super(Version.LUCENE_30, in); - } - - /** - * Construct a new LowerCaseTokenizer using a given {@link AttributeSource}. - * - * @deprecated use {@link #LowerCaseTokenizer(AttributeSource, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public LowerCaseTokenizer(AttributeSource source, Reader in) { - super(Version.LUCENE_30, source, in); - } - - /** - * Construct a new LowerCaseTokenizer using a given - * {@link org.apache.lucene.util.AttributeSource.AttributeFactory}. - * - * @deprecated use {@link #LowerCaseTokenizer(AttributeSource.AttributeFactory, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public LowerCaseTokenizer(AttributeFactory factory, Reader in) { - super(Version.LUCENE_30, factory, in); - } - /** Converts char to lower case * {@link Character#toLowerCase(int)}.*/ @Override diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java index 64e2c6c1bc0..ce2bc6abd7c 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java @@ -22,7 +22,6 @@ import java.io.Reader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.CharTokenizer; import org.apache.lucene.analysis.util.ReusableAnalyzerBase; -import org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents; import org.apache.lucene.util.Version; /** An {@link Analyzer} that filters {@link LetterTokenizer} @@ -49,13 +48,6 @@ public final class SimpleAnalyzer extends ReusableAnalyzerBase { this.matchVersion = matchVersion; } - /** - * Creates a new {@link SimpleAnalyzer} - * @deprecated use {@link #SimpleAnalyzer(Version)} instead - */ - @Deprecated public SimpleAnalyzer() { - this(Version.LUCENE_30); - } @Override protected TokenStreamComponents createComponents(final String fieldName, final Reader reader) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java index 9d81e75db22..0aba57fd08e 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java @@ -19,15 +19,15 @@ package org.apache.lucene.analysis.core; import java.io.IOException; import java.util.Arrays; -import java.util.Set; import java.util.List; +import java.util.Set; import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.util.CharArraySet; -import org.apache.lucene.queryParser.QueryParser; // for javadoc +import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.util.Version; /** @@ -45,34 +45,12 @@ import org.apache.lucene.util.Version; public final class StopFilter extends TokenFilter { private final CharArraySet stopWords; - private boolean enablePositionIncrements = false; + private boolean enablePositionIncrements = true; private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); private final PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class); - /** - * Construct a token stream filtering the given input. - * If stopWords is an instance of {@link CharArraySet} (true if - * makeStopSet() was used to construct the set) it will be directly used - * and ignoreCase will be ignored since CharArraySet - * directly controls case sensitivity. - *

- * If stopWords is not an instance of {@link CharArraySet}, - * a new CharArraySet will be constructed and ignoreCase will be - * used to specify the case sensitivity of that set. - * - * @param enablePositionIncrements true if token positions should record the removed stop words - * @param input Input TokenStream - * @param stopWords A Set of Strings or char[] or any other toString()-able set representing the stopwords - * @param ignoreCase if true, all words are lower cased first - * @deprecated use {@link #StopFilter(Version, TokenStream, Set, boolean)} instead - */ - @Deprecated - public StopFilter(boolean enablePositionIncrements, TokenStream input, Set stopWords, boolean ignoreCase) - { - this(Version.LUCENE_30, enablePositionIncrements, input, stopWords, ignoreCase); - } - + /** * Construct a token stream filtering the given input. If * stopWords is an instance of {@link CharArraySet} (true if @@ -97,31 +75,8 @@ public final class StopFilter extends TokenFilter { */ public StopFilter(Version matchVersion, TokenStream input, Set stopWords, boolean ignoreCase) { - this(matchVersion, matchVersion.onOrAfter(Version.LUCENE_29), input, stopWords, ignoreCase); - } - - /* - * convenience ctor to enable deprecated ctors to set posInc explicitly - */ - private StopFilter(Version matchVersion, boolean enablePositionIncrements, TokenStream input, Set stopWords, boolean ignoreCase){ super(input); - this.stopWords = stopWords instanceof CharArraySet ? (CharArraySet)stopWords : new CharArraySet(matchVersion, stopWords, ignoreCase); - this.enablePositionIncrements = enablePositionIncrements; - } - - /** - * Constructs a filter which removes words from the input - * TokenStream that are named in the Set. - * - * @param enablePositionIncrements true if token positions should record the removed stop words - * @param in Input stream - * @param stopWords A Set of Strings or char[] or any other toString()-able set representing the stopwords - * @see #makeStopSet(Version, java.lang.String[]) - * @deprecated use {@link #StopFilter(Version, TokenStream, Set)} instead - */ - @Deprecated - public StopFilter(boolean enablePositionIncrements, TokenStream in, Set stopWords) { - this(Version.LUCENE_CURRENT, enablePositionIncrements, in, stopWords, false); + this.stopWords = stopWords instanceof CharArraySet ? (CharArraySet) stopWords : new CharArraySet(matchVersion, stopWords, ignoreCase); } /** @@ -136,26 +91,12 @@ public final class StopFilter extends TokenFilter { * @param stopWords * A Set of Strings or char[] or any other toString()-able set * representing the stopwords - * @see #makeStopSet(Version, java.lang.String[]) + * @see #makeStopSet(Version, java.lang.String...) */ public StopFilter(Version matchVersion, TokenStream in, Set stopWords) { this(matchVersion, in, stopWords, false); } - /** - * Builds a Set from an array of stop words, - * appropriate for passing into the StopFilter constructor. - * This permits this stopWords construction to be cached once when - * an Analyzer is constructed. - * - * @see #makeStopSet(Version, java.lang.String[], boolean) passing false to ignoreCase - * @deprecated use {@link #makeStopSet(Version, String...)} instead - */ - @Deprecated - public static final Set makeStopSet(String... stopWords) { - return makeStopSet(Version.LUCENE_30, stopWords, false); - } - /** * Builds a Set from an array of stop words, * appropriate for passing into the StopFilter constructor. @@ -166,25 +107,10 @@ public final class StopFilter extends TokenFilter { * @param stopWords An array of stopwords * @see #makeStopSet(Version, java.lang.String[], boolean) passing false to ignoreCase */ - public static final Set makeStopSet(Version matchVersion, String... stopWords) { + public static Set makeStopSet(Version matchVersion, String... stopWords) { return makeStopSet(matchVersion, stopWords, false); } - /** - * Builds a Set from an array of stop words, - * appropriate for passing into the StopFilter constructor. - * This permits this stopWords construction to be cached once when - * an Analyzer is constructed. - * @param stopWords A List of Strings or char[] or any other toString()-able list representing the stopwords - * @return A Set ({@link CharArraySet}) containing the words - * @see #makeStopSet(Version, java.lang.String[], boolean) passing false to ignoreCase - * @deprecated use {@link #makeStopSet(Version, List)} instead - */ - @Deprecated - public static final Set makeStopSet(List stopWords) { - return makeStopSet(Version.LUCENE_30, stopWords, false); - } - /** * Builds a Set from an array of stop words, * appropriate for passing into the StopFilter constructor. @@ -196,21 +122,10 @@ public final class StopFilter extends TokenFilter { * @return A Set ({@link CharArraySet}) containing the words * @see #makeStopSet(Version, java.lang.String[], boolean) passing false to ignoreCase */ - public static final Set makeStopSet(Version matchVersion, List stopWords) { + public static Set makeStopSet(Version matchVersion, List stopWords) { return makeStopSet(matchVersion, stopWords, false); } - /** - * Creates a stopword set from the given stopword array. - * @param stopWords An array of stopwords - * @param ignoreCase If true, all words are lower cased first. - * @return a Set containing the words - * @deprecated use {@link #makeStopSet(Version, String[], boolean)} instead; - */ - @Deprecated - public static final Set makeStopSet(String[] stopWords, boolean ignoreCase) { - return makeStopSet(Version.LUCENE_30, stopWords, ignoreCase); - } /** * Creates a stopword set from the given stopword array. * @@ -219,24 +134,12 @@ public final class StopFilter extends TokenFilter { * @param ignoreCase If true, all words are lower cased first. * @return a Set containing the words */ - public static final Set makeStopSet(Version matchVersion, String[] stopWords, boolean ignoreCase) { + public static Set makeStopSet(Version matchVersion, String[] stopWords, boolean ignoreCase) { CharArraySet stopSet = new CharArraySet(matchVersion, stopWords.length, ignoreCase); stopSet.addAll(Arrays.asList(stopWords)); return stopSet; } - /** - * Creates a stopword set from the given stopword list. - * @param stopWords A List of Strings or char[] or any other toString()-able list representing the stopwords - * @param ignoreCase if true, all words are lower cased first - * @return A Set ({@link CharArraySet}) containing the words - * @deprecated use {@link #makeStopSet(Version, List, boolean)} instead - */ - @Deprecated - public static final Set makeStopSet(List stopWords, boolean ignoreCase){ - return makeStopSet(Version.LUCENE_30, stopWords, ignoreCase); - } - /** * Creates a stopword set from the given stopword list. * @param matchVersion Lucene version to enable correct Unicode 4.0 behavior in the returned set if Version > 3.0 @@ -244,7 +147,7 @@ public final class StopFilter extends TokenFilter { * @param ignoreCase if true, all words are lower cased first * @return A Set ({@link CharArraySet}) containing the words */ - public static final Set makeStopSet(Version matchVersion, List stopWords, boolean ignoreCase){ + public static Set makeStopSet(Version matchVersion, List stopWords, boolean ignoreCase){ CharArraySet stopSet = new CharArraySet(matchVersion, stopWords.size(), ignoreCase); stopSet.addAll(stopWords); return stopSet; @@ -270,19 +173,6 @@ public final class StopFilter extends TokenFilter { return false; } - /** - * Returns version-dependent default for - * enablePositionIncrements. Analyzers that embed - * StopFilter use this method when creating the - * StopFilter. Prior to 2.9, this returns false. On 2.9 - * or later, it returns true. - * @deprecated use {@link #StopFilter(Version, TokenStream, Set)} instead - */ - @Deprecated - public static boolean getEnablePositionIncrementsVersionDefault(Version matchVersion) { - return matchVersion.onOrAfter(Version.LUCENE_29); - } - /** * @see #setEnablePositionIncrements(boolean) */ @@ -297,6 +187,8 @@ public final class StopFilter extends TokenFilter { * Generally, true is best as it does not * lose information (positions of the original tokens) * during indexing. + * + * Default is true. * *

When set, when a token is stopped * (omitted), the position increment of the following diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java index 300a0216de0..85ce28efc99 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java @@ -21,7 +21,6 @@ import java.io.Reader; import org.apache.lucene.analysis.CharTokenizer; import org.apache.lucene.analysis.util.ReusableAnalyzerBase; -import org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents; import org.apache.lucene.util.Version; /** @@ -48,15 +47,6 @@ public final class WhitespaceAnalyzer extends ReusableAnalyzerBase { this.matchVersion = matchVersion; } - /** - * Creates a new {@link WhitespaceAnalyzer} - * @deprecated use {@link #WhitespaceAnalyzer(Version)} instead - */ - @Deprecated - public WhitespaceAnalyzer() { - this(Version.LUCENE_30); - } - @Override protected TokenStreamComponents createComponents(final String fieldName, final Reader reader) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java index d3d6b5e496b..4bf4f049dee 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java @@ -80,40 +80,6 @@ public final class WhitespaceTokenizer extends CharTokenizer { super(matchVersion, factory, in); } - /** - * Construct a new WhitespaceTokenizer. - * - * @deprecated use {@link #WhitespaceTokenizer(Version, Reader)} instead. This will - * be removed in Lucene 4.0. - */ - @Deprecated - public WhitespaceTokenizer(Reader in) { - super(in); - } - - /** - * Construct a new WhitespaceTokenizer using a given {@link AttributeSource}. - * - * @deprecated use {@link #WhitespaceTokenizer(Version, AttributeSource, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public WhitespaceTokenizer(AttributeSource source, Reader in) { - super(source, in); - } - - /** - * Construct a new WhitespaceTokenizer using a given - * {@link org.apache.lucene.util.AttributeSource.AttributeFactory}. - * - * @deprecated use {@link #WhitespaceTokenizer(Version, AttributeSource.AttributeFactory, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public WhitespaceTokenizer(AttributeFactory factory, Reader in) { - super(factory, in); - } - /** Collects only characters which do not satisfy * {@link Character#isWhitespace(int)}.*/ @Override diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java index 68204b26b8a..7d906f077d8 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java @@ -27,6 +27,7 @@ import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.ReusableAnalyzerBase; +import org.apache.lucene.analysis.util.StopwordAnalyzerBase; import org.apache.lucene.analysis.util.WordlistLoader; import org.apache.lucene.util.Version; @@ -54,35 +55,7 @@ import java.util.Set; * LUCENE-1068) * */ -public final class CzechAnalyzer extends ReusableAnalyzerBase { - - /** - * List of typical stopwords. - * @deprecated use {@link #getDefaultStopSet()} instead - */ - // TODO make this private in 3.1 - @Deprecated - public final static String[] CZECH_STOP_WORDS = { - "a","s","k","o","i","u","v","z","dnes","cz","t\u00edmto","bude\u0161","budem", - "byli","jse\u0161","m\u016fj","sv\u00fdm","ta","tomto","tohle","tuto","tyto", - "jej","zda","pro\u010d","m\u00e1te","tato","kam","tohoto","kdo","kte\u0159\u00ed", - "mi","n\u00e1m","tom","tomuto","m\u00edt","nic","proto","kterou","byla", - "toho","proto\u017ee","asi","ho","na\u0161i","napi\u0161te","re","co\u017e","t\u00edm", - "tak\u017ee","sv\u00fdch","jej\u00ed","sv\u00fdmi","jste","aj","tu","tedy","teto", - "bylo","kde","ke","prav\u00e9","ji","nad","nejsou","\u010di","pod","t\u00e9ma", - "mezi","p\u0159es","ty","pak","v\u00e1m","ani","kdy\u017e","v\u0161ak","neg","jsem", - "tento","\u010dl\u00e1nku","\u010dl\u00e1nky","aby","jsme","p\u0159ed","pta","jejich", - "byl","je\u0161t\u011b","a\u017e","bez","tak\u00e9","pouze","prvn\u00ed","va\u0161e","kter\u00e1", - "n\u00e1s","nov\u00fd","tipy","pokud","m\u016f\u017ee","strana","jeho","sv\u00e9","jin\u00e9", - "zpr\u00e1vy","nov\u00e9","nen\u00ed","v\u00e1s","jen","podle","zde","u\u017e","b\u00fdt","v\u00edce", - "bude","ji\u017e","ne\u017e","kter\u00fd","by","kter\u00e9","co","nebo","ten","tak", - "m\u00e1","p\u0159i","od","po","jsou","jak","dal\u0161\u00ed","ale","si","se","ve", - "to","jako","za","zp\u011bt","ze","do","pro","je","na","atd","atp", - "jakmile","p\u0159i\u010dem\u017e","j\u00e1","on","ona","ono","oni","ony","my","vy", - "j\u00ed","ji","m\u011b","mne","jemu","tomu","t\u011bm","t\u011bmu","n\u011bmu","n\u011bmu\u017e", - "jeho\u017e","j\u00ed\u017e","jeliko\u017e","je\u017e","jako\u017e","na\u010de\u017e", - }; - +public final class CzechAnalyzer extends StopwordAnalyzerBase { /** File containing default Czech stopwords. */ public final static String DEFAULT_STOPWORD_FILE = "stopwords.txt"; @@ -112,27 +85,21 @@ public final class CzechAnalyzer extends ReusableAnalyzerBase { } - /** - * Contains the stopwords used with the {@link StopFilter}. - */ - // TODO once loadStopWords is gone those member should be removed too in favor of StopwordAnalyzerBase - private Set stoptable; - private final Version matchVersion; private final Set stemExclusionTable; /** * Builds an analyzer with the default stop words ({@link #CZECH_STOP_WORDS}). - * + * * @param matchVersion Lucene version to match See * {@link above} */ public CzechAnalyzer(Version matchVersion) { this(matchVersion, DefaultSetHolder.DEFAULT_SET); } - + /** * Builds an analyzer with the given stop words. - * + * * @param matchVersion Lucene version to match See * {@link above} * @param stopwords a stopword set @@ -140,7 +107,7 @@ public final class CzechAnalyzer extends ReusableAnalyzerBase { public CzechAnalyzer(Version matchVersion, Set stopwords) { this(matchVersion, stopwords, CharArraySet.EMPTY_SET); } - + /** * Builds an analyzer with the given stop words and a set of work to be * excluded from the {@link CzechStemFilter}. @@ -151,84 +118,10 @@ public final class CzechAnalyzer extends ReusableAnalyzerBase { * @param stemExclusionTable a stemming exclusion set */ public CzechAnalyzer(Version matchVersion, Set stopwords, Set stemExclusionTable) { - this.matchVersion = matchVersion; - this.stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stopwords)); + super(matchVersion, stopwords); this.stemExclusionTable = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stemExclusionTable)); } - - /** - * Builds an analyzer with the given stop words. - * - * @param matchVersion Lucene version to match See - * {@link above} - * @param stopwords a stopword set - * @deprecated use {@link #CzechAnalyzer(Version, Set)} instead - */ - @Deprecated - public CzechAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet( matchVersion, stopwords )); - } - - /** - * Builds an analyzer with the given stop words. - * - * @param matchVersion Lucene version to match See - * {@link above} - * @param stopwords a stopword set - * @deprecated use {@link #CzechAnalyzer(Version, Set)} instead - */ - @Deprecated - public CzechAnalyzer(Version matchVersion, HashSet stopwords) { - this(matchVersion, (Set)stopwords); - } - - /** - * Builds an analyzer with the given stop words. - * - * @param matchVersion Lucene version to match See - * {@link above} - * @param stopwords a file containing stopwords - * @deprecated use {@link #CzechAnalyzer(Version, Set)} instead - */ - @Deprecated - public CzechAnalyzer(Version matchVersion, File stopwords ) throws IOException { - this(matchVersion, (Set)WordlistLoader.getWordSet( stopwords )); - } - - /** - * Loads stopwords hash from resource stream (file, database...). - * @param wordfile File containing the wordlist - * @param encoding Encoding used (win-1250, iso-8859-2, ...), null for default system encoding - * @deprecated use {@link WordlistLoader#getWordSet(Reader, String) } - * and {@link #CzechAnalyzer(Version, Set)} instead - */ - // TODO extend StopwordAnalyzerBase once this method is gone! - @Deprecated - public void loadStopWords( InputStream wordfile, String encoding ) { - setPreviousTokenStream(null); // force a new stopfilter to be created - if ( wordfile == null ) { - stoptable = Collections.emptySet(); - return; - } - try { - // clear any previous table (if present) - stoptable = Collections.emptySet(); - - InputStreamReader isr; - if (encoding == null) - isr = new InputStreamReader(wordfile); - else - isr = new InputStreamReader(wordfile, encoding); - - stoptable = WordlistLoader.getWordSet(isr); - } catch ( IOException e ) { - // clear any previous table (if present) - // TODO: throw IOException - stoptable = Collections.emptySet(); - } - } - /** * Creates * {@link org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents} @@ -244,12 +137,12 @@ public final class CzechAnalyzer extends ReusableAnalyzerBase { * {@link CzechStemFilter}. */ @Override - protected TokenStreamComponents createComponents(String fieldName, + protected ReusableAnalyzerBase.TokenStreamComponents createComponents(String fieldName, Reader reader) { final Tokenizer source = new StandardTokenizer(matchVersion, reader); TokenStream result = new StandardFilter(matchVersion, source); result = new LowerCaseFilter(matchVersion, result); - result = new StopFilter( matchVersion, result, stoptable); + result = new StopFilter( matchVersion, result, stopwords); if (matchVersion.onOrAfter(Version.LUCENE_31)) { if(!this.stemExclusionTable.isEmpty()) result = new KeywordMarkerFilter(result, stemExclusionTable); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java index cb10fcf92f4..78bf7c809be 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java @@ -18,12 +18,9 @@ package org.apache.lucene.analysis.de; * limitations under the License. */ -import java.io.File; import java.io.IOException; import java.io.Reader; import java.util.Arrays; -import java.util.HashSet; -import java.util.Map; import java.util.Set; import org.apache.lucene.analysis.Analyzer; @@ -67,13 +64,9 @@ import org.tartarus.snowball.ext.German2Stemmer; */ public final class GermanAnalyzer extends StopwordAnalyzerBase { - /** - * List of typical german stopwords. - * @deprecated use {@link #getDefaultStopSet()} instead - */ - //TODO make this private in 3.1, remove in 4.0 + /** @deprecated in 3.1, remove in Lucene 5.0 (index bw compat) */ @Deprecated - public final static String[] GERMAN_STOP_WORDS = { + private final static String[] GERMAN_STOP_WORDS = { "einer", "eine", "eines", "einem", "einen", "der", "die", "das", "dass", "daß", "du", "er", "sie", "es", @@ -100,7 +93,7 @@ public final class GermanAnalyzer extends StopwordAnalyzerBase { } private static class DefaultSetHolder { - /** @deprecated remove in Lucene 4.0 */ + /** @deprecated in 3.1, remove in Lucene 5.0 (index bw compat) */ @Deprecated private static final Set DEFAULT_SET_30 = CharArraySet.unmodifiableSet(new CharArraySet( Version.LUCENE_CURRENT, Arrays.asList(GERMAN_STOP_WORDS), false)); @@ -124,8 +117,7 @@ public final class GermanAnalyzer extends StopwordAnalyzerBase { /** * Contains words that should be indexed but not stemmed. */ - // TODO make this final in 3.1 - private Set exclusionSet; + private final Set exclusionSet; /** * Builds an analyzer with the default stop words: @@ -164,64 +156,6 @@ public final class GermanAnalyzer extends StopwordAnalyzerBase { exclusionSet = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stemExclusionSet)); } - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #GermanAnalyzer(Version, Set)} - */ - @Deprecated - public GermanAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords)); - } - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #GermanAnalyzer(Version, Set)} - */ - @Deprecated - public GermanAnalyzer(Version matchVersion, Map stopwords) { - this(matchVersion, stopwords.keySet()); - - } - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #GermanAnalyzer(Version, Set)} - */ - @Deprecated - public GermanAnalyzer(Version matchVersion, File stopwords) throws IOException { - this(matchVersion, WordlistLoader.getWordSet(stopwords)); - } - - /** - * Builds an exclusionlist from an array of Strings. - * @deprecated use {@link #GermanAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(String[] exclusionlist) { - exclusionSet = StopFilter.makeStopSet(matchVersion, exclusionlist); - setPreviousTokenStream(null); // force a new stemmer to be created - } - - /** - * Builds an exclusionlist from a {@link Map} - * @deprecated use {@link #GermanAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(Map exclusionlist) { - exclusionSet = new HashSet(exclusionlist.keySet()); - setPreviousTokenStream(null); // force a new stemmer to be created - } - - /** - * Builds an exclusionlist from the words contained in the given file. - * @deprecated use {@link #GermanAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(File exclusionlist) throws IOException { - exclusionSet = WordlistLoader.getWordSet(exclusionlist); - setPreviousTokenStream(null); // force a new stemmer to be created - } - /** * Creates * {@link org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java index be408321c0b..e5461d720be 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java @@ -18,13 +18,12 @@ package org.apache.lucene.analysis.de; */ import java.io.IOException; -import java.util.Set; -import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; // for javadoc import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.KeywordAttribute; +import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.tokenattributes.KeywordAttribute; /** * A {@link TokenFilter} that stems German words. @@ -46,7 +45,6 @@ public final class GermanStemFilter extends TokenFilter * The actual token in the input stream. */ private GermanStemmer stemmer = new GermanStemmer(); - private Set exclusionSet = null; private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); private final KeywordAttribute keywordAttr = addAttribute(KeywordAttribute.class); @@ -60,17 +58,6 @@ public final class GermanStemFilter extends TokenFilter super(in); } - /** - * Builds a GermanStemFilter that uses an exclusion table. - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated - public GermanStemFilter( TokenStream in, Set exclusionSet ) - { - this( in ); - this.exclusionSet = exclusionSet; - } - /** * @return Returns true for next token in the stream, or false at EOS */ @@ -78,8 +65,8 @@ public final class GermanStemFilter extends TokenFilter public boolean incrementToken() throws IOException { if (input.incrementToken()) { String term = termAtt.toString(); - // Check the exclusion table. - if (!keywordAttr.isKeyword() && (exclusionSet == null || !exclusionSet.contains(term))) { + + if (!keywordAttr.isKeyword()) { String s = stemmer.stem(term); // If not stemmed, don't waste the time adjusting the token. if ((s != null) && !s.equals(term)) @@ -100,15 +87,4 @@ public final class GermanStemFilter extends TokenFilter this.stemmer = stemmer; } } - - - /** - * Set an alternative exclusion list for this filter. - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated - public void setExclusionSet( Set exclusionSet ) - { - this.exclusionSet = exclusionSet; - } } diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java index 1ff1d77e1d7..629912f5f28 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java @@ -16,21 +16,20 @@ package org.apache.lucene.analysis.el; * limitations under the License. */ +import java.io.IOException; +import java.io.Reader; +import java.util.Set; + import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.core.StopFilter; +import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; -import org.apache.lucene.analysis.standard.StandardAnalyzer; // for javadoc import org.apache.lucene.analysis.util.StopwordAnalyzerBase; import org.apache.lucene.util.Version; -import java.io.IOException; -import java.io.Reader; -import java.util.Map; -import java.util.Set; - /** * {@link Analyzer} for the Greek language. *

@@ -100,25 +99,6 @@ public final class GreekAnalyzer extends StopwordAnalyzerBase { super(matchVersion, stopwords); } - /** - * Builds an analyzer with the given stop words. - * @param stopwords Array of stopwords to use. - * @deprecated use {@link #GreekAnalyzer(Version, Set)} instead - */ - @Deprecated - public GreekAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords)); - } - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #GreekAnalyzer(Version, Set)} instead - */ - @Deprecated - public GreekAnalyzer(Version matchVersion, Map stopwords) { - this(matchVersion, stopwords.keySet()); - } - /** * Creates * {@link org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java index d93860eb7c9..1fed10384da 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java @@ -38,12 +38,6 @@ public final class GreekLowerCaseFilter extends TokenFilter { private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); private final CharacterUtils charUtils; - /** @deprecated Use {@link #GreekLowerCaseFilter(Version, TokenStream)} instead. */ - @Deprecated - public GreekLowerCaseFilter(TokenStream in) { - this(Version.LUCENE_30, in); - } - /** * Create a GreekLowerCaseFilter that normalizes Greek token text. * diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java index 6e9a5f88c41..1435c83598c 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java @@ -21,11 +21,11 @@ import java.io.Reader; import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.core.LowerCaseFilter; import org.apache.lucene.analysis.core.StopFilter; import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; @@ -103,7 +103,7 @@ public final class EnglishAnalyzer extends StopwordAnalyzerBase { protected TokenStreamComponents createComponents(String fieldName, Reader reader) { final Tokenizer source = new StandardTokenizer(matchVersion, reader); - TokenStream result = new StandardFilter(source); + TokenStream result = new StandardFilter(matchVersion, source); // prior to this we get the classic behavior, standardfilter does it for us. if (matchVersion.onOrAfter(Version.LUCENE_31)) result = new EnglishPossessiveFilter(result); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java index 88eea5b9e55..09e061821c3 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java @@ -17,10 +17,8 @@ package org.apache.lucene.analysis.fa; * limitations under the License. */ -import java.io.File; import java.io.IOException; import java.io.Reader; -import java.util.Hashtable; import java.util.Set; import org.apache.lucene.analysis.Analyzer; @@ -31,7 +29,6 @@ import org.apache.lucene.analysis.ar.ArabicNormalizationFilter; import org.apache.lucene.analysis.core.LowerCaseFilter; import org.apache.lucene.analysis.core.StopFilter; import org.apache.lucene.analysis.util.StopwordAnalyzerBase; -import org.apache.lucene.analysis.util.WordlistLoader; import org.apache.lucene.util.Version; /** @@ -106,34 +103,6 @@ public final class PersianAnalyzer extends StopwordAnalyzerBase { super(matchVersion, stopwords); } - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #PersianAnalyzer(Version, Set)} instead - */ - @Deprecated - public PersianAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords)); - } - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #PersianAnalyzer(Version, Set)} instead - */ - @Deprecated - public PersianAnalyzer(Version matchVersion, Hashtable stopwords) { - this(matchVersion, stopwords.keySet()); - } - - /** - * Builds an analyzer with the given stop words. Lines can be commented out - * using {@link #STOPWORDS_COMMENT} - * @deprecated use {@link #PersianAnalyzer(Version, Set)} instead - */ - @Deprecated - public PersianAnalyzer(Version matchVersion, File stopwords) throws IOException { - this(matchVersion, WordlistLoader.getWordSet(stopwords, STOPWORDS_COMMENT)); - } - /** * Creates * {@link org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/ElisionFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/ElisionFilter.java index 97b7922b29c..b43a5c3b0dc 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/ElisionFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/ElisionFilter.java @@ -18,11 +18,12 @@ package org.apache.lucene.analysis.fr; */ import java.io.IOException; -import java.util.Set; import java.util.Arrays; -import org.apache.lucene.analysis.standard.StandardTokenizer; // for javadocs -import org.apache.lucene.analysis.TokenStream; +import java.util.Set; + import org.apache.lucene.analysis.TokenFilter; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.standard.StandardTokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.util.Version; @@ -44,27 +45,6 @@ public final class ElisionFilter extends TokenFilter { private static char[] apostrophes = {'\'', '\u2019'}; - /** - * Set the stopword articles - * @param matchVersion the lucene backwards compatibility version - * @param articles a set of articles - * @deprecated use {@link #ElisionFilter(Version, TokenStream, Set)} instead - */ - @Deprecated - public void setArticles(Version matchVersion, Set articles) { - this.articles = CharArraySet.unmodifiableSet( - CharArraySet.copy(matchVersion, articles)); - } - - /** - * Set the stopword articles - * @param articles a set of articles - * @deprecated use {@link #setArticles(Version, Set)} instead - */ - @Deprecated - public void setArticles(Set articles) { - setArticles(Version.LUCENE_CURRENT, articles); - } /** * Constructs an elision filter with standard stop words */ @@ -72,24 +52,6 @@ public final class ElisionFilter extends TokenFilter { this(matchVersion, input, DEFAULT_ARTICLES); } - /** - * Constructs an elision filter with standard stop words - * @deprecated use {@link #ElisionFilter(Version, TokenStream)} instead - */ - @Deprecated - public ElisionFilter(TokenStream input) { - this(Version.LUCENE_30, input); - } - - /** - * Constructs an elision filter with a Set of stop words - * @deprecated use {@link #ElisionFilter(Version, TokenStream, Set)} instead - */ - @Deprecated - public ElisionFilter(TokenStream input, Set articles) { - this(Version.LUCENE_30, input, articles); - } - /** * Constructs an elision filter with a Set of stop words * @param matchVersion the lucene backwards compatibility version @@ -102,17 +64,6 @@ public final class ElisionFilter extends TokenFilter { new CharArraySet(matchVersion, articles, true)); } - /** - * Constructs an elision filter with an array of stop words - * @deprecated use {@link #ElisionFilter(Version, TokenStream, Set)} instead - */ - @Deprecated - public ElisionFilter(TokenStream input, String[] articles) { - this(Version.LUCENE_CURRENT, input, - new CharArraySet(Version.LUCENE_CURRENT, - Arrays.asList(articles), true)); - } - /** * Increments the {@link TokenStream} with a {@link CharTermAttribute} without elisioned start */ diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java index f630eabe5ed..836b5cd2cd5 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java @@ -69,11 +69,10 @@ public final class FrenchAnalyzer extends StopwordAnalyzerBase { /** * Extended list of typical French stopwords. - * @deprecated use {@link #getDefaultStopSet()} instead + * @deprecated (3.1) remove in Lucene 5.0 (index bw compat) */ - // TODO make this private in 3.1, remove in 4.0 @Deprecated - public final static String[] FRENCH_STOP_WORDS = { + private final static String[] FRENCH_STOP_WORDS = { "a", "afin", "ai", "ainsi", "après", "attendu", "au", "aujourd", "auquel", "aussi", "autre", "autres", "aux", "auxquelles", "auxquels", "avait", "avant", "avec", "avoir", "c", "car", "ce", "ceci", "cela", "celle", "celles", "celui", "cependant", "certain", @@ -104,8 +103,7 @@ public final class FrenchAnalyzer extends StopwordAnalyzerBase { /** * Contains words that should be indexed but not stemmed. */ - //TODO make this final in 3.0 - private Set excltable = Collections.emptySet(); + private final Set excltable; /** * Returns an unmodifiable instance of the default stop-words set. @@ -116,7 +114,7 @@ public final class FrenchAnalyzer extends StopwordAnalyzerBase { } private static class DefaultSetHolder { - /** @deprecated remove this in Lucene 4.0 */ + /** @deprecated (3.1) remove this in Lucene 5.0, index bw compat */ @Deprecated static final Set DEFAULT_STOP_SET_30 = CharArraySet .unmodifiableSet(new CharArraySet(Version.LUCENE_CURRENT, Arrays.asList(FRENCH_STOP_WORDS), @@ -171,57 +169,6 @@ public final class FrenchAnalyzer extends StopwordAnalyzerBase { this.excltable = CharArraySet.unmodifiableSet(CharArraySet .copy(matchVersion, stemExclutionSet)); } - - - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #FrenchAnalyzer(Version, Set)} instead - */ - @Deprecated - public FrenchAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords)); - } - - /** - * Builds an analyzer with the given stop words. - * @throws IOException - * @deprecated use {@link #FrenchAnalyzer(Version, Set)} instead - */ - @Deprecated - public FrenchAnalyzer(Version matchVersion, File stopwords) throws IOException { - this(matchVersion, WordlistLoader.getWordSet(stopwords)); - } - - /** - * Builds an exclusionlist from an array of Strings. - * @deprecated use {@link #FrenchAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(String... exclusionlist) { - excltable = StopFilter.makeStopSet(matchVersion, exclusionlist); - setPreviousTokenStream(null); // force a new stemmer to be created - } - - /** - * Builds an exclusionlist from a Map. - * @deprecated use {@link #FrenchAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(Map exclusionlist) { - excltable = new HashSet(exclusionlist.keySet()); - setPreviousTokenStream(null); // force a new stemmer to be created - } - - /** - * Builds an exclusionlist from the words contained in the given file. - * @throws IOException - * @deprecated use {@link #FrenchAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(File exclusionlist) throws IOException { - excltable = new HashSet(WordlistLoader.getWordSet(exclusionlist)); - setPreviousTokenStream(null); // force a new stemmer to be created - } /** * Creates @@ -250,7 +197,7 @@ public final class FrenchAnalyzer extends StopwordAnalyzerBase { return new TokenStreamComponents(source, result); } else { final Tokenizer source = new StandardTokenizer(matchVersion, reader); - TokenStream result = new StandardFilter(source); + TokenStream result = new StandardFilter(matchVersion, source); result = new StopFilter(matchVersion, result, stopwords); if(!excltable.isEmpty()) result = new KeywordMarkerFilter(result, excltable); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchStemFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchStemFilter.java index d048cc1e31a..4110dbe75b0 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchStemFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchStemFilter.java @@ -41,9 +41,9 @@ import java.util.Set; * the {@link KeywordAttribute} before this {@link TokenStream}. *

* @see KeywordMarkerFilter - * @deprecated Use {@link SnowballFilter} with + * @deprecated (3.1) Use {@link SnowballFilter} with * {@link org.tartarus.snowball.ext.FrenchStemmer} instead, which has the - * same functionality. This filter will be removed in Lucene 4.0 + * same functionality. This filter will be removed in Lucene 5.0 */ @Deprecated public final class FrenchStemFilter extends TokenFilter { @@ -52,7 +52,6 @@ public final class FrenchStemFilter extends TokenFilter { * The actual token in the input stream. */ private FrenchStemmer stemmer = new FrenchStemmer(); - private Set exclusions = null; private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); private final KeywordAttribute keywordAttr = addAttribute(KeywordAttribute.class); @@ -61,18 +60,6 @@ public final class FrenchStemFilter extends TokenFilter { super(in); } - /** - * - * @param in the {@link TokenStream} to filter - * @param exclusiontable a set of terms not to be stemmed - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated // TODO remove in 3.2 - public FrenchStemFilter( TokenStream in, Set exclusiontable ) { - this( in ); - exclusions = exclusiontable; - } - /** * @return Returns true for the next token in the stream, or false at EOS */ @@ -82,7 +69,7 @@ public final class FrenchStemFilter extends TokenFilter { String term = termAtt.toString(); // Check the exclusion table - if ( !keywordAttr.isKeyword() && (exclusions == null || !exclusions.contains( term )) ) { + if (!keywordAttr.isKeyword()) { String s = stemmer.stem( term ); // If not stemmed, don't waste the time adjusting the token. if ((s != null) && !s.equals( term ) ) @@ -101,14 +88,6 @@ public final class FrenchStemFilter extends TokenFilter { this.stemmer = stemmer; } } - /** - * Set an alternative exclusion list for this filter. - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated // TODO remove in 3.2 - public void setExclusionTable( Map exclusiontable ) { - exclusions = exclusiontable.keySet(); - } } diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java index 558aad2ee6d..74d885e2b68 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java @@ -54,10 +54,7 @@ import org.apache.lucene.util.RamUsageEstimator; * * See: http://en.wikipedia.org/wiki/Latin_characters_in_Unicode * - * The set of character conversions supported by this class is a superset of - * those supported by Lucene's {@link ISOLatin1AccentFilter} which strips - * accents from Latin1 characters. For example, 'à' will be replaced by - * 'a'. + * For example, 'à' will be replaced by 'a'. */ public final class ASCIIFoldingFilter extends TokenFilter { public ASCIIFoldingFilter(TokenStream input) diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ISOLatin1AccentFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ISOLatin1AccentFilter.java deleted file mode 100644 index 3a14b73a890..00000000000 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ISOLatin1AccentFilter.java +++ /dev/null @@ -1,262 +0,0 @@ -package org.apache.lucene.analysis.miscellaneous; - -/** - * 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. - */ - -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; - -/** - * A filter that replaces accented characters in the ISO Latin 1 character set - * (ISO-8859-1) by their unaccented equivalent. The case will not be altered. - *

- * For instance, 'à' will be replaced by 'a'. - *

- * - * @deprecated If you build a new index, use {@link ASCIIFoldingFilter} - * which covers a superset of Latin 1. - * This class is included for use with existing - * indexes and will be removed in a future release (possibly Lucene 4.0). - */ -@Deprecated -public final class ISOLatin1AccentFilter extends TokenFilter { - public ISOLatin1AccentFilter(TokenStream input) { - super(input); - } - - private char[] output = new char[256]; - private int outputPos; - private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - - @Override - public final boolean incrementToken() throws java.io.IOException { - if (input.incrementToken()) { - final char[] buffer = termAtt.buffer(); - final int length = termAtt.length(); - // If no characters actually require rewriting then we - // just return token as-is: - for(int i=0;i= '\u00c0' && c <= '\uFB06') { - removeAccents(buffer, length); - termAtt.copyBuffer(output, 0, outputPos); - break; - } - } - return true; - } else - return false; - } - - /** - * To replace accented characters in a String by unaccented equivalents. - */ - public final void removeAccents(char[] input, int length) { - - // Worst-case length required: - final int maxSizeNeeded = 2*length; - - int size = output.length; - while (size < maxSizeNeeded) - size *= 2; - - if (size != output.length) - output = new char[size]; - - outputPos = 0; - - int pos = 0; - - for (int i=0; i '\uFB06') - output[outputPos++] = c; - else { - switch (c) { - case '\u00C0' : // À - case '\u00C1' : // Á - case '\u00C2' : //  - case '\u00C3' : // à - case '\u00C4' : // Ä - case '\u00C5' : // Å - output[outputPos++] = 'A'; - break; - case '\u00C6' : // Æ - output[outputPos++] = 'A'; - output[outputPos++] = 'E'; - break; - case '\u00C7' : // Ç - output[outputPos++] = 'C'; - break; - case '\u00C8' : // È - case '\u00C9' : // É - case '\u00CA' : // Ê - case '\u00CB' : // Ë - output[outputPos++] = 'E'; - break; - case '\u00CC' : // Ì - case '\u00CD' : // Í - case '\u00CE' : // Î - case '\u00CF' : // Ï - output[outputPos++] = 'I'; - break; - case '\u0132' : // IJ - output[outputPos++] = 'I'; - output[outputPos++] = 'J'; - break; - case '\u00D0' : // Ð - output[outputPos++] = 'D'; - break; - case '\u00D1' : // Ñ - output[outputPos++] = 'N'; - break; - case '\u00D2' : // Ò - case '\u00D3' : // Ó - case '\u00D4' : // Ô - case '\u00D5' : // Õ - case '\u00D6' : // Ö - case '\u00D8' : // Ø - output[outputPos++] = 'O'; - break; - case '\u0152' : // Œ - output[outputPos++] = 'O'; - output[outputPos++] = 'E'; - break; - case '\u00DE' : // Þ - output[outputPos++] = 'T'; - output[outputPos++] = 'H'; - break; - case '\u00D9' : // Ù - case '\u00DA' : // Ú - case '\u00DB' : // Û - case '\u00DC' : // Ü - output[outputPos++] = 'U'; - break; - case '\u00DD' : // Ý - case '\u0178' : // Ÿ - output[outputPos++] = 'Y'; - break; - case '\u00E0' : // à - case '\u00E1' : // á - case '\u00E2' : // â - case '\u00E3' : // ã - case '\u00E4' : // ä - case '\u00E5' : // å - output[outputPos++] = 'a'; - break; - case '\u00E6' : // æ - output[outputPos++] = 'a'; - output[outputPos++] = 'e'; - break; - case '\u00E7' : // ç - output[outputPos++] = 'c'; - break; - case '\u00E8' : // è - case '\u00E9' : // é - case '\u00EA' : // ê - case '\u00EB' : // ë - output[outputPos++] = 'e'; - break; - case '\u00EC' : // ì - case '\u00ED' : // í - case '\u00EE' : // î - case '\u00EF' : // ï - output[outputPos++] = 'i'; - break; - case '\u0133' : // ij - output[outputPos++] = 'i'; - output[outputPos++] = 'j'; - break; - case '\u00F0' : // ð - output[outputPos++] = 'd'; - break; - case '\u00F1' : // ñ - output[outputPos++] = 'n'; - break; - case '\u00F2' : // ò - case '\u00F3' : // ó - case '\u00F4' : // ô - case '\u00F5' : // õ - case '\u00F6' : // ö - case '\u00F8' : // ø - output[outputPos++] = 'o'; - break; - case '\u0153' : // œ - output[outputPos++] = 'o'; - output[outputPos++] = 'e'; - break; - case '\u00DF' : // ß - output[outputPos++] = 's'; - output[outputPos++] = 's'; - break; - case '\u00FE' : // þ - output[outputPos++] = 't'; - output[outputPos++] = 'h'; - break; - case '\u00F9' : // ù - case '\u00FA' : // ú - case '\u00FB' : // û - case '\u00FC' : // ü - output[outputPos++] = 'u'; - break; - case '\u00FD' : // ý - case '\u00FF' : // ÿ - output[outputPos++] = 'y'; - break; - case '\uFB00': // ff - output[outputPos++] = 'f'; - output[outputPos++] = 'f'; - break; - case '\uFB01': // fi - output[outputPos++] = 'f'; - output[outputPos++] = 'i'; - break; - case '\uFB02': // fl - output[outputPos++] = 'f'; - output[outputPos++] = 'l'; - break; - // following 2 are commented as they can break the maxSizeNeeded (and doing *3 could be expensive) -// case '\uFB03': // ffi -// output[outputPos++] = 'f'; -// output[outputPos++] = 'f'; -// output[outputPos++] = 'i'; -// break; -// case '\uFB04': // ffl -// output[outputPos++] = 'f'; -// output[outputPos++] = 'f'; -// output[outputPos++] = 'l'; -// break; - case '\uFB05': // ſt - output[outputPos++] = 'f'; - output[outputPos++] = 't'; - break; - case '\uFB06': // st - output[outputPos++] = 's'; - output[outputPos++] = 't'; - break; - default : - output[outputPos++] = c; - break; - } - } - } - } -} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java index 08794d065fe..e488fe4dd46 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java @@ -17,14 +17,13 @@ package org.apache.lucene.analysis.miscellaneous; +import java.io.IOException; + import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.util.CharArraySet; -import java.io.IOException; -import java.util.Set; - /** * A TokenFilter that only keeps tokens with text contained in the * required words. This filter behaves like the inverse of StopFilter. @@ -35,12 +34,6 @@ public final class KeepWordFilter extends TokenFilter { private final CharArraySet words; private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - /** @deprecated Use {@link #KeepWordFilter(TokenStream, CharArraySet)} instead */ - @Deprecated - public KeepWordFilter(TokenStream in, Set words, boolean ignoreCase ) { - this(in, new CharArraySet(words, ignoreCase)); - } - /** The words set passed to this constructor will be directly used by this filter * and should not be modified, */ public KeepWordFilter(TokenStream in, CharArraySet words) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.java index 4d17af04eac..19378dad4ff 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.java @@ -62,8 +62,7 @@ import org.apache.lucene.util.Version; * pat.tokenStream("content", "James is running round in the woods"), * "English")); * - * @deprecated use the pattern-based analysis in the analysis/pattern package instead. - * This analyzer will be removed in a future release (4.1) + * @deprecated (4.0) use the pattern-based analysis in the analysis/pattern package instead. */ @Deprecated public final class PatternAnalyzer extends Analyzer { @@ -146,7 +145,7 @@ public final class PatternAnalyzer extends Analyzer { /** * Constructs a new instance with the given parameters. * - * @param matchVersion If >= {@link Version#LUCENE_29}, StopFilter.enablePositionIncrement is set to true + * @param matchVersion currently does nothing * @param pattern * a regular expression delimiting tokens * @param toLowerCase diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java index 86c98f767d2..7b6ab94a9a0 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java @@ -189,48 +189,6 @@ public final class WordDelimiterFilter extends TokenFilter { this.protWords = protWords; this.iterator = new WordDelimiterIterator(charTypeTable, splitOnCaseChange != 0, splitOnNumerics != 0, stemEnglishPossessive != 0); } - - /** - * Compatibility constructor - * - * @deprecated Use - * {@link #WordDelimiterFilter(TokenStream, byte[], int, int, int, int, int, int, int, int, int, CharArraySet)} - * instead. - */ - @Deprecated - public WordDelimiterFilter(TokenStream in, - byte[] charTypeTable, - int generateWordParts, - int generateNumberParts, - int catenateWords, - int catenateNumbers, - int catenateAll, - int splitOnCaseChange, - int preserveOriginal, - int splitOnNumerics, - CharArraySet protWords) { - this(in, charTypeTable, generateWordParts, generateNumberParts, catenateWords, catenateNumbers, catenateAll, splitOnCaseChange, preserveOriginal, 1, 1, null); - } - - /** - * Compatibility constructor - * - * @deprecated Use - * {@link #WordDelimiterFilter(TokenStream, byte[], int, int, int, int, int, int, int, int, int, CharArraySet)} - * instead. - */ - @Deprecated - public WordDelimiterFilter(TokenStream in, - byte[] charTypeTable, - int generateWordParts, - int generateNumberParts, - int catenateWords, - int catenateNumbers, - int catenateAll, - int splitOnCaseChange, - int preserveOriginal) { - this(in, charTypeTable, generateWordParts, generateNumberParts, catenateWords, catenateNumbers, catenateAll, splitOnCaseChange, preserveOriginal, 1, null); - } /** * @param in Token stream to be filtered. @@ -259,76 +217,6 @@ public final class WordDelimiterFilter extends TokenFilter { this(in, WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, generateWordParts, generateNumberParts, catenateWords, catenateNumbers, catenateAll, splitOnCaseChange, preserveOriginal, splitOnNumerics, stemEnglishPossessive, protWords); } - /** - * @deprecated Use - * {@link #WordDelimiterFilter(TokenStream, int, int, int, int, int, int, int, int, int, CharArraySet)} - * instead. - */ - @Deprecated - public WordDelimiterFilter(TokenStream in, - int generateWordParts, - int generateNumberParts, - int catenateWords, - int catenateNumbers, - int catenateAll, - int splitOnCaseChange, - int preserveOriginal, - int splitOnNumerics, - CharArraySet protWords) { - this(in, WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, generateWordParts, generateNumberParts, catenateWords, catenateNumbers, catenateAll, splitOnCaseChange, preserveOriginal, splitOnNumerics, 1, protWords); - } - - /** * Compatibility constructor - * - * @deprecated Use - * {@link #WordDelimiterFilter(TokenStream, int, int, int, int, int, int, int, int, int, CharArraySet)} - * instead. - */ - @Deprecated - public WordDelimiterFilter(TokenStream in, - int generateWordParts, - int generateNumberParts, - int catenateWords, - int catenateNumbers, - int catenateAll, - int splitOnCaseChange, - int preserveOriginal) { - this(in, WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, generateWordParts, generateNumberParts, catenateWords, catenateNumbers, catenateAll, splitOnCaseChange, preserveOriginal); - } - /** - * Compatibility constructor - * - * @deprecated Use - * {@link #WordDelimiterFilter(TokenStream, int, int, int, int, int, int, int, int, int, CharArraySet)} - * instead. - */ - @Deprecated - public WordDelimiterFilter(TokenStream in, - byte[] charTypeTable, - int generateWordParts, - int generateNumberParts, - int catenateWords, - int catenateNumbers, - int catenateAll) { - this(in, charTypeTable, generateWordParts, generateNumberParts, catenateWords, catenateNumbers, catenateAll, 1, 0, 1, null); - } - /** - * Compatibility constructor - * - * @deprecated Use - * {@link #WordDelimiterFilter(TokenStream, int, int, int, int, int, int, int, int, int, CharArraySet)} - * instead. - */ - @Deprecated - public WordDelimiterFilter(TokenStream in, - int generateWordParts, - int generateNumberParts, - int catenateWords, - int catenateNumbers, - int catenateAll) { - this(in, WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, generateWordParts, generateNumberParts, catenateWords, catenateNumbers, catenateAll, 1, 0, 1, null); - } - public boolean incrementToken() throws IOException { while (true) { if (!hasSavedState) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java index fc2f21b0540..1bce986ab7e 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java @@ -68,12 +68,6 @@ import java.util.Map; * dependent settings as {@link StandardAnalyzer}.

*/ public final class DutchAnalyzer extends ReusableAnalyzerBase { - /** - * List of typical Dutch stopwords. - * @deprecated use {@link #getDefaultStopSet()} instead - */ - @Deprecated - public final static String[] DUTCH_STOP_WORDS = getDefaultStopSet().toArray(new String[0]); /** File containing default Dutch stopwords. */ public final static String DEFAULT_STOPWORD_FILE = "dutch_stop.txt"; @@ -138,84 +132,6 @@ public final class DutchAnalyzer extends ReusableAnalyzerBase { this.matchVersion = matchVersion; } - /** - * Builds an analyzer with the given stop words. - * - * @param matchVersion - * @param stopwords - * @deprecated use {@link #DutchAnalyzer(Version, Set)} instead - */ - @Deprecated - public DutchAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords)); - } - - /** - * Builds an analyzer with the given stop words. - * - * @param stopwords - * @deprecated use {@link #DutchAnalyzer(Version, Set)} instead - */ - @Deprecated - public DutchAnalyzer(Version matchVersion, HashSet stopwords) { - this(matchVersion, (Set)stopwords); - } - - /** - * Builds an analyzer with the given stop words. - * - * @param stopwords - * @deprecated use {@link #DutchAnalyzer(Version, Set)} instead - */ - @Deprecated - public DutchAnalyzer(Version matchVersion, File stopwords) { - // this is completely broken! - try { - stoptable = org.apache.lucene.analysis.util.WordlistLoader.getWordSet(stopwords); - } catch (IOException e) { - // TODO: throw IOException - throw new RuntimeException(e); - } - this.matchVersion = matchVersion; - } - - /** - * Builds an exclusionlist from an array of Strings. - * - * @param exclusionlist - * @deprecated use {@link #DutchAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(String... exclusionlist) { - excltable = StopFilter.makeStopSet(matchVersion, exclusionlist); - setPreviousTokenStream(null); // force a new stemmer to be created - } - - /** - * Builds an exclusionlist from a Hashtable. - * @deprecated use {@link #DutchAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(HashSet exclusionlist) { - excltable = exclusionlist; - setPreviousTokenStream(null); // force a new stemmer to be created - } - - /** - * Builds an exclusionlist from the words contained in the given file. - * @deprecated use {@link #DutchAnalyzer(Version, Set, Set)} instead - */ - @Deprecated - public void setStemExclusionTable(File exclusionlist) { - try { - excltable = org.apache.lucene.analysis.util.WordlistLoader.getWordSet(exclusionlist); - setPreviousTokenStream(null); // force a new stemmer to be created - } catch (IOException e) { - // TODO: throw IOException - throw new RuntimeException(e); - } - } - /** * Reads a stemdictionary file , that overrules the stemming algorithm * This is a textfile that contains per line @@ -257,7 +173,7 @@ public final class DutchAnalyzer extends ReusableAnalyzerBase { return new TokenStreamComponents(source, result); } else { final Tokenizer source = new StandardTokenizer(matchVersion, aReader); - TokenStream result = new StandardFilter(source); + TokenStream result = new StandardFilter(matchVersion, source); result = new StopFilter(matchVersion, result, stoptable); if (!excltable.isEmpty()) result = new KeywordMarkerFilter(result, excltable); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemFilter.java index 1b9d0d0e4f4..252ce9ecbd7 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemFilter.java @@ -19,9 +19,7 @@ package org.apache.lucene.analysis.nl; import java.io.IOException; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; -import java.util.Set; import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; // for javadoc import org.apache.lucene.analysis.TokenFilter; @@ -43,9 +41,9 @@ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; * the {@link KeywordAttribute} before this {@link TokenStream}. *

* @see KeywordMarkerFilter - * @deprecated Use {@link SnowballFilter} with + * @deprecated (3.1) Use {@link SnowballFilter} with * {@link org.tartarus.snowball.ext.DutchStemmer} instead, which has the - * same functionality. This filter will be removed in Lucene 4.0 + * same functionality. This filter will be removed in Lucene 5.0 */ @Deprecated public final class DutchStemFilter extends TokenFilter { @@ -53,7 +51,6 @@ public final class DutchStemFilter extends TokenFilter { * The actual token in the input stream. */ private DutchStemmer stemmer = new DutchStemmer(); - private Set exclusions = null; private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); private final KeywordAttribute keywordAttr = addAttribute(KeywordAttribute.class); @@ -62,16 +59,6 @@ public final class DutchStemFilter extends TokenFilter { super(_in); } - /** - * Builds a DutchStemFilter that uses an exclusion table. - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated - public DutchStemFilter(TokenStream _in, Set exclusiontable) { - this(_in); - exclusions = exclusiontable; - } - /** * @param stemdictionary Dictionary of word stem pairs, that overrule the algorithm */ @@ -80,16 +67,6 @@ public final class DutchStemFilter extends TokenFilter { stemmer.setStemDictionary(stemdictionary); } - /** - * @param stemdictionary Dictionary of word stem pairs, that overrule the algorithm - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated - public DutchStemFilter(TokenStream _in, Set exclusiontable, Map stemdictionary) { - this(_in, exclusiontable); - stemmer.setStemDictionary(stemdictionary); - } - /** * Returns the next token in the stream, or null at EOS */ @@ -99,7 +76,7 @@ public final class DutchStemFilter extends TokenFilter { final String term = termAtt.toString(); // Check the exclusion table. - if (!keywordAttr.isKeyword() && (exclusions == null || !exclusions.contains(term))) { + if (!keywordAttr.isKeyword()) { final String s = stemmer.stem(term); // If not stemmed, don't waste the time adjusting the token. if ((s != null) && !s.equals(term)) @@ -120,15 +97,6 @@ public final class DutchStemFilter extends TokenFilter { } } - /** - * Set an alternative exclusion list for this filter. - * @deprecated use {@link KeywordAttribute} with {@link KeywordMarkerFilter} instead. - */ - @Deprecated - public void setExclusionTable(HashSet exclusiontable) { - exclusions = exclusiontable; - } - /** * Set dictionary for stemming, this dictionary overrules the algorithm, * so you can correct for a particular unwanted word-stem pair. diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemmer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemmer.java index 2af381fdd1e..d146fe6e69b 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemmer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchStemmer.java @@ -26,8 +26,8 @@ import java.util.Map; * the dutch stemming * algorithm in Martin Porter's snowball project. *

- * @deprecated Use {@link org.tartarus.snowball.ext.DutchStemmer} instead, - * which has the same functionality. This filter will be removed in Lucene 4.0 + * @deprecated (3.1) Use {@link org.tartarus.snowball.ext.DutchStemmer} instead, + * which has the same functionality. This filter will be removed in Lucene 5.0 */ @Deprecated public class DutchStemmer { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java index 0f30443b68f..f143ddab37f 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java @@ -28,23 +28,15 @@ import java.nio.charset.Charset; * **/ public class IdentityEncoder extends AbstractEncoder implements PayloadEncoder{ - protected Charset charset = Charset.forName("UTF-8"); - /** @deprecated This field is no longer used. Use {@link #charset} instead. */ - @Deprecated - protected String charsetName = charset.name(); - public IdentityEncoder() { } public IdentityEncoder(Charset charset) { this.charset = charset; - // @deprecated, remove this in 4.0: - charsetName = charset.name(); } - public Payload encode(char[] buffer, int offset, int length) { final ByteBuffer bb = charset.encode(CharBuffer.wrap(buffer, offset, length)); if (bb.hasArray()) { diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java index 7f67d0a7cee..bcf75459dd3 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java @@ -67,40 +67,6 @@ public final class ReverseStringFilter extends TokenFilter { */ public static final char RTL_DIRECTION_MARKER = '\u200F'; - /** - * Create a new ReverseStringFilter that reverses all tokens in the - * supplied {@link TokenStream}. - *

- * The reversed tokens will not be marked. - *

- * - * @param in {@link TokenStream} to filter - * @deprecated use {@link #ReverseStringFilter(Version, TokenStream)} - * instead. This constructor will be removed in Lucene 4.0 - */ - @Deprecated - public ReverseStringFilter(TokenStream in) { - this(in, NOMARKER); - } - - /** - * Create a new ReverseStringFilter that reverses and marks all tokens in the - * supplied {@link TokenStream}. - *

- * The reversed tokens will be prepended (marked) by the marker - * character. - *

- * - * @param in {@link TokenStream} to filter - * @param marker A character used to mark reversed tokens - * @deprecated use {@link #ReverseStringFilter(Version, TokenStream, char)} - * instead. This constructor will be removed in Lucene 4.0 - */ - @Deprecated - public ReverseStringFilter(TokenStream in, char marker) { - this(Version.LUCENE_30, in, marker); - } - /** * Create a new ReverseStringFilter that reverses all tokens in the * supplied {@link TokenStream}. @@ -150,19 +116,6 @@ public final class ReverseStringFilter extends TokenFilter { } } - /** - * Reverses the given input string - * - * @param input the string to reverse - * @return the given input string in reversed order - * @deprecated use {@link #reverse(Version, String)} instead. This method - * will be removed in Lucene 4.0 - */ - @Deprecated - public static String reverse( final String input ){ - return reverse(Version.LUCENE_30, input); - } - /** * Reverses the given input string * @@ -176,17 +129,6 @@ public final class ReverseStringFilter extends TokenFilter { return new String( charInput ); } - /** - * Reverses the given input buffer in-place - * @param buffer the input char array to reverse - * @deprecated use {@link #reverse(Version, char[])} instead. This - * method will be removed in Lucene 4.0 - */ - @Deprecated - public static void reverse( final char[] buffer ){ - reverse( buffer, 0, buffer.length ); - } - /** * Reverses the given input buffer in-place * @param matchVersion See above @@ -196,20 +138,6 @@ public final class ReverseStringFilter extends TokenFilter { reverse(matchVersion, buffer, 0, buffer.length); } - /** - * Partially reverses the given input buffer in-place from offset 0 - * up to the given length. - * @param buffer the input char array to reverse - * @param len the length in the buffer up to where the - * buffer should be reversed - * @deprecated use {@link #reverse(Version, char[], int)} instead. This - * method will be removed in Lucene 4.0 - */ - @Deprecated - public static void reverse( final char[] buffer, final int len ){ - reverse( buffer, 0, len ); - } - /** * Partially reverses the given input buffer in-place from offset 0 * up to the given length. @@ -224,22 +152,7 @@ public final class ReverseStringFilter extends TokenFilter { } /** - * Partially reverses the given input buffer in-place from the given offset - * up to the given length. - * @param buffer the input char array to reverse - * @param start the offset from where to reverse the buffer - * @param len the length in the buffer up to where the - * buffer should be reversed - * @deprecated use {@link #reverse(Version, char[], int, int)} instead. This - * method will be removed in Lucene 4.0 - */ - @Deprecated - public static void reverse(char[] buffer, int start, int len ) { - reverseUnicode3(buffer, start, len); - } - - /** - * @deprecated Remove this when support for 3.0 indexes is no longer needed. + * @deprecated (3.1) Remove this when support for 3.0 indexes is no longer needed. */ @Deprecated private static void reverseUnicode3( char[] buffer, int start, int len ){ diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java index cec8e3640f2..64854a0dafc 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java @@ -20,7 +20,6 @@ package org.apache.lucene.analysis.ru; import java.io.IOException; import java.io.Reader; import java.util.Arrays; -import java.util.Map; import java.util.Set; import org.apache.lucene.analysis.Analyzer; @@ -56,7 +55,7 @@ public final class RussianAnalyzer extends StopwordAnalyzerBase { /** * List of typical Russian stopwords. (for backwards compatibility) - * @deprecated Remove this for LUCENE 4.0 + * @deprecated (3.1) Remove this for LUCENE 5.0 */ @Deprecated private static final String[] RUSSIAN_STOP_WORDS_30 = { @@ -76,7 +75,7 @@ public final class RussianAnalyzer extends StopwordAnalyzerBase public final static String DEFAULT_STOPWORD_FILE = "russian_stop.txt"; private static class DefaultSetHolder { - /** @deprecated remove this for Lucene 4.0 */ + /** @deprecated (3.1) remove this for Lucene 5.0 */ @Deprecated static final Set DEFAULT_STOP_SET_30 = CharArraySet .unmodifiableSet(new CharArraySet(Version.LUCENE_CURRENT, @@ -112,15 +111,6 @@ public final class RussianAnalyzer extends StopwordAnalyzerBase : DefaultSetHolder.DEFAULT_STOP_SET_30); } - /** - * Builds an analyzer with the given stop words. - * @deprecated use {@link #RussianAnalyzer(Version, Set)} instead - */ - @Deprecated - public RussianAnalyzer(Version matchVersion, String... stopwords) { - this(matchVersion, StopFilter.makeStopSet(matchVersion, stopwords)); - } - /** * Builds an analyzer with the given stop words * @@ -147,18 +137,6 @@ public final class RussianAnalyzer extends StopwordAnalyzerBase this.stemExclusionSet = CharArraySet.unmodifiableSet(CharArraySet.copy(matchVersion, stemExclusionSet)); } - - /** - * Builds an analyzer with the given stop words. - * TODO: create a Set version of this ctor - * @deprecated use {@link #RussianAnalyzer(Version, Set)} instead - */ - @Deprecated - public RussianAnalyzer(Version matchVersion, Map stopwords) - { - this(matchVersion, stopwords.keySet()); - } - /** * Creates * {@link org.apache.lucene.analysis.util.ReusableAnalyzerBase.TokenStreamComponents} @@ -188,7 +166,8 @@ public final class RussianAnalyzer extends StopwordAnalyzerBase result = new StopFilter(matchVersion, result, stopwords); if (!stemExclusionSet.isEmpty()) result = new KeywordMarkerFilter( result, stemExclusionSet); - return new TokenStreamComponents(source, new RussianStemFilter(result)); + result = new SnowballFilter(result, new org.tartarus.snowball.ext.RussianStemmer()); + return new TokenStreamComponents(source, result); } } } diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLetterTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLetterTokenizer.java index 1a244e4afaa..e5426d775b2 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLetterTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLetterTokenizer.java @@ -37,8 +37,8 @@ import org.apache.lucene.util.Version; * detect token characters. See {@link CharTokenizer#isTokenChar(int)} and * {@link CharTokenizer#normalize(int)} for details. * - * @deprecated Use {@link StandardTokenizer} instead, which has the same functionality. - * This filter will be removed in Lucene 4.0 + * @deprecated (3.1) Use {@link StandardTokenizer} instead, which has the same functionality. + * This filter will be removed in Lucene 5.0 */ @Deprecated public class RussianLetterTokenizer extends CharTokenizer @@ -86,42 +86,7 @@ public class RussianLetterTokenizer extends CharTokenizer super(matchVersion, factory, in); } - /** - * Construct a new RussianLetterTokenizer. - * - * @deprecated use {@link #RussianLetterTokenizer(Version, Reader)} instead. This will - * be removed in Lucene 4.0. - */ - @Deprecated - public RussianLetterTokenizer(Reader in) { - super(in); - } - - /** - * Construct a new RussianLetterTokenizer using a given {@link AttributeSource}. - * - * @deprecated use {@link #RussianLetterTokenizer(Version, AttributeSource, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public RussianLetterTokenizer(AttributeSource source, Reader in) { - super(source, in); - } - - /** - * Construct a new RussianLetterTokenizer using a given - * {@link org.apache.lucene.util.AttributeSource.AttributeFactory}. - * - * @deprecated use {@link #RussianLetterTokenizer(Version, AttributeSource.AttributeFactory, Reader)} - * instead. This will be removed in Lucene 4.0. - */ - @Deprecated - public RussianLetterTokenizer(AttributeFactory factory, Reader in) { - super(factory, in); - } - - - /** + /** * Collects only characters which satisfy * {@link Character#isLetter(int)}. */ diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLowerCaseFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLowerCaseFilter.java deleted file mode 100644 index 86f3e2b63df..00000000000 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLowerCaseFilter.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.apache.lucene.analysis.ru; - -/** - * 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. - */ - -import java.io.IOException; - -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.core.LowerCaseFilter; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; - -/** - * Normalizes token text to lower case. - * @deprecated Use {@link LowerCaseFilter} instead, which has the same - * functionality. This filter will be removed in Lucene 4.0 - */ -@Deprecated -public final class RussianLowerCaseFilter extends TokenFilter -{ - private CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - - public RussianLowerCaseFilter(TokenStream in) - { - super(in); - } - - @Override - public final boolean incrementToken() throws IOException - { - if (input.incrementToken()) { - char[] chArray = termAtt.buffer(); - int chLen = termAtt.length(); - for (int i = 0; i < chLen; i++) - { - chArray[i] = Character.toLowerCase(chArray[i]); - } - return true; - } else { - return false; - } - } -} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianStemFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianStemFilter.java deleted file mode 100644 index 7e62e02d997..00000000000 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianStemFilter.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.apache.lucene.analysis.ru; - -/** - * 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. - */ - -import org.apache.lucene.analysis.core.LowerCaseFilter; -import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; // for javadoc -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.KeywordAttribute; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import org.apache.lucene.analysis.ru.RussianStemmer;//javadoc @link -import org.apache.lucene.analysis.snowball.SnowballFilter; // javadoc @link - -import java.io.IOException; - -/** - * A {@link TokenFilter} that stems Russian words. - *

- * The implementation was inspired by GermanStemFilter. - * The input should be filtered by {@link LowerCaseFilter} before passing it to RussianStemFilter , - * because RussianStemFilter only works with lowercase characters. - *

- *

- * To prevent terms from being stemmed use an instance of - * {@link KeywordMarkerFilter} or a custom {@link TokenFilter} that sets - * the {@link KeywordAttribute} before this {@link TokenStream}. - *

- * @see KeywordMarkerFilter - * @deprecated Use {@link SnowballFilter} with - * {@link org.tartarus.snowball.ext.RussianStemmer} instead, which has the - * same functionality. This filter will be removed in Lucene 4.0 - */ -@Deprecated -public final class RussianStemFilter extends TokenFilter -{ - /** - * The actual token in the input stream. - */ - private RussianStemmer stemmer = new RussianStemmer(); - - private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); - private final KeywordAttribute keywordAttr = addAttribute(KeywordAttribute.class); - - public RussianStemFilter(TokenStream in) - { - super(in); - } - /** - * Returns the next token in the stream, or null at EOS - */ - @Override - public final boolean incrementToken() throws IOException - { - if (input.incrementToken()) { - if(!keywordAttr.isKeyword()) { - final String term = termAtt.toString(); - final String s = stemmer.stem(term); - if (s != null && !s.equals(term)) - termAtt.setEmpty().append(s); - } - return true; - } else { - return false; - } - } - - - /** - * Set a alternative/custom {@link RussianStemmer} for this filter. - */ - public void setStemmer(RussianStemmer stemmer) - { - if (stemmer != null) - { - this.stemmer = stemmer; - } - } -} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianStemmer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianStemmer.java deleted file mode 100644 index fea9e2121fe..00000000000 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianStemmer.java +++ /dev/null @@ -1,600 +0,0 @@ -package org.apache.lucene.analysis.ru; - -/** - * 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. - */ - -/** - * Russian stemming algorithm implementation (see http://snowball.sourceforge.net for detailed description). - * @deprecated Use {@link org.tartarus.snowball.ext.RussianStemmer} instead, - * which has the same functionality. This filter will be removed in Lucene 4.0 - */ -@Deprecated -class RussianStemmer -{ - // positions of RV, R1 and R2 respectively - private int RV, /*R1,*/ R2; - - // letters (currently unused letters are commented out) - private final static char A = '\u0430'; - //private final static char B = '\u0431'; - private final static char V = '\u0432'; - private final static char G = '\u0433'; - //private final static char D = '\u0434'; - private final static char E = '\u0435'; - //private final static char ZH = '\u0436'; - //private final static char Z = '\u0437'; - private final static char I = '\u0438'; - private final static char I_ = '\u0439'; - //private final static char K = '\u043A'; - private final static char L = '\u043B'; - private final static char M = '\u043C'; - private final static char N = '\u043D'; - private final static char O = '\u043E'; - //private final static char P = '\u043F'; - //private final static char R = '\u0440'; - private final static char S = '\u0441'; - private final static char T = '\u0442'; - private final static char U = '\u0443'; - //private final static char F = '\u0444'; - private final static char X = '\u0445'; - //private final static char TS = '\u0446'; - //private final static char CH = '\u0447'; - private final static char SH = '\u0448'; - private final static char SHCH = '\u0449'; - //private final static char HARD = '\u044A'; - private final static char Y = '\u044B'; - private final static char SOFT = '\u044C'; - private final static char AE = '\u044D'; - private final static char IU = '\u044E'; - private final static char IA = '\u044F'; - - // stem definitions - private static char[] vowels = { A, E, I, O, U, Y, AE, IU, IA }; - - private static char[][] perfectiveGerundEndings1 = { - { V }, - { V, SH, I }, - { V, SH, I, S, SOFT } - }; - - private static char[][] perfectiveGerund1Predessors = { - { A }, - { IA } - }; - - private static char[][] perfectiveGerundEndings2 = { { I, V }, { - Y, V }, { - I, V, SH, I }, { - Y, V, SH, I }, { - I, V, SH, I, S, SOFT }, { - Y, V, SH, I, S, SOFT } - }; - - private static char[][] adjectiveEndings = { - { E, E }, - { I, E }, - { Y, E }, - { O, E }, - { E, I_ }, - { I, I_ }, - { Y, I_ }, - { O, I_ }, - { E, M }, - { I, M }, - { Y, M }, - { O, M }, - { I, X }, - { Y, X }, - { U, IU }, - { IU, IU }, - { A, IA }, - { IA, IA }, - { O, IU }, - { E, IU }, - { I, M, I }, - { Y, M, I }, - { E, G, O }, - { O, G, O }, - { E, M, U }, - {O, M, U } - }; - - private static char[][] participleEndings1 = { - { SHCH }, - { E, M }, - { N, N }, - { V, SH }, - { IU, SHCH } - }; - - private static char[][] participleEndings2 = { - { I, V, SH }, - { Y, V, SH }, - { U, IU, SHCH } - }; - - private static char[][] participle1Predessors = { - { A }, - { IA } - }; - - private static char[][] reflexiveEndings = { - { S, IA }, - { S, SOFT } - }; - - private static char[][] verbEndings1 = { - { I_ }, - { L }, - { N }, - { L, O }, - { N, O }, - { E, T }, - { IU, T }, - { L, A }, - { N, A }, - { L, I }, - { E, M }, - { N, Y }, - { E, T, E }, - { I_, T, E }, - { T, SOFT }, - { E, SH, SOFT }, - { N, N, O } - }; - - private static char[][] verbEndings2 = { - { IU }, - { U, IU }, - { E, N }, - { E, I_ }, - { IA, T }, - { U, I_ }, - { I, L }, - { Y, L }, - { I, M }, - { Y, M }, - { I, T }, - { Y, T }, - { I, L, A }, - { Y, L, A }, - { E, N, A }, - { I, T, E }, - { I, L, I }, - { Y, L, I }, - { I, L, O }, - { Y, L, O }, - { E, N, O }, - { U, E, T }, - { U, IU, T }, - { E, N, Y }, - { I, T, SOFT }, - { Y, T, SOFT }, - { I, SH, SOFT }, - { E, I_, T, E }, - { U, I_, T, E } - }; - - private static char[][] verb1Predessors = { - { A }, - { IA } - }; - - private static char[][] nounEndings = { - { A }, - { U }, - { I_ }, - { O }, - { U }, - { E }, - { Y }, - { I }, - { SOFT }, - { IA }, - { E, V }, - { O, V }, - { I, E }, - { SOFT, E }, - { IA, X }, - { I, IU }, - { E, I }, - { I, I }, - { E, I_ }, - { O, I_ }, - { E, M }, - { A, M }, - { O, M }, - { A, X }, - { SOFT, IU }, - { I, IA }, - { SOFT, IA }, - { I, I_ }, - { IA, M }, - { IA, M, I }, - { A, M, I }, - { I, E, I_ }, - { I, IA, M }, - { I, E, M }, - { I, IA, X }, - { I, IA, M, I } - }; - - private static char[][] superlativeEndings = { - { E, I_, SH }, - { E, I_, SH, E } - }; - - private static char[][] derivationalEndings = { - { O, S, T }, - { O, S, T, SOFT } - }; - - /** - * RussianStemmer constructor comment. - */ - public RussianStemmer() - { - super(); - } - - /** - * Adjectival ending is an adjective ending, - * optionally preceded by participle ending. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean adjectival(StringBuilder stemmingZone) - { - // look for adjective ending in a stemming zone - if (!findAndRemoveEnding(stemmingZone, adjectiveEndings)) - return false; - // if adjective ending was found, try for participle ending. - if (!findAndRemoveEnding(stemmingZone, participleEndings1, participle1Predessors)) - findAndRemoveEnding(stemmingZone, participleEndings2); - return true; - } - - /** - * Derivational endings - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean derivational(StringBuilder stemmingZone) - { - int endingLength = findEnding(stemmingZone, derivationalEndings); - if (endingLength == 0) - // no derivational ending found - return false; - else - { - // Ensure that the ending locates in R2 - if (R2 - RV <= stemmingZone.length() - endingLength) - { - stemmingZone.setLength(stemmingZone.length() - endingLength); - return true; - } - else - { - return false; - } - } - } - - /** - * Finds ending among given ending class and returns the length of ending found(0, if not found). - * Creation date: (17/03/2002 8:18:34 PM) - */ - private int findEnding(StringBuilder stemmingZone, int startIndex, char[][] theEndingClass) - { - boolean match = false; - for (int i = theEndingClass.length - 1; i >= 0; i--) - { - char[] theEnding = theEndingClass[i]; - // check if the ending is bigger than stemming zone - if (startIndex < theEnding.length - 1) - { - match = false; - continue; - } - match = true; - int stemmingIndex = startIndex; - for (int j = theEnding.length - 1; j >= 0; j--) - { - if (stemmingZone.charAt(stemmingIndex--) != theEnding[j]) - { - match = false; - break; - } - } - // check if ending was found - if (match) - { - return theEndingClass[i].length; // cut ending - } - } - return 0; - } - - private int findEnding(StringBuilder stemmingZone, char[][] theEndingClass) - { - return findEnding(stemmingZone, stemmingZone.length() - 1, theEndingClass); - } - - /** - * Finds the ending among the given class of endings and removes it from stemming zone. - * Creation date: (17/03/2002 8:18:34 PM) - */ - private boolean findAndRemoveEnding(StringBuilder stemmingZone, char[][] theEndingClass) - { - int endingLength = findEnding(stemmingZone, theEndingClass); - if (endingLength == 0) - // not found - return false; - else { - stemmingZone.setLength(stemmingZone.length() - endingLength); - // cut the ending found - return true; - } - } - - /** - * Finds the ending among the given class of endings, then checks if this ending was - * preceded by any of given predecessors, and if so, removes it from stemming zone. - * Creation date: (17/03/2002 8:18:34 PM) - */ - private boolean findAndRemoveEnding(StringBuilder stemmingZone, - char[][] theEndingClass, char[][] thePredessors) - { - int endingLength = findEnding(stemmingZone, theEndingClass); - if (endingLength == 0) - // not found - return false; - else - { - int predessorLength = - findEnding(stemmingZone, - stemmingZone.length() - endingLength - 1, - thePredessors); - if (predessorLength == 0) - return false; - else { - stemmingZone.setLength(stemmingZone.length() - endingLength); - // cut the ending found - return true; - } - } - - } - - /** - * Marks positions of RV, R1 and R2 in a given word. - * Creation date: (16/03/2002 3:40:11 PM) - */ - private void markPositions(String word) - { - RV = 0; -// R1 = 0; - R2 = 0; - int i = 0; - // find RV - while (word.length() > i && !isVowel(word.charAt(i))) - { - i++; - } - if (word.length() - 1 < ++i) - return; // RV zone is empty - RV = i; - // find R1 - while (word.length() > i && isVowel(word.charAt(i))) - { - i++; - } - if (word.length() - 1 < ++i) - return; // R1 zone is empty -// R1 = i; - // find R2 - while (word.length() > i && !isVowel(word.charAt(i))) - { - i++; - } - if (word.length() - 1 < ++i) - return; // R2 zone is empty - while (word.length() > i && isVowel(word.charAt(i))) - { - i++; - } - if (word.length() - 1 < ++i) - return; // R2 zone is empty - R2 = i; - } - - /** - * Checks if character is a vowel.. - * Creation date: (16/03/2002 10:47:03 PM) - * @return boolean - * @param letter char - */ - private boolean isVowel(char letter) - { - for (int i = 0; i < vowels.length; i++) - { - if (letter == vowels[i]) - return true; - } - return false; - } - - /** - * Noun endings. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean noun(StringBuilder stemmingZone) - { - return findAndRemoveEnding(stemmingZone, nounEndings); - } - - /** - * Perfective gerund endings. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean perfectiveGerund(StringBuilder stemmingZone) - { - return findAndRemoveEnding( - stemmingZone, - perfectiveGerundEndings1, - perfectiveGerund1Predessors) - || findAndRemoveEnding(stemmingZone, perfectiveGerundEndings2); - } - - /** - * Reflexive endings. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean reflexive(StringBuilder stemmingZone) - { - return findAndRemoveEnding(stemmingZone, reflexiveEndings); - } - - /** - * Insert the method's description here. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean removeI(StringBuilder stemmingZone) - { - if (stemmingZone.length() > 0 - && stemmingZone.charAt(stemmingZone.length() - 1) == I) - { - stemmingZone.setLength(stemmingZone.length() - 1); - return true; - } - else - { - return false; - } - } - - /** - * Insert the method's description here. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean removeSoft(StringBuilder stemmingZone) - { - if (stemmingZone.length() > 0 - && stemmingZone.charAt(stemmingZone.length() - 1) == SOFT) - { - stemmingZone.setLength(stemmingZone.length() - 1); - return true; - } - else - { - return false; - } - } - - /** - * Finds the stem for given Russian word. - * Creation date: (16/03/2002 3:36:48 PM) - * @return java.lang.String - * @param input java.lang.String - */ - public String stem(String input) - { - markPositions(input); - if (RV == 0) - return input; //RV wasn't detected, nothing to stem - StringBuilder stemmingZone = new StringBuilder(input.substring(RV)); - // stemming goes on in RV - // Step 1 - - if (!perfectiveGerund(stemmingZone)) - { - reflexive(stemmingZone); - if (!adjectival(stemmingZone)) - if (!verb(stemmingZone)) - noun(stemmingZone); - } - // Step 2 - removeI(stemmingZone); - // Step 3 - derivational(stemmingZone); - // Step 4 - superlative(stemmingZone); - undoubleN(stemmingZone); - removeSoft(stemmingZone); - // return result - return input.substring(0, RV) + stemmingZone.toString(); - } - - /** - * Superlative endings. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean superlative(StringBuilder stemmingZone) - { - return findAndRemoveEnding(stemmingZone, superlativeEndings); - } - - /** - * Undoubles N. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean undoubleN(StringBuilder stemmingZone) - { - char[][] doubleN = { - { N, N } - }; - if (findEnding(stemmingZone, doubleN) != 0) - { - stemmingZone.setLength(stemmingZone.length() - 1); - return true; - } - else - { - return false; - } - } - - /** - * Verb endings. - * Creation date: (17/03/2002 12:14:58 AM) - * @param stemmingZone java.lang.StringBuilder - */ - private boolean verb(StringBuilder stemmingZone) - { - return findAndRemoveEnding( - stemmingZone, - verbEndings1, - verb1Predessors) - || findAndRemoveEnding(stemmingZone, verbEndings2); - } - - /** - * Static method for stemming. - */ - public static String stemWord(String theWord) - { - RussianStemmer stemmer = new RussianStemmer(); - return stemmer.stem(theWord); - } -} diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java index 17b34cede49..0bd7b099bd0 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java @@ -24,9 +24,9 @@ import org.apache.lucene.analysis.en.EnglishPossessiveFilter; import org.apache.lucene.analysis.standard.*; import org.apache.lucene.analysis.tr.TurkishLowerCaseFilter; import org.apache.lucene.analysis.util.CharArraySet; +import org.apache.lucene.analysis.util.ReusableAnalyzerBase; import org.apache.lucene.util.Version; -import java.io.IOException; import java.io.Reader; import java.util.Set; @@ -43,11 +43,11 @@ import java.util.Set; *
  • As of 3.1, uses {@link TurkishLowerCaseFilter} for Turkish language. * *

    - * @deprecated Use the language-specific analyzer in modules/analysis instead. - * This analyzer will be removed in Lucene 4.0 + * @deprecated (3.1) Use the language-specific analyzer in modules/analysis instead. + * This analyzer will be removed in Lucene 5.0 */ @Deprecated -public final class SnowballAnalyzer extends Analyzer { +public final class SnowballAnalyzer extends ReusableAnalyzerBase { private String name; private Set stopSet; private final Version matchVersion; @@ -58,16 +58,6 @@ public final class SnowballAnalyzer extends Analyzer { this.matchVersion = matchVersion; } - /** - * Builds the named analyzer with the given stop words. - * @deprecated Use {@link #SnowballAnalyzer(Version, String, Set)} instead. - */ - @Deprecated - public SnowballAnalyzer(Version matchVersion, String name, String[] stopWords) { - this(matchVersion, name); - stopSet = StopFilter.makeStopSet(matchVersion, stopWords); - } - /** Builds the named analyzer with the given stop words. */ public SnowballAnalyzer(Version matchVersion, String name, Set stopWords) { this(matchVersion, name); @@ -79,9 +69,9 @@ public final class SnowballAnalyzer extends Analyzer { StandardFilter}, a {@link LowerCaseFilter}, a {@link StopFilter}, and a {@link SnowballFilter} */ @Override - public TokenStream tokenStream(String fieldName, Reader reader) { - TokenStream result = new StandardTokenizer(matchVersion, reader); - result = new StandardFilter(matchVersion, result); + public TokenStreamComponents createComponents(String fieldName, Reader reader) { + Tokenizer tokenizer = new StandardTokenizer(matchVersion, reader); + TokenStream result = new StandardFilter(matchVersion, tokenizer); // remove the possessive 's for english stemmers if (matchVersion.onOrAfter(Version.LUCENE_31) && (name.equals("English") || name.equals("Porter") || name.equals("Lovins"))) @@ -95,38 +85,6 @@ public final class SnowballAnalyzer extends Analyzer { result = new StopFilter(matchVersion, result, stopSet); result = new SnowballFilter(result, name); - return result; - } - - private class SavedStreams { - Tokenizer source; - TokenStream result; - } - - /** Returns a (possibly reused) {@link StandardTokenizer} filtered by a - * {@link StandardFilter}, a {@link LowerCaseFilter}, - * a {@link StopFilter}, and a {@link SnowballFilter} */ - @Override - public TokenStream reusableTokenStream(String fieldName, Reader reader) - throws IOException { - SavedStreams streams = (SavedStreams) getPreviousTokenStream(); - if (streams == null) { - streams = new SavedStreams(); - streams.source = new StandardTokenizer(matchVersion, reader); - streams.result = new StandardFilter(matchVersion, streams.source); - // Use a special lowercase filter for turkish, the stemmer expects it. - if (matchVersion.onOrAfter(Version.LUCENE_31) && name.equals("Turkish")) - streams.result = new TurkishLowerCaseFilter(streams.result); - else - streams.result = new LowerCaseFilter(matchVersion, streams.result); - if (stopSet != null) - streams.result = new StopFilter(matchVersion, - streams.result, stopSet); - streams.result = new SnowballFilter(streams.result, name); - setPreviousTokenStream(streams); - } else { - streams.source.reset(reader); - } - return streams.result; + return new TokenStreamComponents(tokenizer, result); } } diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java index bff61b79323..c856b524c0c 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java @@ -58,12 +58,6 @@ public final class ClassicAnalyzer extends StopwordAnalyzerBase { private int maxTokenLength = DEFAULT_MAX_TOKEN_LENGTH; - /** - * Specifies whether deprecated acronyms should be replaced with HOST type. - * See {@linkplain "https://issues.apache.org/jira/browse/LUCENE-1068"} - */ - private final boolean replaceInvalidAcronym; - /** An unmodifiable set containing some common English words that are usually not useful for searching. */ public static final Set STOP_WORDS_SET = StopAnalyzer.ENGLISH_STOP_WORDS_SET; @@ -74,7 +68,6 @@ public final class ClassicAnalyzer extends StopwordAnalyzerBase { * @param stopWords stop words */ public ClassicAnalyzer(Version matchVersion, Set stopWords) { super(matchVersion, stopWords); - replaceInvalidAcronym = matchVersion.onOrAfter(Version.LUCENE_24); } /** Builds an analyzer with the default stop words ({@link @@ -125,7 +118,6 @@ public final class ClassicAnalyzer extends StopwordAnalyzerBase { protected TokenStreamComponents createComponents(final String fieldName, final Reader reader) { final ClassicTokenizer src = new ClassicTokenizer(matchVersion, reader); src.setMaxTokenLength(maxTokenLength); - src.setReplaceInvalidAcronym(replaceInvalidAcronym); TokenStream tok = new ClassicFilter(src); tok = new LowerCaseFilter(matchVersion, tok); tok = new StopFilter(matchVersion, tok, stopwords); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java index eb4c993a39f..9c768cda993 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java @@ -44,14 +44,6 @@ import org.apache.lucene.util.Version; * not suit your application, please consider copying this source code * directory to your project and maintaining your own grammar-based tokenizer. * - * - *

    You must specify the required {@link Version} - * compatibility when creating ClassicAnalyzer: - *

    - * * ClassicTokenizer was named StandardTokenizer in Lucene versions prior to 3.1. * As of 3.1, {@link StandardTokenizer} implements Unicode text segmentation, * as specified by UAX#29. @@ -70,13 +62,8 @@ public final class ClassicTokenizer extends Tokenizer { public static final int NUM = 6; public static final int CJ = 7; - /** - * @deprecated this solves a bug where HOSTs that end with '.' are identified - * as ACRONYMs. - */ - @Deprecated public static final int ACRONYM_DEP = 8; - + /** String token types that correspond to token type int constants */ public static final String [] TOKEN_TYPES = new String [] { "", @@ -90,8 +77,6 @@ public final class ClassicTokenizer extends Tokenizer { "" }; - private boolean replaceInvalidAcronym; - private int maxTokenLength = StandardAnalyzer.DEFAULT_MAX_TOKEN_LENGTH; /** Set the max allowed token length. Any token longer @@ -134,15 +119,9 @@ public final class ClassicTokenizer extends Tokenizer { init(input, matchVersion); } - private final void init(Reader input, Version matchVersion) { + private void init(Reader input, Version matchVersion) { this.scanner = new ClassicTokenizerImpl(input); - - if (matchVersion.onOrAfter(Version.LUCENE_24)) { - replaceInvalidAcronym = true; - } else { - replaceInvalidAcronym = false; - } - this.input = input; + this.input = input; } // this tokenizer generates three attributes: @@ -174,16 +153,10 @@ public final class ClassicTokenizer extends Tokenizer { scanner.getText(termAtt); final int start = scanner.yychar(); offsetAtt.setOffset(correctOffset(start), correctOffset(start+termAtt.length())); - // This 'if' should be removed in the next release. For now, it converts - // invalid acronyms to HOST. When removed, only the 'else' part should - // remain. + if (tokenType == ClassicTokenizer.ACRONYM_DEP) { - if (replaceInvalidAcronym) { - typeAtt.setType(ClassicTokenizer.TOKEN_TYPES[ClassicTokenizer.HOST]); - termAtt.setLength(termAtt.length() - 1); // remove extra '.' - } else { - typeAtt.setType(ClassicTokenizer.TOKEN_TYPES[ClassicTokenizer.ACRONYM]); - } + typeAtt.setType(ClassicTokenizer.TOKEN_TYPES[ClassicTokenizer.HOST]); + termAtt.setLength(termAtt.length() - 1); // remove extra '.' } else { typeAtt.setType(ClassicTokenizer.TOKEN_TYPES[tokenType]); } @@ -207,28 +180,4 @@ public final class ClassicTokenizer extends Tokenizer { super.reset(reader); scanner.yyreset(reader); } - - /** - * Prior to https://issues.apache.org/jira/browse/LUCENE-1068, ClassicTokenizer mischaracterized as acronyms tokens like www.abc.com - * when they should have been labeled as hosts instead. - * @return true if ClassicTokenizer now returns these tokens as Hosts, otherwise false - * - * @deprecated Remove in 3.X and make true the only valid value - */ - @Deprecated - public boolean isReplaceInvalidAcronym() { - return replaceInvalidAcronym; - } - - /** - * - * @param replaceInvalidAcronym Set to true to replace mischaracterized acronyms as HOST. - * @deprecated Remove in 3.X and make true the only valid value - * - * See https://issues.apache.org/jira/browse/LUCENE-1068 - */ - @Deprecated - public void setReplaceInvalidAcronym(boolean replaceInvalidAcronym) { - this.replaceInvalidAcronym = replaceInvalidAcronym; - } } diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java index c1fa941e1d8..18d1b7be027 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java @@ -355,11 +355,6 @@ public static final int EMAIL = StandardTokenizer.EMAIL; public static final int HOST = StandardTokenizer.HOST; public static final int NUM = StandardTokenizer.NUM; public static final int CJ = StandardTokenizer.CJ; -/** - * @deprecated this solves a bug where HOSTs that end with '.' are identified - * as ACRONYMs. - */ -@Deprecated public static final int ACRONYM_DEP = StandardTokenizer.ACRONYM_DEP; public static final String [] TOKEN_TYPES = StandardTokenizer.TOKEN_TYPES; diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex index 037b71a68c8..ce2bf056369 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex @@ -47,11 +47,6 @@ public static final int EMAIL = StandardTokenizer.EMAIL; public static final int HOST = StandardTokenizer.HOST; public static final int NUM = StandardTokenizer.NUM; public static final int CJ = StandardTokenizer.CJ; -/** - * @deprecated this solves a bug where HOSTs that end with '.' are identified - * as ACRONYMs. - */ -@Deprecated public static final int ACRONYM_DEP = StandardTokenizer.ACRONYM_DEP; public static final String [] TOKEN_TYPES = StandardTokenizer.TOKEN_TYPES; diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java index 4a030fd40fb..d0287208490 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java @@ -56,12 +56,6 @@ public final class StandardAnalyzer extends StopwordAnalyzerBase { private int maxTokenLength = DEFAULT_MAX_TOKEN_LENGTH; - /** - * Specifies whether deprecated acronyms should be replaced with HOST type. - * See {@linkplain "https://issues.apache.org/jira/browse/LUCENE-1068"} - */ - private final boolean replaceInvalidAcronym; - /** An unmodifiable set containing some common English words that are usually not useful for searching. */ public static final Set STOP_WORDS_SET = StopAnalyzer.ENGLISH_STOP_WORDS_SET; @@ -72,7 +66,6 @@ public final class StandardAnalyzer extends StopwordAnalyzerBase { * @param stopWords stop words */ public StandardAnalyzer(Version matchVersion, Set stopWords) { super(matchVersion, stopWords); - replaceInvalidAcronym = matchVersion.onOrAfter(Version.LUCENE_24); } /** Builds an analyzer with the default stop words ({@link @@ -123,7 +116,6 @@ public final class StandardAnalyzer extends StopwordAnalyzerBase { protected TokenStreamComponents createComponents(final String fieldName, final Reader reader) { final StandardTokenizer src = new StandardTokenizer(matchVersion, reader); src.setMaxTokenLength(maxTokenLength); - src.setReplaceInvalidAcronym(replaceInvalidAcronym); TokenStream tok = new StandardFilter(matchVersion, src); tok = new LowerCaseFilter(matchVersion, tok); tok = new StopFilter(matchVersion, tok, stopwords); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java index 7eeb87c51ee..877146616a6 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java @@ -31,12 +31,6 @@ import org.apache.lucene.util.Version; public class StandardFilter extends TokenFilter { private final Version matchVersion; - /** @deprecated Use {@link #StandardFilter(Version, TokenStream)} instead. */ - @Deprecated - public StandardFilter(TokenStream in) { - this(Version.LUCENE_30, in); - } - public StandardFilter(Version matchVersion, TokenStream in) { super(in); this.matchVersion = matchVersion; diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java index d487b26c80c..9370de77874 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java @@ -17,6 +17,9 @@ package org.apache.lucene.analysis.standard; +import java.io.IOException; +import java.io.Reader; + import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; @@ -25,9 +28,6 @@ import org.apache.lucene.analysis.tokenattributes.TypeAttribute; import org.apache.lucene.util.AttributeSource; import org.apache.lucene.util.Version; -import java.io.IOException; -import java.io.Reader; - /** A grammar-based tokenizer constructed with JFlex. *

    * As of Lucene version 3.1, this class implements the Word Break rules from the @@ -61,28 +61,25 @@ public final class StandardTokenizer extends Tokenizer { private StandardTokenizerInterface scanner; public static final int ALPHANUM = 0; - /** @deprecated */ + /** @deprecated (3.1) */ @Deprecated public static final int APOSTROPHE = 1; - /** @deprecated */ + /** @deprecated (3.1) */ @Deprecated public static final int ACRONYM = 2; - /** @deprecated */ + /** @deprecated (3.1) */ @Deprecated public static final int COMPANY = 3; public static final int EMAIL = 4; - /** @deprecated */ + /** @deprecated (3.1) */ @Deprecated public static final int HOST = 5; public static final int NUM = 6; - /** @deprecated */ + /** @deprecated (3.1) */ @Deprecated public static final int CJ = 7; - /** - * @deprecated this solves a bug where HOSTs that end with '.' are identified - * as ACRONYMs. - */ + /** @deprecated (3.1) */ @Deprecated public static final int ACRONYM_DEP = 8; @@ -108,8 +105,6 @@ public final class StandardTokenizer extends Tokenizer { "" }; - private boolean replaceInvalidAcronym; - private int maxTokenLength = StandardAnalyzer.DEFAULT_MAX_TOKEN_LENGTH; /** Set the max allowed token length. Any token longer @@ -155,12 +150,7 @@ public final class StandardTokenizer extends Tokenizer { private final void init(Reader input, Version matchVersion) { this.scanner = matchVersion.onOrAfter(Version.LUCENE_31) ? new StandardTokenizerImpl(input) : new ClassicTokenizerImpl(input); - if (matchVersion.onOrAfter(Version.LUCENE_24)) { - replaceInvalidAcronym = true; - } else { - replaceInvalidAcronym = false; - } - this.input = input; + this.input = input; } // this tokenizer generates three attributes: @@ -196,12 +186,8 @@ public final class StandardTokenizer extends Tokenizer { // invalid acronyms to HOST. When removed, only the 'else' part should // remain. if (tokenType == StandardTokenizer.ACRONYM_DEP) { - if (replaceInvalidAcronym) { - typeAtt.setType(StandardTokenizer.TOKEN_TYPES[StandardTokenizer.HOST]); - termAtt.setLength(termAtt.length() - 1); // remove extra '.' - } else { - typeAtt.setType(StandardTokenizer.TOKEN_TYPES[StandardTokenizer.ACRONYM]); - } + typeAtt.setType(StandardTokenizer.TOKEN_TYPES[StandardTokenizer.HOST]); + termAtt.setLength(termAtt.length() - 1); // remove extra '.' } else { typeAtt.setType(StandardTokenizer.TOKEN_TYPES[tokenType]); } @@ -225,28 +211,4 @@ public final class StandardTokenizer extends Tokenizer { super.reset(reader); scanner.yyreset(reader); } - - /** - * Prior to https://issues.apache.org/jira/browse/LUCENE-1068, StandardTokenizer mischaracterized as acronyms tokens like www.abc.com - * when they should have been labeled as hosts instead. - * @return true if StandardTokenizer now returns these tokens as Hosts, otherwise false - * - * @deprecated Remove in 3.X and make true the only valid value - */ - @Deprecated - public boolean isReplaceInvalidAcronym() { - return replaceInvalidAcronym; - } - - /** - * - * @param replaceInvalidAcronym Set to true to replace mischaracterized acronyms as HOST. - * @deprecated Remove in 3.X and make true the only valid value - * - * See https://issues.apache.org/jira/browse/LUCENE-1068 - */ - @Deprecated - public void setReplaceInvalidAcronym(boolean replaceInvalidAcronym) { - this.replaceInvalidAcronym = replaceInvalidAcronym; - } } diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java index 1defd7010c6..ea8ba38c996 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java @@ -53,9 +53,9 @@ public class SynonymMap { SynonymMap currMap = this; for (String str : singleMatch) { if (currMap.submap==null) { - // for now hardcode at 2.9, as its what the old code did. + // for now hardcode at 4.0, as its what the old code did. // would be nice to fix, but shouldn't store a version in each submap!!! - currMap.submap = new CharArrayMap(Version.LUCENE_29, 1, ignoreCase()); + currMap.submap = new CharArrayMap(Version.LUCENE_40, 1, ignoreCase()); } SynonymMap map = currMap.submap.get(str); diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiWordFilter.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiWordFilter.java index 2f6caf95cd9..8f0935c11e7 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiWordFilter.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiWordFilter.java @@ -17,17 +17,17 @@ package org.apache.lucene.analysis.th; */ import java.io.IOException; -import java.util.Locale; import java.lang.Character.UnicodeBlock; -import javax.swing.text.Segment; import java.text.BreakIterator; +import java.util.Locale; +import javax.swing.text.Segment; import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.LowerCaseFilter; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; -import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; +import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.util.AttributeSource; import org.apache.lucene.util.Version; @@ -69,14 +69,6 @@ public final class ThaiWordFilter extends TokenFilter { private OffsetAttribute clonedOffsetAtt = null; private boolean hasMoreTokensInClone = false; - /** Creates a new ThaiWordFilter that also lowercases non-thai text. - * @deprecated Use the ctor with {@code matchVersion} instead! - */ - @Deprecated - public ThaiWordFilter(TokenStream input) { - this(Version.LUCENE_30, input); - } - /** Creates a new ThaiWordFilter with the specified match version. */ public ThaiWordFilter(Version matchVersion, TokenStream input) { super(matchVersion.onOrAfter(Version.LUCENE_31) ? diff --git a/modules/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java b/modules/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java index 9c0260dad54..25dd6b53700 100644 --- a/modules/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java +++ b/modules/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java @@ -51,8 +51,7 @@ import org.apache.lucene.util.Version; * that has a string representation. The add methods will use * {@link Object#toString} and store the result using a {@code char[]} * buffer. The same behavior have the {@code contains()} methods. - * The {@link #iterator()} returns an {@code Iterator}. - * For type safety also {@link #stringIterator()} is provided. + * The {@link #iterator()} returns an {@code Iterator}. */ public class CharArraySet extends AbstractSet { public static final CharArraySet EMPTY_SET = new CharArraySet(CharArrayMap.emptyMap()); @@ -93,37 +92,6 @@ public class CharArraySet extends AbstractSet { addAll(c); } - /** - * Creates a set with enough capacity to hold startSize terms - * - * @param startSize - * the initial capacity - * @param ignoreCase - * false if and only if the set should be case sensitive - * otherwise true. - * @deprecated use {@link #CharArraySet(Version, int, boolean)} instead - */ - @Deprecated - public CharArraySet(int startSize, boolean ignoreCase) { - this(Version.LUCENE_30, startSize, ignoreCase); - } - - /** - * Creates a set from a Collection of objects. - * - * @param c - * a collection whose elements to be placed into the set - * @param ignoreCase - * false if and only if the set should be case sensitive - * otherwise true. - * @deprecated use {@link #CharArraySet(Version, Collection, boolean)} instead - */ - @Deprecated - public CharArraySet(Collection c, boolean ignoreCase) { - this(Version.LUCENE_30, c.size(), ignoreCase); - addAll(c); - } - /** Create set from the specified map (internal only), used also by {@link CharArrayMap#keySet()} */ CharArraySet(final CharArrayMap map){ this.map = map; @@ -199,24 +167,6 @@ public class CharArraySet extends AbstractSet { return new CharArraySet(CharArrayMap.unmodifiableMap(set.map)); } - /** - * Returns a copy of the given set as a {@link CharArraySet}. If the given set - * is a {@link CharArraySet} the ignoreCase property will be preserved. - * - * @param set - * a set to copy - * @return a copy of the given set as a {@link CharArraySet}. If the given set - * is a {@link CharArraySet} the ignoreCase and matchVersion property will be - * preserved. - * @deprecated use {@link #copy(Version, Set)} instead. - */ - @Deprecated - public static CharArraySet copy(final Set set) { - if(set == EMPTY_SET) - return EMPTY_SET; - return copy(Version.LUCENE_30, set); - } - /** * Returns a copy of the given set as a {@link CharArraySet}. If the given set * is a {@link CharArraySet} the ignoreCase property will be preserved. @@ -248,68 +198,13 @@ public class CharArraySet extends AbstractSet { return new CharArraySet(matchVersion, set, false); } - /** The Iterator for this set. Strings are constructed on the fly, so - * use nextCharArray for more efficient access. - * @deprecated Use the standard iterator, which returns {@code char[]} instances. - */ - @Deprecated - public class CharArraySetIterator implements Iterator { - int pos=-1; - char[] next; - private CharArraySetIterator() { - goNext(); - } - - private void goNext() { - next = null; - pos++; - while (pos < map.keys.length && (next=map.keys[pos]) == null) pos++; - } - - public boolean hasNext() { - return next != null; - } - - /** do not modify the returned char[] */ - public char[] nextCharArray() { - char[] ret = next; - goNext(); - return ret; - } - - /** Returns the next String, as a Set would... - * use nextCharArray() for better efficiency. */ - public String next() { - return new String(nextCharArray()); - } - - public void remove() { - throw new UnsupportedOperationException(); - } - } - - /** returns an iterator of new allocated Strings (an instance of {@link CharArraySetIterator}). - * @deprecated Use {@link #iterator}, which returns {@code char[]} instances. - */ - @Deprecated - public Iterator stringIterator() { - return new CharArraySetIterator(); - } - - /** Returns an {@link Iterator} depending on the version used: - *
      - *
    • if {@code matchVersion} ≥ 3.1, it returns {@code char[]} instances in this set.
    • - *
    • if {@code matchVersion} is 3.0 or older, it returns new - * allocated Strings, so this method violates the Set interface. - * It is kept this way for backwards compatibility, normally it should - * return {@code char[]} on {@code next()}
    • - *
    + /** + * Returns an {@link Iterator} for {@code char[]} instances in this set. */ @Override @SuppressWarnings("unchecked") public Iterator iterator() { // use the AbstractSet#keySet()'s iterator (to not produce endless recursion) - return map.matchVersion.onOrAfter(Version.LUCENE_31) ? - map.originalKeySet().iterator() : (Iterator) stringIterator(); + return map.originalKeySet().iterator(); } @Override diff --git a/modules/analysis/common/src/java/org/tartarus/snowball/SnowballProgram.java b/modules/analysis/common/src/java/org/tartarus/snowball/SnowballProgram.java index 0aaa1de67d4..bca16c6ee20 100644 --- a/modules/analysis/common/src/java/org/tartarus/snowball/SnowballProgram.java +++ b/modules/analysis/common/src/java/org/tartarus/snowball/SnowballProgram.java @@ -239,13 +239,6 @@ public abstract class SnowballProgram { return true; } - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected boolean eq_s(int s_size, String s) - { - return eq_s(s_size, (CharSequence)s); - } - protected boolean eq_s_b(int s_size, CharSequence s) { if (cursor - limit_backward < s_size) return false; @@ -257,35 +250,15 @@ public abstract class SnowballProgram { return true; } - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected boolean eq_s_b(int s_size, String s) - { - return eq_s_b(s_size, (CharSequence)s); - } - protected boolean eq_v(CharSequence s) { return eq_s(s.length(), s); } - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected boolean eq_v(StringBuilder s) - { - return eq_s(s.length(), (CharSequence)s); - } - protected boolean eq_v_b(CharSequence s) { return eq_s_b(s.length(), s); } - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected boolean eq_v_b(StringBuilder s) - { return eq_s_b(s.length(), (CharSequence)s); - } - protected int find_among(Among v[], int v_size) { int i = 0; @@ -456,12 +429,6 @@ public abstract class SnowballProgram { return adjustment; } - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected int replace_s(int c_bra, int c_ket, String s) { - return replace_s(c_bra, c_ket, (CharSequence)s); - } - protected void slice_check() { if (bra < 0 || @@ -484,20 +451,6 @@ public abstract class SnowballProgram { replace_s(bra, ket, s); } - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected void slice_from(String s) - { - slice_from((CharSequence)s); - } - - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected void slice_from(StringBuilder s) - { - slice_from((CharSequence)s); - } - protected void slice_del() { slice_from((CharSequence)""); @@ -510,20 +463,6 @@ public abstract class SnowballProgram { if (c_bra <= ket) ket += adjustment; } - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected void insert(int c_bra, int c_ket, String s) - { - insert(c_bra, c_ket, (CharSequence)s); - } - - /** @deprecated for binary back compat. Will be removed in Lucene 4.0 */ - @Deprecated - protected void insert(int c_bra, int c_ket, StringBuilder s) - { - insert(c_bra, c_ket, (CharSequence)s); - } - /* Copy the slice into the supplied StringBuffer */ protected StringBuilder slice_to(StringBuilder s) { diff --git a/modules/analysis/common/src/resources/org/apache/lucene/analysis/cjk/stopwords.txt b/modules/analysis/common/src/resources/org/apache/lucene/analysis/cjk/stopwords.txt new file mode 100644 index 00000000000..fbf8017f292 --- /dev/null +++ b/modules/analysis/common/src/resources/org/apache/lucene/analysis/cjk/stopwords.txt @@ -0,0 +1,35 @@ +a +and +are +as +at +be +but +by +for +if +in +into +is +it +no +not +of +on +or +s +such +t +that +the +their +then +there +these +they +this +to +was +will +with +www diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemmer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemmer.java index 1bdebea41a2..b21e35f0823 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemmer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemmer.java @@ -19,9 +19,10 @@ package org.apache.lucene.analysis.br; import java.io.IOException; import java.io.StringReader; +import java.util.Collections; -import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.core.LowerCaseTokenizer; import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; import org.apache.lucene.analysis.util.CharArraySet; @@ -135,19 +136,10 @@ public class TestBrazilianStemmer extends BaseTokenStreamTestCase { } public void testStemExclusionTable() throws Exception { - BrazilianAnalyzer a = new BrazilianAnalyzer(TEST_VERSION_CURRENT); - a.setStemExclusionTable(new String[] { "quintessência" }); + BrazilianAnalyzer a = new BrazilianAnalyzer(TEST_VERSION_CURRENT, Collections.emptySet(), asSet("quintessência")); checkReuse(a, "quintessência", "quintessência"); // excluded words will be completely unchanged. } - public void testStemExclusionTableBWCompat() throws IOException { - CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); - set.add("Brasília"); - BrazilianStemFilter filter = new BrazilianStemFilter( - new LowerCaseTokenizer(TEST_VERSION_CURRENT, new StringReader("Brasília Brasilia")), set); - assertTokenStreamContents(filter, new String[] { "brasília", "brasil" }); - } - public void testWithKeywordAttribute() throws IOException { CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); set.add("Brasília"); @@ -157,28 +149,6 @@ public class TestBrazilianStemmer extends BaseTokenStreamTestCase { assertTokenStreamContents(filter, new String[] { "brasília", "brasil" }); } - public void testWithKeywordAttributeAndExclusionTable() throws IOException { - CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); - set.add("Brasília"); - CharArraySet set1 = new CharArraySet(TEST_VERSION_CURRENT, 1, true); - set1.add("Brasilia"); - BrazilianStemFilter filter = new BrazilianStemFilter( - new KeywordMarkerFilter(new LowerCaseTokenizer(TEST_VERSION_CURRENT, new StringReader( - "Brasília Brasilia")), set), set1); - assertTokenStreamContents(filter, new String[] { "brasília", "brasilia" }); - } - - /* - * Test that changes to the exclusion table are applied immediately - * when using reusable token streams. - */ - public void testExclusionTableReuse() throws Exception { - BrazilianAnalyzer a = new BrazilianAnalyzer(TEST_VERSION_CURRENT); - checkReuse(a, "quintessência", "quintessente"); - a.setStemExclusionTable(new String[] { "quintessência" }); - checkReuse(a, "quintessência", "quintessência"); - } - private void check(final String input, final String expected) throws Exception { checkOneTerm(new BrazilianAnalyzer(TEST_VERSION_CURRENT), input, expected); } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java index 769db62b876..9a814362cf8 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java @@ -18,6 +18,7 @@ package org.apache.lucene.analysis.commongrams; import java.io.Reader; import java.io.StringReader; +import java.util.Arrays; import java.util.Set; import org.apache.lucene.analysis.Analyzer; @@ -26,18 +27,20 @@ import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.WhitespaceTokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.util.CharArraySet; /** * Tests CommonGrams(Query)Filter */ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { - private static final String[] commonWords = { "s", "a", "b", "c", "d", "the", - "of" }; + private static final CharArraySet commonWords = new CharArraySet(TEST_VERSION_CURRENT, Arrays.asList( + "s", "a", "b", "c", "d", "the", "of" + ), false); public void testReset() throws Exception { final String input = "How the s a brown s cow d like A B thing?"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - CommonGramsFilter cgf = new CommonGramsFilter(wt, commonWords); + CommonGramsFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); CharTermAttribute term = cgf.addAttribute(CharTermAttribute.class); assertTrue(cgf.incrementToken()); @@ -58,7 +61,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { public void testQueryReset() throws Exception { final String input = "How the s a brown s cow d like A B thing?"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - CommonGramsFilter cgf = new CommonGramsFilter(wt, commonWords); + CommonGramsFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); CommonGramsQueryFilter nsf = new CommonGramsQueryFilter(cgf); CharTermAttribute term = wt.addAttribute(CharTermAttribute.class); @@ -88,7 +91,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { Analyzer a = new Analyzer() { @Override public TokenStream tokenStream(String field, Reader in) { - return new CommonGramsQueryFilter(new CommonGramsFilter( + return new CommonGramsQueryFilter(new CommonGramsFilter(TEST_VERSION_CURRENT, new WhitespaceTokenizer(TEST_VERSION_CURRENT, in), commonWords)); } }; @@ -157,7 +160,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { Analyzer a = new Analyzer() { @Override public TokenStream tokenStream(String field, Reader in) { - return new CommonGramsFilter( + return new CommonGramsFilter(TEST_VERSION_CURRENT, new WhitespaceTokenizer(TEST_VERSION_CURRENT, in), commonWords); } }; @@ -245,8 +248,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { public void testCaseSensitive() throws Exception { final String input = "How The s a brown s cow d like A B thing?"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - Set common = CommonGramsFilter.makeCommonSet(commonWords); - TokenFilter cgf = new CommonGramsFilter(wt, common, false); + TokenFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); assertTokenStreamContents(cgf, new String[] {"How", "The", "The_s", "s", "s_a", "a", "a_brown", "brown", "brown_s", "s", "s_cow", "cow", "cow_d", "d", "d_like", "like", "A", "B", "thing?"}); @@ -258,7 +260,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { public void testLastWordisStopWord() throws Exception { final String input = "dog the"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - CommonGramsFilter cgf = new CommonGramsFilter(wt, commonWords); + CommonGramsFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); TokenFilter nsf = new CommonGramsQueryFilter(cgf); assertTokenStreamContents(nsf, new String[] { "dog_the" }); } @@ -269,7 +271,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { public void testFirstWordisStopWord() throws Exception { final String input = "the dog"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - CommonGramsFilter cgf = new CommonGramsFilter(wt, commonWords); + CommonGramsFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); TokenFilter nsf = new CommonGramsQueryFilter(cgf); assertTokenStreamContents(nsf, new String[] { "the_dog" }); } @@ -280,7 +282,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { public void testOneWordQueryStopWord() throws Exception { final String input = "the"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - CommonGramsFilter cgf = new CommonGramsFilter(wt, commonWords); + CommonGramsFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); TokenFilter nsf = new CommonGramsQueryFilter(cgf); assertTokenStreamContents(nsf, new String[] { "the" }); } @@ -291,7 +293,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { public void testOneWordQuery() throws Exception { final String input = "monster"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - CommonGramsFilter cgf = new CommonGramsFilter(wt, commonWords); + CommonGramsFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); TokenFilter nsf = new CommonGramsQueryFilter(cgf); assertTokenStreamContents(nsf, new String[] { "monster" }); } @@ -302,7 +304,7 @@ public class CommonGramsFilterTest extends BaseTokenStreamTestCase { public void TestFirstAndLastStopWord() throws Exception { final String input = "the of"; WhitespaceTokenizer wt = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - CommonGramsFilter cgf = new CommonGramsFilter(wt, commonWords); + CommonGramsFilter cgf = new CommonGramsFilter(TEST_VERSION_CURRENT, wt, commonWords); TokenFilter nsf = new CommonGramsQueryFilter(cgf); assertTokenStreamContents(nsf, new String[] { "the_of" }); } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java index 5976fbd97f3..6f3b862c61b 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java @@ -18,22 +18,16 @@ package org.apache.lucene.analysis.core; */ import java.io.IOException; -import java.io.StringReader; import java.io.Reader; +import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.BaseTokenStreamTestCase; -import org.apache.lucene.analysis.core.LowerCaseTokenizer; import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.core.LowerCaseFilter; -import org.apache.lucene.analysis.core.SimpleAnalyzer; -import org.apache.lucene.analysis.core.StopAnalyzer; -import org.apache.lucene.analysis.core.WhitespaceAnalyzer; -import org.apache.lucene.analysis.core.WhitespaceTokenizer; import org.apache.lucene.analysis.standard.StandardTokenizer; -import org.apache.lucene.analysis.tokenattributes.PayloadAttribute; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.tokenattributes.PayloadAttribute; import org.apache.lucene.index.Payload; import org.apache.lucene.util.Version; @@ -136,20 +130,6 @@ public class TestAnalyzers extends BaseTokenStreamTestCase { } - /** - * @deprecated remove this when lucene 3.0 "broken unicode 4" support - * is no longer needed. - */ - @Deprecated - private static class LowerCaseWhitespaceAnalyzerBWComp extends Analyzer { - - @Override - public TokenStream tokenStream(String fieldName, Reader reader) { - return new LowerCaseFilter(new WhitespaceTokenizer(reader)); - } - - } - /** * Test that LowercaseFilter handles entire unicode range correctly */ @@ -196,30 +176,6 @@ public class TestAnalyzers extends BaseTokenStreamTestCase { } - /** - * Test that LowercaseFilter only works on BMP for back compat, - * depending upon version - * @deprecated remove this test when lucene 3.0 "broken unicode 4" support - * is no longer needed. - */ - @Deprecated - public void testLowerCaseFilterBWComp() throws IOException { - Analyzer a = new LowerCaseWhitespaceAnalyzerBWComp(); - // BMP - assertAnalyzesTo(a, "AbaCaDabA", new String[] { "abacadaba" }); - // supplementary, no-op - assertAnalyzesTo(a, "\ud801\udc16\ud801\udc16\ud801\udc16\ud801\udc16", - new String[] {"\ud801\udc16\ud801\udc16\ud801\udc16\ud801\udc16"}); - assertAnalyzesTo(a, "AbaCa\ud801\udc16DabA", - new String[] { "abaca\ud801\udc16daba" }); - // unpaired lead surrogate - assertAnalyzesTo(a, "AbaC\uD801AdaBa", - new String [] { "abac\uD801adaba" }); - // unpaired trail surrogate - assertAnalyzesTo(a, "AbaC\uDC16AdaBa", - new String [] { "abac\uDC16adaba" }); - } - public void testLowerCaseTokenizer() throws IOException { StringReader reader = new StringReader("Tokenizer \ud801\udc1ctest"); LowerCaseTokenizer tokenizer = new LowerCaseTokenizer(TEST_VERSION_CURRENT, @@ -228,6 +184,7 @@ public class TestAnalyzers extends BaseTokenStreamTestCase { "\ud801\udc44test" }); } + /** @deprecated (3.1) */ @Deprecated public void testLowerCaseTokenizerBWCompat() throws IOException { StringReader reader = new StringReader("Tokenizer \ud801\udc1ctest"); @@ -235,7 +192,7 @@ public class TestAnalyzers extends BaseTokenStreamTestCase { reader); assertTokenStreamContents(tokenizer, new String[] { "tokenizer", "test" }); } - + public void testWhitespaceTokenizer() throws IOException { StringReader reader = new StringReader("Tokenizer \ud801\udc1ctest"); WhitespaceTokenizer tokenizer = new WhitespaceTokenizer(TEST_VERSION_CURRENT, @@ -244,6 +201,7 @@ public class TestAnalyzers extends BaseTokenStreamTestCase { "\ud801\udc1ctest" }); } + /** @deprecated (3.1) */ @Deprecated public void testWhitespaceTokenizerBWCompat() throws IOException { StringReader reader = new StringReader("Tokenizer \ud801\udc1ctest"); diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestClassicAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestClassicAnalyzer.java index 23d1128bc87..4cd9f9f3ed2 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestClassicAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestClassicAnalyzer.java @@ -129,12 +129,13 @@ public class TestClassicAnalyzer extends BaseTokenStreamTestCase { // the following should be recognized as HOST: assertAnalyzesTo(a2, "www.nutch.org.", new String[]{ "www.nutch.org" }, new String[] { "" }); - // 2.3 should show the bug - a2 = new ClassicAnalyzer(org.apache.lucene.util.Version.LUCENE_23); - assertAnalyzesTo(a2, "www.nutch.org.", new String[]{ "wwwnutchorg" }, new String[] { "" }); + // 2.3 should show the bug. But, alas, it's obsolete, we don't support it. + // a2 = new ClassicAnalyzer(org.apache.lucene.util.Version.LUCENE_23); + // assertAnalyzesTo(a2, "www.nutch.org.", new String[]{ "wwwnutchorg" }, new String[] { "" }); - // 2.4 should not show the bug - a2 = new ClassicAnalyzer(Version.LUCENE_24); + // 2.4 should not show the bug. But, alas, it's also obsolete, + // so we check latest released (Robert's gonna break this on 4.0 soon :) ) + a2 = new ClassicAnalyzer(Version.LUCENE_31); assertAnalyzesTo(a2, "www.nutch.org.", new String[]{ "www.nutch.org" }, new String[] { "" }); } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java index d602b172d9f..aee74d1e214 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java @@ -62,17 +62,15 @@ public class TestStopAnalyzer extends BaseTokenStreamTestCase { stopWordsSet.add("good"); stopWordsSet.add("test"); stopWordsSet.add("analyzer"); - StopAnalyzer newStop = new StopAnalyzer(Version.LUCENE_24, stopWordsSet); + StopAnalyzer newStop = new StopAnalyzer(Version.LUCENE_40, stopWordsSet); StringReader reader = new StringReader("This is a good test of the english stop analyzer"); TokenStream stream = newStop.tokenStream("test", reader); assertNotNull(stream); CharTermAttribute termAtt = stream.getAttribute(CharTermAttribute.class); - PositionIncrementAttribute posIncrAtt = stream.addAttribute(PositionIncrementAttribute.class); while (stream.incrementToken()) { String text = termAtt.toString(); assertFalse(stopWordsSet.contains(text)); - assertEquals(1,posIncrAtt.getPositionIncrement()); // in 2.4 stop tokenizer does not apply increments. } } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java index c17843f6903..88957ff24df 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java @@ -16,21 +16,17 @@ package org.apache.lucene.analysis.core; * limitations under the License. */ -import org.apache.lucene.analysis.BaseTokenStreamTestCase; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.core.StopFilter; -import org.apache.lucene.analysis.core.WhitespaceTokenizer; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import org.apache.lucene.util.English; -import org.apache.lucene.util.Version; - import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; -import java.util.Arrays; import java.util.Set; -import java.util.HashSet; + +import org.apache.lucene.analysis.BaseTokenStreamTestCase; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; +import org.apache.lucene.util.English; +import org.apache.lucene.util.Version; public class TestStopFilter extends BaseTokenStreamTestCase { @@ -39,7 +35,7 @@ public class TestStopFilter extends BaseTokenStreamTestCase { public void testExactCase() throws IOException { StringReader reader = new StringReader("Now is The Time"); - Set stopWords = new HashSet(Arrays.asList("is", "the", "Time")); + Set stopWords = asSet("is", "the", "Time"); TokenStream stream = new StopFilter(TEST_VERSION_CURRENT, new WhitespaceTokenizer(TEST_VERSION_CURRENT, reader), stopWords, false); final CharTermAttribute termAtt = stream.getAttribute(CharTermAttribute.class); assertTrue(stream.incrementToken()); @@ -51,7 +47,7 @@ public class TestStopFilter extends BaseTokenStreamTestCase { public void testIgnoreCase() throws IOException { StringReader reader = new StringReader("Now is The Time"); - Set stopWords = new HashSet(Arrays.asList( "is", "the", "Time" )); + Set stopWords = asSet( "is", "the", "Time" ); TokenStream stream = new StopFilter(TEST_VERSION_CURRENT, new WhitespaceTokenizer(TEST_VERSION_CURRENT, reader), stopWords, true); final CharTermAttribute termAtt = stream.getAttribute(CharTermAttribute.class); assertTrue(stream.incrementToken()); @@ -89,7 +85,7 @@ public class TestStopFilter extends BaseTokenStreamTestCase { Set stopSet = StopFilter.makeStopSet(TEST_VERSION_CURRENT, stopWords); // with increments StringReader reader = new StringReader(sb.toString()); - StopFilter stpf = new StopFilter(Version.LUCENE_24, new WhitespaceTokenizer(TEST_VERSION_CURRENT, reader), stopSet); + StopFilter stpf = new StopFilter(Version.LUCENE_40, new WhitespaceTokenizer(TEST_VERSION_CURRENT, reader), stopSet); doTestStopPositons(stpf,true); // without increments reader = new StringReader(sb.toString()); diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java index 388b27e69f9..eb6beb0f506 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java @@ -35,9 +35,8 @@ import org.apache.lucene.util.Version; * */ public class TestCzechAnalyzer extends BaseTokenStreamTestCase { - /** - * @deprecated Remove this test when support for 3.0 indexes is no longer needed. + * @deprecated (3.1) Remove this test when support for 3.0 indexes is no longer needed. */ @Deprecated public void testStopWordLegacy() throws Exception { @@ -51,7 +50,7 @@ public class TestCzechAnalyzer extends BaseTokenStreamTestCase { } /** - * @deprecated Remove this test when support for 3.0 indexes is no longer needed. + * @deprecated (3.1) Remove this test when support for 3.0 indexes is no longer needed. */ @Deprecated public void testReusableTokenStreamLegacy() throws Exception { @@ -66,49 +65,6 @@ public class TestCzechAnalyzer extends BaseTokenStreamTestCase { assertAnalyzesToReuse(analyzer, "Česká Republika", new String[] { "česk", "republik" }); } - /** - * An input stream that always throws IOException for testing. - * @deprecated Remove this class when the loadStopWords method is removed. - */ - @Deprecated - private class UnreliableInputStream extends InputStream { - @Override - public int read() throws IOException { - throw new IOException(); - } - } - - /** - * The loadStopWords method does not throw IOException on error, - * instead previously it set the stoptable to null (versus empty) - * this would cause a NPE when it is time to create the StopFilter. - * @deprecated Remove this test when the loadStopWords method is removed. - */ - @Deprecated - public void testInvalidStopWordFile() throws Exception { - CzechAnalyzer cz = new CzechAnalyzer(Version.LUCENE_30); - cz.loadStopWords(new UnreliableInputStream(), "UTF-8"); - assertAnalyzesTo(cz, "Pokud mluvime o volnem", - new String[] { "pokud", "mluvime", "o", "volnem" }); - } - - /** - * Test that changes to the stop table via loadStopWords are applied immediately - * when using reusable token streams. - * @deprecated Remove this test when the loadStopWords method is removed. - */ - @Deprecated - public void testStopWordFileReuse() throws Exception { - CzechAnalyzer cz = new CzechAnalyzer(Version.LUCENE_30); - assertAnalyzesToReuse(cz, "Česká Republika", - new String[] { "česká", "republika" }); - - InputStream stopwords = getClass().getResourceAsStream("customStopWordFile.txt"); - cz.loadStopWords(stopwords, "UTF-8"); - - assertAnalyzesToReuse(cz, "Česká Republika", new String[] { "česká" }); - } - public void testWithStemExclusionSet() throws IOException{ CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); set.add("hole"); diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java index 288aa4fdced..b329298a774 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java @@ -19,6 +19,7 @@ package org.apache.lucene.analysis.de; import java.io.IOException; import java.io.StringReader; +import java.util.Collections; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.BaseTokenStreamTestCase; @@ -35,15 +36,6 @@ public class TestGermanAnalyzer extends BaseTokenStreamTestCase { checkOneTermReuse(a, "Tischen", "tisch"); } - public void testExclusionTableBWCompat() throws IOException { - GermanStemFilter filter = new GermanStemFilter(new LowerCaseTokenizer(TEST_VERSION_CURRENT, - new StringReader("Fischen Trinken"))); - CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); - set.add("fischen"); - filter.setExclusionSet(set); - assertTokenStreamContents(filter, new String[] { "fischen", "trink" }); - } - public void testWithKeywordAttribute() throws IOException { CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); set.add("fischen"); @@ -53,27 +45,8 @@ public class TestGermanAnalyzer extends BaseTokenStreamTestCase { assertTokenStreamContents(filter, new String[] { "fischen", "trink" }); } - public void testWithKeywordAttributeAndExclusionTable() throws IOException { - CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); - set.add("fischen"); - CharArraySet set1 = new CharArraySet(TEST_VERSION_CURRENT, 1, true); - set1.add("trinken"); - set1.add("fischen"); - GermanStemFilter filter = new GermanStemFilter( - new KeywordMarkerFilter(new LowerCaseTokenizer(TEST_VERSION_CURRENT, new StringReader( - "Fischen Trinken")), set)); - filter.setExclusionSet(set1); - assertTokenStreamContents(filter, new String[] { "fischen", "trinken" }); - } - - /* - * Test that changes to the exclusion table are applied immediately - * when using reusable token streams. - */ - public void testExclusionTableReuse() throws Exception { - GermanAnalyzer a = new GermanAnalyzer(TEST_VERSION_CURRENT); - checkOneTermReuse(a, "tischen", "tisch"); - a.setStemExclusionTable(new String[] { "tischen" }); + public void testStemExclusionTable() throws Exception { + GermanAnalyzer a = new GermanAnalyzer(TEST_VERSION_CURRENT, Collections.emptySet(), asSet("tischen")); checkOneTermReuse(a, "tischen", "tischen"); } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java index 3f57b62767c..d8a1f69765a 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java @@ -16,8 +16,8 @@ package org.apache.lucene.analysis.el; * limitations under the License. */ -import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.util.Version; /** @@ -52,7 +52,7 @@ public class GreekAnalyzerTest extends BaseTokenStreamTestCase { * Test the analysis of various greek strings. * * @throws Exception in case an error occurs - * @deprecated Remove this test when support for 3.0 is no longer needed + * @deprecated (3.1) Remove this test when support for 3.0 is no longer needed */ @Deprecated public void testAnalyzerBWCompat() throws Exception { @@ -87,15 +87,4 @@ public class GreekAnalyzerTest extends BaseTokenStreamTestCase { assertAnalyzesToReuse(a, "ΠΡΟΫΠΟΘΕΣΕΙΣ Άψογος, ο μεστός και οι άλλοι", new String[] { "προυποθεσ", "αψογ", "μεστ", "αλλ" }); } - - /** - * Greek Analyzer didn't call standardFilter, so no normalization of acronyms. - * check that this is preserved. - * @deprecated remove this test in Lucene 4.0 - */ - @Deprecated - public void testAcronymBWCompat() throws Exception { - Analyzer a = new GreekAnalyzer(Version.LUCENE_30); - assertAnalyzesTo(a, "Α.Π.Τ.", new String[] { "α.π.τ." }); } -} diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java index 452f3561af2..d38d0f64b64 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java @@ -17,8 +17,8 @@ package org.apache.lucene.analysis.fa; * limitations under the License. */ -import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.BaseTokenStreamTestCase; /** * Test the Persian Analyzer @@ -215,9 +215,8 @@ public class TestPersianAnalyzer extends BaseTokenStreamTestCase { * Test that custom stopwords work, and are not case-sensitive. */ public void testCustomStopwords() throws Exception { - PersianAnalyzer a = new PersianAnalyzer(TEST_VERSION_CURRENT, new String[] { "the", "and", "a" }); + PersianAnalyzer a = new PersianAnalyzer(TEST_VERSION_CURRENT, asSet("the", "and", "a")); assertAnalyzesTo(a, "The quick brown fox.", new String[] { "quick", "brown", "fox" }); } - } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java index 60901ee7322..83664627475 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java @@ -116,7 +116,7 @@ public class TestFrenchAnalyzer extends BaseTokenStreamTestCase { } /** - * @deprecated remove this test for Lucene 4.0 + * @deprecated (3.1) remove this test for Lucene 5.0 */ @Deprecated public void testAnalyzer30() throws Exception { @@ -224,17 +224,6 @@ public class TestFrenchAnalyzer extends BaseTokenStreamTestCase { "captif" }); } - /* - * Test that changes to the exclusion table are applied immediately - * when using reusable token streams. - */ - public void testExclusionTableReuse() throws Exception { - FrenchAnalyzer fa = new FrenchAnalyzer(TEST_VERSION_CURRENT); - assertAnalyzesToReuse(fa, "habitable", new String[] { "habit" }); - fa.setStemExclusionTable(new String[] { "habitable" }); - assertAnalyzesToReuse(fa, "habitable", new String[] { "habitable" }); - } - public void testExclusionTableViaCtor() throws Exception { CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true); set.add("habitable"); @@ -256,7 +245,7 @@ public class TestFrenchAnalyzer extends BaseTokenStreamTestCase { /** * Prior to 3.1, this analyzer had no lowercase filter. * stopwords were case sensitive. Preserve this for back compat. - * @deprecated Remove this test in Lucene 4.0 + * @deprecated (3.1) Remove this test in Lucene 5.0 */ @Deprecated public void testBuggyStopwordsCasing() throws IOException { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestISOLatin1AccentFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestISOLatin1AccentFilter.java deleted file mode 100644 index 8092810b2f6..00000000000 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestISOLatin1AccentFilter.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.apache.lucene.analysis.miscellaneous; - -/** - * 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. - */ - -import org.apache.lucene.analysis.BaseTokenStreamTestCase; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.core.WhitespaceTokenizer; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import java.io.StringReader; - -public class TestISOLatin1AccentFilter extends BaseTokenStreamTestCase { - public void testU() throws Exception { - TokenStream stream = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader("Des mot clés À LA CHAÎNE À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï IJ Ð Ñ Ò Ó Ô Õ Ö Ø Œ Þ Ù Ú Û Ü Ý Ÿ à á â ã ä å æ ç è é ê ë ì í î ï ij ð ñ ò ó ô õ ö ø œ ß þ ù ú û ü ý ÿ fi fl")); - ISOLatin1AccentFilter filter = new ISOLatin1AccentFilter(stream); - CharTermAttribute termAtt = filter.getAttribute(CharTermAttribute.class); - assertTermEquals("Des", filter, termAtt); - assertTermEquals("mot", filter, termAtt); - assertTermEquals("cles", filter, termAtt); - assertTermEquals("A", filter, termAtt); - assertTermEquals("LA", filter, termAtt); - assertTermEquals("CHAINE", filter, termAtt); - assertTermEquals("A", filter, termAtt); - assertTermEquals("A", filter, termAtt); - assertTermEquals("A", filter, termAtt); - assertTermEquals("A", filter, termAtt); - assertTermEquals("A", filter, termAtt); - assertTermEquals("A", filter, termAtt); - assertTermEquals("AE", filter, termAtt); - assertTermEquals("C", filter, termAtt); - assertTermEquals("E", filter, termAtt); - assertTermEquals("E", filter, termAtt); - assertTermEquals("E", filter, termAtt); - assertTermEquals("E", filter, termAtt); - assertTermEquals("I", filter, termAtt); - assertTermEquals("I", filter, termAtt); - assertTermEquals("I", filter, termAtt); - assertTermEquals("I", filter, termAtt); - assertTermEquals("IJ", filter, termAtt); - assertTermEquals("D", filter, termAtt); - assertTermEquals("N", filter, termAtt); - assertTermEquals("O", filter, termAtt); - assertTermEquals("O", filter, termAtt); - assertTermEquals("O", filter, termAtt); - assertTermEquals("O", filter, termAtt); - assertTermEquals("O", filter, termAtt); - assertTermEquals("O", filter, termAtt); - assertTermEquals("OE", filter, termAtt); - assertTermEquals("TH", filter, termAtt); - assertTermEquals("U", filter, termAtt); - assertTermEquals("U", filter, termAtt); - assertTermEquals("U", filter, termAtt); - assertTermEquals("U", filter, termAtt); - assertTermEquals("Y", filter, termAtt); - assertTermEquals("Y", filter, termAtt); - assertTermEquals("a", filter, termAtt); - assertTermEquals("a", filter, termAtt); - assertTermEquals("a", filter, termAtt); - assertTermEquals("a", filter, termAtt); - assertTermEquals("a", filter, termAtt); - assertTermEquals("a", filter, termAtt); - assertTermEquals("ae", filter, termAtt); - assertTermEquals("c", filter, termAtt); - assertTermEquals("e", filter, termAtt); - assertTermEquals("e", filter, termAtt); - assertTermEquals("e", filter, termAtt); - assertTermEquals("e", filter, termAtt); - assertTermEquals("i", filter, termAtt); - assertTermEquals("i", filter, termAtt); - assertTermEquals("i", filter, termAtt); - assertTermEquals("i", filter, termAtt); - assertTermEquals("ij", filter, termAtt); - assertTermEquals("d", filter, termAtt); - assertTermEquals("n", filter, termAtt); - assertTermEquals("o", filter, termAtt); - assertTermEquals("o", filter, termAtt); - assertTermEquals("o", filter, termAtt); - assertTermEquals("o", filter, termAtt); - assertTermEquals("o", filter, termAtt); - assertTermEquals("o", filter, termAtt); - assertTermEquals("oe", filter, termAtt); - assertTermEquals("ss", filter, termAtt); - assertTermEquals("th", filter, termAtt); - assertTermEquals("u", filter, termAtt); - assertTermEquals("u", filter, termAtt); - assertTermEquals("u", filter, termAtt); - assertTermEquals("u", filter, termAtt); - assertTermEquals("y", filter, termAtt); - assertTermEquals("y", filter, termAtt); - assertTermEquals("fi", filter, termAtt); - assertTermEquals("fl", filter, termAtt); - assertFalse(filter.incrementToken()); - } - - void assertTermEquals(String expected, TokenStream stream, CharTermAttribute termAtt) throws Exception { - assertTrue(stream.incrementToken()); - assertEquals(expected, termAtt.toString()); - } -} diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java index e1ebf7d2bfc..5039b4bc47a 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java @@ -24,6 +24,7 @@ import java.util.Set; import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.WhitespaceTokenizer; +import org.apache.lucene.analysis.util.CharArraySet; /** Test {@link KeepWordFilter} */ public class TestKeepWordFilter extends BaseTokenStreamTestCase { @@ -38,12 +39,12 @@ public class TestKeepWordFilter extends BaseTokenStreamTestCase { // Test Stopwords TokenStream stream = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - stream = new KeepWordFilter(stream, words, true); + stream = new KeepWordFilter(stream, new CharArraySet(TEST_VERSION_CURRENT, words, true)); assertTokenStreamContents(stream, new String[] { "aaa", "BBB" }); // Now force case stream = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader(input)); - stream = new KeepWordFilter(stream, words, false); + stream = new KeepWordFilter(stream, new CharArraySet(TEST_VERSION_CURRENT,words, false)); assertTokenStreamContents(stream, new String[] { "aaa" }); } } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java index 68c5d7030f5..4e65f9b11a4 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java @@ -23,12 +23,7 @@ import java.util.Collection; import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.FlagsAttribute; -import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; -import org.apache.lucene.analysis.tokenattributes.PayloadAttribute; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import org.apache.lucene.analysis.tokenattributes.TypeAttribute; +import org.apache.lucene.analysis.tokenattributes.*; /** * @version $Id:$ @@ -70,7 +65,7 @@ public class TestTrimFilter extends BaseTokenStreamTestCase { } /** - * @deprecated does not support custom attributes + * @deprecated (3.0) does not support custom attributes */ @Deprecated private static class IterTokenStream extends TokenStream { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java index df19528bbcf..c784130d439 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java @@ -25,7 +25,6 @@ import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.core.KeywordTokenizer; import org.apache.lucene.analysis.core.StopFilter; import org.apache.lucene.analysis.core.WhitespaceTokenizer; -import org.apache.lucene.analysis.miscellaneous.SingleTokenTokenStream; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; @@ -68,18 +67,14 @@ public class TestWordDelimiterFilter extends BaseTokenStreamTestCase { // test that subwords and catenated subwords have // the correct offsets. - WordDelimiterFilter wdf = new WordDelimiterFilter( - new SingleTokenTokenStream(new Token("foo-bar", 5, 12)), - 1,1,0,0,1,1,0); + WordDelimiterFilter wdf = new WordDelimiterFilter(new SingleTokenTokenStream(new Token("foo-bar", 5, 12)), WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, 1, 1, 0, 0, 1, 1, 0, 1, 1, null); assertTokenStreamContents(wdf, new String[] { "foo", "bar", "foobar" }, new int[] { 5, 9, 5 }, new int[] { 8, 12, 12 }); - wdf = new WordDelimiterFilter( - new SingleTokenTokenStream(new Token("foo-bar", 5, 6)), - 1,1,0,0,1,1,0); + wdf = new WordDelimiterFilter(new SingleTokenTokenStream(new Token("foo-bar", 5, 6)), WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, 1, 1, 0, 0, 1, 1, 0, 1, 1, null); assertTokenStreamContents(wdf, new String[] { "foo", "bar", "foobar" }, @@ -90,10 +85,7 @@ public class TestWordDelimiterFilter extends BaseTokenStreamTestCase { @Test public void testOffsetChange() throws Exception { - WordDelimiterFilter wdf = new WordDelimiterFilter( - new SingleTokenTokenStream(new Token("übelkeit)", 7, 16)), - 1,1,0,0,1,1,0 - ); + WordDelimiterFilter wdf = new WordDelimiterFilter(new SingleTokenTokenStream(new Token("übelkeit)", 7, 16)), WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, 1, 1, 0, 0, 1, 1, 0, 1, 1, null); assertTokenStreamContents(wdf, new String[] { "übelkeit" }, @@ -104,10 +96,7 @@ public class TestWordDelimiterFilter extends BaseTokenStreamTestCase { @Test public void testOffsetChange2() throws Exception { - WordDelimiterFilter wdf = new WordDelimiterFilter( - new SingleTokenTokenStream(new Token("(übelkeit", 7, 17)), - 1,1,0,0,1,1,0 - ); + WordDelimiterFilter wdf = new WordDelimiterFilter(new SingleTokenTokenStream(new Token("(übelkeit", 7, 17)), WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, 1, 1, 0, 0, 1, 1, 0, 1, 1, null); assertTokenStreamContents(wdf, new String[] { "übelkeit" }, @@ -118,10 +107,7 @@ public class TestWordDelimiterFilter extends BaseTokenStreamTestCase { @Test public void testOffsetChange3() throws Exception { - WordDelimiterFilter wdf = new WordDelimiterFilter( - new SingleTokenTokenStream(new Token("(übelkeit", 7, 16)), - 1,1,0,0,1,1,0 - ); + WordDelimiterFilter wdf = new WordDelimiterFilter(new SingleTokenTokenStream(new Token("(übelkeit", 7, 16)), WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, 1, 1, 0, 0, 1, 1, 0, 1, 1, null); assertTokenStreamContents(wdf, new String[] { "übelkeit" }, @@ -132,10 +118,7 @@ public class TestWordDelimiterFilter extends BaseTokenStreamTestCase { @Test public void testOffsetChange4() throws Exception { - WordDelimiterFilter wdf = new WordDelimiterFilter( - new SingleTokenTokenStream(new Token("(foo,bar)", 7, 16)), - 1,1,0,0,1,1,0 - ); + WordDelimiterFilter wdf = new WordDelimiterFilter(new SingleTokenTokenStream(new Token("(foo,bar)", 7, 16)), WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, 1, 1, 0, 0, 1, 1, 0, 1, 1, null); assertTokenStreamContents(wdf, new String[] { "foo", "bar", "foobar"}, @@ -145,7 +128,7 @@ public class TestWordDelimiterFilter extends BaseTokenStreamTestCase { public void doSplit(final String input, String... output) throws Exception { WordDelimiterFilter wdf = new WordDelimiterFilter(new KeywordTokenizer( - new StringReader(input)), 1, 1, 0, 0, 0); + new StringReader(input)), WordDelimiterIterator.DEFAULT_WORD_DELIM_TABLE, 1, 1, 0, 0, 0, 1, 0, 1, 1, null); assertTokenStreamContents(wdf, output); } diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchStemmer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchStemmer.java index 141f23e0fc8..1c2f72763ee 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchStemmer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchStemmer.java @@ -114,7 +114,7 @@ public class TestDutchStemmer extends BaseTokenStreamTestCase { } /** - * @deprecated remove this test in Lucene 4.0 + * @deprecated (3.1) remove this test in Lucene 5.0 */ @Deprecated public void testOldBuggyStemmer() throws Exception { @@ -139,19 +139,6 @@ public class TestDutchStemmer extends BaseTokenStreamTestCase { checkOneTermReuse(a, "lichamelijkheden", "licham"); } - /* - * Test that changes to the exclusion table are applied immediately - * when using reusable token streams. - */ - public void testExclusionTableReuse() throws Exception { - DutchAnalyzer a = new DutchAnalyzer(TEST_VERSION_CURRENT); - checkOneTermReuse(a, "lichamelijk", "licham"); - a.setStemExclusionTable(new String[] { "lichamelijk" }); - checkOneTermReuse(a, "lichamelijk", "lichamelijk"); - - - } - public void testExclusionTableViaCtor() throws IOException { CharArraySet set = new CharArraySet(Version.LUCENE_30, 1, true); set.add("lichamelijk"); @@ -178,7 +165,7 @@ public class TestDutchStemmer extends BaseTokenStreamTestCase { /** * Prior to 3.1, this analyzer had no lowercase filter. * stopwords were case sensitive. Preserve this for back compat. - * @deprecated Remove this test in Lucene 4.0 + * @deprecated (3.1) Remove this test in Lucene 5.0 */ @Deprecated public void testBuggyStopwordsCasing() throws IOException { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java index 2e8ac60ed30..830d19ccf00 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java @@ -26,9 +26,9 @@ import java.util.regex.Pattern; import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.CharReader; import org.apache.lucene.analysis.CharStream; +import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.charfilter.MappingCharFilter; import org.apache.lucene.analysis.charfilter.NormalizeCharMap; -import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; public class TestPatternTokenizer extends BaseTokenStreamTestCase @@ -96,9 +96,7 @@ public class TestPatternTokenizer extends BaseTokenStreamTestCase /** * TODO: rewrite tests not to use string comparison. - * @deprecated only tests TermAttribute! */ - @Deprecated private static String tsToString(TokenStream in) throws IOException { StringBuilder out = new StringBuilder(); CharTermAttribute termAtt = in.addAttribute(CharTermAttribute.class); diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java index a6896e504a8..3c528763499 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java @@ -22,6 +22,7 @@ import java.io.StringReader; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.WhitespaceTokenizer; import org.apache.lucene.analysis.BaseTokenStreamTestCase; +import org.apache.lucene.util.Version; public class TestReverseStringFilter extends BaseTokenStreamTestCase { public void testFilter() throws Exception { @@ -53,9 +54,11 @@ public class TestReverseStringFilter extends BaseTokenStreamTestCase { /** * Test the broken 3.0 behavior, for back compat + * @deprecated (3.1) Remove in Lucene 5.0 */ + @Deprecated public void testBackCompat() throws Exception { - assertEquals("\uDF05\uD866\uDF05\uD866", ReverseStringFilter.reverse("𩬅𩬅")); + assertEquals("\uDF05\uD866\uDF05\uD866", ReverseStringFilter.reverse(Version.LUCENE_30, "𩬅𩬅")); } public void testReverseSupplementary() throws Exception { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java index 45d97898278..b52ec1bd781 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java @@ -18,12 +18,9 @@ package org.apache.lucene.analysis.ru; */ import java.io.IOException; -import java.io.InputStreamReader; import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.util.Version; @@ -31,65 +28,16 @@ import org.apache.lucene.util.Version; * Test case for RussianAnalyzer. */ -public class TestRussianAnalyzer extends BaseTokenStreamTestCase -{ - private InputStreamReader inWords; +public class TestRussianAnalyzer extends BaseTokenStreamTestCase { - private InputStreamReader sampleUnicode; - - /** - * @deprecated remove this test and its datafiles in Lucene 4.0 - * the Snowball version has its own data tests. - */ - @Deprecated - public void testUnicode30() throws IOException - { - RussianAnalyzer ra = new RussianAnalyzer(Version.LUCENE_30); - inWords = - new InputStreamReader( - getClass().getResourceAsStream("testUTF8.txt"), - "UTF-8"); - - sampleUnicode = - new InputStreamReader( - getClass().getResourceAsStream("resUTF8.htm"), - "UTF-8"); - - TokenStream in = ra.tokenStream("all", inWords); - - RussianLetterTokenizer sample = - new RussianLetterTokenizer(TEST_VERSION_CURRENT, - sampleUnicode); - - CharTermAttribute text = in.getAttribute(CharTermAttribute.class); - CharTermAttribute sampleText = sample.getAttribute(CharTermAttribute.class); - - for (;;) - { - if (in.incrementToken() == false) - break; - - boolean nextSampleToken = sample.incrementToken(); - assertEquals( - "Unicode", - text.toString(), - nextSampleToken == false - ? null - : sampleText.toString()); - } - - inWords.close(); - sampleUnicode.close(); - } - - /** Check that RussianAnalyzer doesnt discard any numbers */ + /** Check that RussianAnalyzer doesnt discard any numbers */ public void testDigitsInRussianCharset() throws IOException { RussianAnalyzer ra = new RussianAnalyzer(TEST_VERSION_CURRENT); assertAnalyzesTo(ra, "text 1000", new String[] { "text", "1000" }); } - /** @deprecated remove this test in Lucene 4.0: stopwords changed */ + /** @deprecated (3.1) remove this test in Lucene 5.0: stopwords changed */ @Deprecated public void testReusableTokenStream30() throws Exception { Analyzer a = new RussianAnalyzer(Version.LUCENE_30); diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLetterTokenizer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLetterTokenizer.java index ce3ff5d25f5..2fedf789969 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLetterTokenizer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLetterTokenizer.java @@ -25,7 +25,7 @@ import org.apache.lucene.util.Version; /** * Testcase for {@link RussianLetterTokenizer} - * @deprecated Remove this test class in Lucene 4.0 + * @deprecated (3.1) Remove this test class in Lucene 5.0 */ @Deprecated public class TestRussianLetterTokenizer extends BaseTokenStreamTestCase { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianStem.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianStem.java deleted file mode 100644 index 0688f6d0d8f..00000000000 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianStem.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.apache.lucene.analysis.ru; - -/** - * 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. - */ - -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.Tokenizer; -import org.apache.lucene.analysis.core.KeywordTokenizer; -import org.apache.lucene.analysis.util.ReusableAnalyzerBase; -import org.apache.lucene.util.LuceneTestCase; -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; - -import static org.apache.lucene.analysis.util.VocabularyAssert.*; - -/** - * @deprecated Remove this test class (and its datafiles!) in Lucene 4.0 - */ -@Deprecated -public class TestRussianStem extends LuceneTestCase { - public void testStem() throws IOException { - Analyzer a = new ReusableAnalyzerBase() { - @Override - protected TokenStreamComponents createComponents(String fieldName, - Reader reader) { - Tokenizer t = new KeywordTokenizer(reader); - return new TokenStreamComponents(t, new RussianStemFilter(t)); - } - }; - InputStream voc = getClass().getResourceAsStream("wordsUTF8.txt"); - InputStream out = getClass().getResourceAsStream("stemsUTF8.txt"); - assertVocabulary(a, voc, out); - voc.close(); - out.close(); - } -} diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/resUTF8.htm b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/resUTF8.htm deleted file mode 100644 index 9bcf0aa8003..00000000000 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/resUTF8.htm +++ /dev/null @@ -1 +0,0 @@ -[вмест][сил][электромагнитн][энерг][имел][представлен][скаж][жрец][древн][египт][знан][хран][тайн][узк][круг][посвящен][всяк][времен][виток][прин][соб][нов][технолог][сам][дел][раскрыва][потаен][знан][прежн][век][говор][нов][информац][станов][доступн][широк][круг][пользовател][тех][случа][сознан][обществ][готов][восприня][воспользова] \ No newline at end of file diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/stemsUTF8.txt b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/stemsUTF8.txt deleted file mode 100644 index bdf9b35aedf..00000000000 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/stemsUTF8.txt +++ /dev/null @@ -1,49673 +0,0 @@ -а -абиссин -абонемент -абонирова -абонир -абонир -абрикос -август -август -август -авдот -авдот -авдот -авдот -авдот -авенантненьк -аверк -аверк -авиатор -авиатор -авиац -ав -авраам -австр -австрийск -автобиограф -автограф -автомоб -автомобил -автор -автор -авторитет -авторитет -авторитет -автор -автор -аг -агадир -агамемнон -агаповн -агаф -агаф -агаф -агаф -агаф -агент -агон -агрон -агроном -ад -ад -ад -адамант -адвокат -адвокат -адвокатск -адвокатск -адвокатск -административн -административн -администратор -адмирал -ад -адрес -адрес -адресн -адресова -адрес -адрес -адрианопол -адриатическ -адск -адск -ажн -азарт -азарт -азбук -азвольт -азиатск -азиатчин -аз -аз -азра -аз -а -а -айвазовск -айд -ак -академ -академ -акац -акац -акварел -аккомпанемент -аккомпанирова -аккорд -аккорд -аккорд -аккуратн -аккуратн -аккуратн -аккуратн -акмеизм -аксельбант -аксин -аксиом -акт -акт -акт -актер -актер -актер -актер -активн -актрис -актрис -актрис -акулин -акулин -акулин -акулин -акулин -акурат -акушер -акцент -акциз -акц -акц -акц -акц -ал -ал -алгебр -алгебр -алгебр -алебастр -алек -александр -александр -александринск -александрович -александровн -александровн -александровн -александровн -александровн -александр -александр -алексевн -алексе -алексеев -алексеевич -алексеевич -алексеевич -алексеев -алексеев -алексеев -алексеич -алексеич -алекс -алексе -алел -ал -ален -ален -ал -аленьк -алеш -алешк -алеют -але -ал -алл -аллегор -алл -алл -алл -алле -алле -алмаз -алмаз -алмаз -алмаз -ал -ал -алоэ -алтар -алтар -алтар -алчущ -ал -ал -ал -ал -ал -ал -альбертыч -альб -альбом -альм -альтшауер -альян -амал -амал -амал -амал -амал -амбар -амбар -амбар -амбар -амбиц -амбиц -америк -американск -америк -америк -америк -аметист -амин -амн -ан -анализ -анализ -анализирова -анализир -анализ -анализ -анало -анамн -ананас -ананас -анастас -анатом -анатом -ангажемент -ангар -ангел -ангел -ангелин -ангел -ангел -ангелочк -ангел -ангел -ангельск -ангельск -ангельск -англ -английск -английск -английск -английск -английск -английск -англича -англичан -англичан -англичанин -англ -андр -андре -андреевич -андреевн -андреевн -андреевн -андреевн -андреевн -андреев -андре -андреич -андреич -андреич -андреич -андр -андр -андре -андрюш -андрюшанчик -андрюш -андрюш -андрюш -андрюшк -андрюшк -андрюшк -андрюш -ан -ан -анекдот -анекдот -анечк -ан -анис -анис -анис -аниськ -анис -анис -ан -ан -ан -ан -ан -антверп -антип -антип -антипк -антипк -антип -антон -антон -антракт -антракт -анфилад -анфис -анфис -анчоус -ан -ан -апат -апатич -апатическ -апатическ -апатическ -апат -апат -апелляц -апельсиннича -апельсин -аплодир -аплодиру -аполлон -апоплексическ -апоплекс -аппетит -аппетитн -аппетит -апраксин -апрел -апрел -апрельск -апрел -аптек -аптекар -аптек -аптек -аптек -аптечн -апухтинск -ар -аравийск -арапк -арапк -арбуз -арбуз -аргумент -ар -арендатор -аренд -аренд -арен -арен -ар -арест -арестант -арестант -арестант -арестантск -арестантск -арестант -арестова -арестовыва -арест -арест -арест -ар -аринушк -аристократическ -аристократическ -аристократическ -аристократическ -аристократическ -аристократическ -арифметик -арифметик -арифметик -ариш -ар -аркад -аркадин -аркадин -аркад -аркад -арк -арк -армейск -арм -арм -арм -арм -армяк -армяк -армяк -армячишк -аромат -аромат -ароматн -ароматн -ароматн -аромат -аромат -артел -артельн -артельщик -артельщик -артельщик -артельщик -артем -артем -артист -артист -артистическ -артистическ -артистк -артистк -артистк -артист -артист -артур -арф -арф -арф -арф -архангел -архангельск -археолог -арх -архив -архимедов -архитектор -архитектор -архитектор -архитектур -аршин -аршин -аршин -асессор -асессорш -аскет -ассигнац -ассигнац -ассоциац -астм -астрахан -астраханск -астр -астров -астров -астров -астроном -а -атак -атлас -атласн -атласн -атласн -атласн -атмосфер -атмосфер -атом -атом -атрибут -аттестат -аттестат -а -аудитор -аукцион -аукцион -аул -аус -афанас -афанас -афанас -афанас -афанасьевич -афанасьевич -афанасьевич -афиш -африк -африк -африк -афросиньюшк -афросиньюшк -аффектац -ах -аха -ахан -аха -ахиллес -ахиллесовск -ахиллес -ахилл -ахматов -ахнул -ахнул -ахнул -ахнут -ацтек -аэропла -аэропла -б -ба -баб -баб -бабенк -бабк -баб -бабок -бабочк -бабочк -бабочк -баб -бабушек -бабушк -бабушк -бабушк -бабушкин -бабушкин -бабушкин -бабушк -бабушк -баб -баб -баб -баб -баб -баб -багаж -багров -багров -багров -багров -багров -багрян -багрян -бад -бает -базар -базар -базар -базилик -баиньк -ба -байр -байрон -байрон -бакалеев -бакалеев -бакен -бакенбард -бакенбард -бакенбард -бакенбард -бакенбард -бал -бал -балага -балага -балалайк -балалайк -бал -бал -бал -балерин -балет -балет -балкан -балка -балк -балкон -балкон -балкон -балкон -балкон -балкон -баллад -баллотирова -балова -балован -балова -баловен -баловник -баловн -баловств -балоч -бал -бал -бал -бальзак -бальтазар -банальн -бан -бан -банк -банк -банк -банк -банкирск -банкирш -банк -банковск -банк -баночк -бараба -барабан -барабан -барабан -барак -бара -бара -баран -баранин -баранин -баранин -баранин -баран -баран -барашк -барашк -барж -барин -барин -барин -барин -барин -баркан -барк -барк -бармгерциг -барон -барон -барон -барон -барон -барон -барск -барск -барск -барск -барск -барск -барск -барск -барск -барств -бартол -бархат -бархат -бархат -бархатн -бархатн -бархатн -бархатн -бархат -бархатц -барчонк -барчонк -барчонок -барщин -барщин -бар -барын -барынин -барын -барын -барыш -барыш -барышен -барышн -барышн -барышн -барышнин -барышн -барышн -барышн -барыш -бас -баск -баск -басма -басн -баснословн -бас -баст -басурман -батальон -батальон -батар -батарейн -батарейн -батар -батаре -батистов -батюшк -батюшк -батюшк -батюшк -батюшков -батюшк -бах -бахром -бахром -бахром -бахр -бахром -бахус -бац -баш -башк -башлык -башмак -башмак -башмачк -башмачонк -башн -башн -баюка -бден -бдительн -беат -беатрич -бег -бег -бега -бега -бега -бега -бега -бега -бега -бега -бега -бег -бега -бега -бега -бег -бег -бег -бегл -бегл -бегл -бегл -бег -беготн -беготн -беготн -беготн -бегств -бег -бегун -бегут -бегущ -бегущ -бегущ -бед -бед -бед -бед -бед -бедн -бедн -бедн -бедн -бедн -бедн -беднел -бедненьк -бедненьк -бедн -бедн -бедн -бедн -бедн -бедн -бедност -бедност -бедност -бедн -бедн -бедн -бедн -бедн -бедн -бедн -бедняжк -бедняжк -бедняжк -бедняк -бедняк -бедова -бед -бедр -бедр -бедр -бедствен -бедств -бедств -бедств -бедств -бед -бед -бежа -бежа -бежа -бежа -бежа -беж -беж -беж -без -безбожн -безбожник -безбожник -безбожник -безбожн -безбожн -безбольн -безбородкин -безбрежн -безвер -безвестн -безвестн -безвкусиц -безвкусн -безвозвратн -безвольн -безвред -безвыездн -безвыходн -безвыходн -безграмотн -безграмотн -безграничн -безграничн -безграничн -безграничн -безграничн -безграничн -безгрешн -бездарн -бездарн -бездарн -бездарн -бездейств -бездейств -бездейств -безделиц -безделиц -безделк -бездн -бездн -бездн -бездн -бездн -бездн -бездомн -бездомн -бездомн -бездон -бездон -бездон -бездон -бездон -бездон -бездорож -бездорож -бездушн -бездыхан -бездыха -бездыхан -безжалостн -безжалостн -беззабот -беззаботн -беззаботн -беззаботн -беззаботн -беззаботн -беззаботн -беззаботн -беззаветн -беззаветн -беззакатн -беззакатн -беззащитн -беззащитн -беззащитн -беззвездн -беззвездн -безземельн -беззлоб -беззуб -беззуб -безличн -безличн -безличн -безлюдн -безлюдн -безлюд -безмерн -безмерн -безмозгл -безмолв -безмолвн -безмолвн -безмолвн -безмолвн -безмолвн -безмолвн -безмолвн -безмолвств -безмужн -безмятежн -безмятежн -безмятежн -безмятежн -безнадежн -безнадежн -безнадежн -безнадежн -безнадежн -безнадежн -безнадежн -безнадежн -безнаказа -безначальн -безначальн -безнос -безнравствен -безнравствен -безнравствен -безнравствен -безнравствен -без -безобидн -безобидн -безоблачн -безоблачн -безоблачн -безобраз -безобраз -безобраз -безобраз -безобразн -безобразн -безобразн -безобразн -безобразн -безобразник -безобразнича -безобразнича -безобразн -безобразн -безобразн -безобразн -безобразн -безобразн -безобразн -безобразн -безобразн -безобразн -безобразн -безобразн -безобраз -безопасн -безответн -безответн -безответн -безотрадн -безотрадн -безотрадн -безотчетн -безотчетн -безотчетн -безотчетн -безошибочн -безошибочн -безполезн -безрадостн -безрадостн -безразличн -безрассудн -безрассудн -безрассудн -безропотн -безукоризнен -безукоризнен -безукоризнен -безум -безум -безумн -безумн -безумн -безумн -безумн -безумн -безумн -безумн -безумн -безумн -безумн -безумн -безумн -безумствова -безумств -безумц -безумц -безум -безупречн -безусловн -безутешн -безучаст -безучастн -безучастн -безызвестн -безымен -безысходн -безысходн -безысходн -безысходн -безысходн -бе -бе -бейт -бекет -бекеш -бел -бел -бел -бел -белеет -белел -беленьк -беленьк -беленьк -беленьк -беленьк -белес -беле -белизн -белизн -белизн -белильн -белинск -бел -беллетрист -беллетрист -беллетрист -беллетрист -белобрыс -белобрыс -беловат -беловодов -бел -бел -бел -белокур -белокуреньк -белокуреньк -белокур -белокур -белокур -белокур -бел -бел -белоручк -белоснежн -белоснежн -бел -бел -бел -бел -бел -бел -бел -бельведерск -бельг -бел -бел -бельмес -бел -бензол -берг -берг -бердичев -берег -берег -берег -берег -берег -берег -берегл -берегл -берегл -берег -берег -берег -беред -бережет -бережет -бережеш -бережн -березк -березк -березняк -березняк -березов -березов -берез -бер -беремен -берет -берет -берет -береч -береч -береш -бер -бер -берлин -берлог -берлог -бер -бер -берут -берут -бер -бес -бесед -бесед -бесед -беседк -беседк -беседк -беседк -беседова -беседова -беседова -бесед -бесед -бесед -бесед -бесенок -бес -бес -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бесконечн -бескорыстн -бескорыстн -бескрайн -бескровн -бескровн -бесноват -беспамятн -беспамятн -беспамятств -беспамятств -беспереч -беспечальн -беспечн -беспечн -беспечн -беспечн -беспечн -беспечн -беспечн -бесплодн -бесплодн -бесплодн -бесплодн -бесповоротн -бесподобн -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспоко -беспок -беспокойн -беспокойн -беспокойн -беспокойн -беспокойн -беспокойн -беспокойн -беспокойн -беспокойн -беспокойн -беспокойств -беспокойств -беспокойств -беспокойств -беспок -беспокойт -беспокойт -беспок -беспок -беспоко -бесполезн -бесполезн -бесполезн -бесполезн -бесполезн -бесполезн -бесполезн -бесполезн -бесполезн -беспол -беспомощ -беспомощн -беспомощн -беспомощн -беспомощн -беспомощн -беспорядк -беспорядк -беспорядк -беспорядк -беспорядок -беспорядочн -беспорядочн -беспорядочн -беспорядочн -беспошлин -беспощадн -беспощадн -беспредельн -беспредельн -беспредельн -беспредельн -беспредельн -беспредметн -беспрекословн -беспремен -беспрерывн -беспрерывн -беспрерывн -беспрерывн -беспрерывн -беспрерывн -беспрерывн -беспрерывн -беспрерывн -беспреста -беспримерн -беспристрастн -бесприютн -беспутн -бессвязн -бессвязн -бессердеч -бессил -бессил -бессил -бессил -бессильн -бессильн -бессильн -бессильн -бессильн -бессильн -бессильн -бессил -бесследн -бессловесн -бессловн -бессмен -бессмертн -бессмертн -бессмертн -бессмерт -бессмыслен -бессмыслен -бессмыслен -бессмыслен -бессмыслен -бессмыслен -бессмыслен -бессмыслен -бессмыслиц -бессмыслиц -бессмыслиц -бессмыслиц -бесснежн -бессовестн -бессознательн -бессознательн -бессознательн -бессознательн -бессознательн -бессониц -бессон -бессонниц -бессон -бессон -бессон -бессон -бесспорн -бесспорн -бесспорн -бесстраст -бесстрастн -бесстрастн -бесстрастн -бесстрашн -бесстрашн -бесстыдник -бесстыдник -бесстыдн -бесстыдн -бесстыдн -бессчетн -бестактн -бест -бестолков -бестолков -бестолков -бестужев -бесхарактерн -бесцвет -бесцветн -бесцветн -бесцветн -бесцветн -бесцельн -бесцельн -бесцельн -бесцельн -бесцен -бесцен -бесцеремон -бесчеловеч -бесчеловечн -бесчест -бесчест -бесчестн -бесчестн -бесчестн -бесчестн -бесчест -бесчест -бесчинств -бесчислен -бесчислен -бесчислен -бесчувств -бесчувствен -бесчувствен -бесчувствен -бесчувствен -бесчувствен -бесчувствен -бесчувств -бесшумн -бетхов -бешен -бешен -бешен -бешен -бешен -бешенств -бешенств -бешенств -бешенств -бешен -бешен -библейск -библиотек -библиотек -библиотекар -библиотек -библ -библ -бива -бива -бивш -бивш -биен -биен -биен -биен -бил -бил -бил -билет -билет -билет -билет -билетик -билетик -билетик -билет -билет -билет -билет -бил -биллиард -биллиард -биллиард -бил -бил -бил -бил -бильярд -бильярд -бильярдн -бильярдн -бильярдн -бинокл -бинокл -биограф -бирж -бирж -бис -бисер -бисер -бисквит -бисквит -битв -битв -битв -битв -битк -бит -бит -бит -бит -бит -бит -бифштекс -бифштекс -бицепс -бич -бич -бичурин -биш -бла -благ -благ -благ -благ -благ -благовещен -благовидн -благовол -благовон -благовон -благовоспита -благовоспита -благоговеет -благоговейн -благоговейн -благоговейн -благоговел -благоговен -благоговен -благоговет -благогов -благодар -благодар -благодар -благодар -благодар -благодар -благодар -благодарн -благодарн -благодарн -благодарн -благодарн -благодарн -благодарн -благодарн -благодар -благодар -благодат -благода -благодетел -благодетел -благодетел -благодетел -благодетельн -благодетельн -благодетельствова -благодетельствова -благодетельств -благодетел -благодеян -благодеян -благодеян -благодушн -благолеп -благонадежн -благонамерен -благонамерен -благонравн -благонравн -благополучн -благоприобретен -благоприобретен -благоприятн -благоприятн -благоприятн -благоприятствова -благоразум -благоразум -благоразумн -благоразумн -благоразумн -благоразумн -благород -благород -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородн -благородств -благородств -благородств -благородств -благосклон -благосклон -благосклон -благословен -благословен -благословен -благословен -благословен -благословен -благослов -благослов -благослов -благослов -благослов -благослов -благослов -благословл -благословля -благословля -благословля -благословля -благословл -благослов -благослов -благосостоян -благосостоян -благост -благост -благотворител -благотворительн -благотворительн -благотворн -благотворн -благоугодн -благоусмотрен -благоуха -благоуха -благоуха -благоухан -благоуха -благоуха -благочестив -блажен -блажен -блажен -блажен -блажен -блажен -блажен -блаженств -блаженств -блаженств -блаженствова -блаженствова -блаженствова -блаженств -блаженств -блаженств -блажн -блаж -блаж -бланбек -бланбек -блед -бледн -бледн -бледневш -бледн -бледнеет -бледнел -бледненьк -бледнет -бледнеют -бледне -бледн -бледн -бледн -бледн -бледн -бледност -бледночернильн -бледн -бледн -бледн -бледн -бледн -бледн -бледн -блекл -блеск -блеск -блеск -блеск -блеснет -блесн -блеснувш -блеснул -блеснул -блеснул -блеснул -блеснут -блестел -блестел -блест -блестк -блест -блестя -блестя -блестя -блестя -блестя -блестя -блестя -блестя -блестя -блещет -блещеш -блещут -блещущ -блещущ -блещущ -блеющ -ближайш -ближайш -ближайш -ближайш -ближайш -ближ -ближн -ближн -ближн -близ -близ -близк -близк -близк -близк -близк -близк -близк -близк -близк -близк -близк -близк -близлежа -близок -близорук -близост -близ -блин -блин -блин -блин -блиста -блиста -блиста -блиста -блиста -блистан -блистательн -блистательн -блистательн -блиста -блиста -блиста -блиста -бло -блок -блонд -блонд -блондин -блондинк -блондинк -блондин -блонд -блох -блудниц -блужда -блужда -блужда -блужда -блужда -блужд -блуз -блуз -блю -блюд -блюд -блюд -блюд -блюдечк -блюдечк -блюдечк -блюд -блюд -блюдц -блюст -блюстител -бо -боб -бобик -бобик -бобик -боб -бобров -боб -бог -бог -богат -богат -богат -богатеет -богатеют -богат -богат -богат -богат -богат -богатств -богатств -богат -богат -богат -богат -богат -богатыр -богатыр -богатыр -богат -богач -богач -богач -богач -богданович -богданыч -бог -богем -богем -богемск -бог -богин -бог -богомол -богомольн -богомольн -богомольн -богородиц -богородиц -богохульник -бог -бодр -бодр -бодр -бодр -бодр -бодр -бодр -бодрост -бодрост -бодрост -бодрствова -бодрствова -бодрств -бодр -бодр -бодр -бодяг -боев -бо -боец -бож -божеств -божествен -божествен -божествен -божествен -божеств -бож -бож -бож -бож -бож -бож -бож -бож -бож -бож -бож -бож -бо -бо -бо -бо -бойк -бойк -бойк -бойк -бойк -бойк -бойк -бойн -бо -бойт -бок -бок -бока -бока -бокал -бокал -бокал -бок -бок -бок -бокл -бок -боков -боков -боков -боков -бок -бок -болва -болван -болван -бол -бол -болеет -болезн -болезн -болезнен -болезнен -болезнен -болезнен -болезнен -болезнен -болезнен -болезнен -болезнен -болезнен -болезнен -болезнен -болезн -болезн -болезн -болезн -болезн -болезн -болел -болел -болел -болел -бол -болет -болеют -бол -бол -болос -болот -болот -болотист -болотн -болотн -болотн -болот -болот -болта -болта -болта -болта -болта -болта -болта -болта -болта -болта -болта -болта -болт -болтл -болтлив -болтлив -болтлив -болтовн -болтовн -болтовн -болтовн -болтун -болтунишк -болтушк -бол -больн -больн -больн -больн -больниц -больниц -больниц -больниц -больниц -больн -больн -больн -больн -больн -больн -больн -больн -больн -больн -больн -больн -больн -больш -больш -больш -большеголов -больш -больш -больш -больш -больш -больш -больш -большинств -большинств -большинств -больш -больш -больш -больш -больш -больш -больш -больш -бол -бол -бомб -бонжур -бон -бор -борел -борет -борис -борис -борисович -борис -бормота -бормота -бормота -бормотан -бормотан -бормочет -бормочеш -бор -бород -бород -бородк -бород -бород -бород -борозд -борол -борол -борол -борол -борот -борт -борт -борт -борт -борц -борьб -борьб -борьб -борьб -борьб -борьб -борют -бор -бос -босеньк -босик -боскет -бос -босоног -бостон -бос -бос -ботаник -ботвин -ботвин -ботинк -ботинк -ботинк -ботиночк -бочк -бочк -бочк -бочк -бочонк -бочонок -бо -бо -бо -боя -боя -боязлив -боязлив -боязлив -боязн -боязн -боязн -боя -боя -боя -бо -бо -боя -брав -брав -брак -брак -брак -брак -брак -брак -брал -брал -брал -брал -брал -бранд -бран -бран -бран -бран -бран -бран -бран -бран -бран -бран -бранч -бран -бран -бран -бран -бран -браслет -браслет -браслет -браслет -брат -брат -брат -братец -брат -братишк -брат -братск -братств -брат -братц -братц -братц -братц -братц -брат -брат -брат -брат -брат -брат -брачн -брачн -бревн -брег -бред -бред -бред -бред -бред -бред -бред -бред -бред -бред -бред -бред -бреет -брежж -бреж -брезга -брезга -брезглив -брезгова -брезж -брел -брелок -брелок -бремен -бремен -брем -брен -брен -бренча -бренч -бретер -бригад -бригад -бригад -бриллиант -бриллиант -бриллиантов -брил -брит -брит -бритв -бритв -брит -брит -брит -бров -бров -бров -бров -бров -бров -брод -брод -брод -брод -брод -брод -брод -бродяг -бродяг -бродяг -бродяжнича -бродяжничеств -брод -бродяч -бронз -бронзов -броса -броса -броса -броса -броса -броса -броса -броса -броса -броса -броса -броса -броса -броса -броса -броса -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -брос -бро -бросьт -брос -брос -брош -брош -брошен -брошен -брошен -брошен -брош -брош -брошк -брошк -брош -брош -брош -брошюр -брошюр -брошюр -бррр -брудершафт -брусничн -брут -брызг -брызга -брызг -брызжут -брызнув -брызнул -брызнул -брызнул -брызнут -брюжж -брюзг -брюзглив -брюзглив -брюзглив -брюзглив -брюзжа -брюзж -брюк -брюкв -брюк -брюнет -брюнет -брюсов -брюх -брюх -брюшк -бряка -брякн -брякнул -брякнул -брякнут -бряца -буб -бубенчик -бубенчик -бубенчук -бубнов -бубн -бугорк -бугорк -буд -буд -будемт -будет -будет -будеш -буд -буд -буд -буд -буд -будиру -буд -буд -будн -будн -будн -будничн -будничн -будничн -будничн -будничн -будничн -будн -будн -будок -будораж -будочник -будочник -будт -буд -будуар -будуар -будут -будуч -будущ -будущ -будущ -будущ -будущ -будущ -будущ -будущ -будущ -будущ -будущн -будущн -будущ -буд -будьт -буд -буд -буерак -бузин -буйн -буйн -буйн -буйн -буйн -буйн -буйн -буйн -буйн -буйствен -буйств -буйств -букашк -букв -буквальн -буквальн -букв -букв -букв -букв -букет -букет -букет -букет -букет -бук -букинист -булавк -булавк -булав -булк -булк -булк -булок -булочек -булочк -булочник -булочн -булт -бул -бульвар -бульвар -бульвар -бульвар -бульдог -бульон -бумаг -бумаг -бумаг -бумаг -бумаг -бумаг -бумаг -бумаг -бумаг -бумажечк -бумажк -бумажк -бумажк -бумажк -бумажк -бумажник -бумажник -бумажн -бумажн -бумажн -бумб -бунтова -бунт -бунчук -бура -бурд -бур -бур -буржуазн -бур -буркал -бурмейстер -бурн -бурн -бурн -бурн -бурнус -бурнусик -бурнусик -бурн -бурн -бурн -бур -бур -бурсак -бурш -бурш -бур -бур -бурья -бурьян -бурьян -бур -бур -бур -бур -бутончик -бутошник -бутылк -бутылк -бутылк -бутылк -бутылк -бутылк -бутылок -бутылочк -бутылочк -бутылочн -буфер -буфет -буфет -буфет -буфет -буфетчик -буфетчик -буфет -буффон -бух -бухт -бушева -буш -буш -буя -буян -буян -бы -быв -быва -быва -быва -быва -быва -быва -быва -быва -бывал -бывал -бывал -бывал -бывал -быва -быва -быва -бывш -бывш -бывш -бывш -бывш -бывш -бывш -бывш -бывш -бывш -бывш -бывш -бывш -был -был -был -был -былинк -был -был -был -был -был -был -был -быстр -быстр -быстр -быстрин -быстр -быстр -быстр -быстрот -быстрот -быстрот -быстрот -быстр -быстр -быстр -быт -быт -быт -быт -бытийствен -быт -бытност -быт -быт -быт -быт -бьем -бьет -бьет -бьеш -бью -бьют -бьют -бьющ -бьющ -бюджет -бюджет -бюргер -бюргер -бюргер -бюргерск -бюргерск -бюр -бюст -бюст -в -вавиловк -вагнер -вагон -вагон -вагон -вагон -вагон -вагон -важн -важн -важн -важн -важнича -важн -важн -важн -важн -важн -важн -важност -важност -важност -важност -важн -важн -важн -важн -важн -важн -ваз -ваз -вакс -вакханк -вал -валанда -валентин -валерианов -валер -валет -вал -вал -вал -вал -вал -вальдшнеп -вальс -вальс -вальс -вальсишк -вальтер -валя -валя -валя -валя -валя -валя -валя -вам -вам -вампир -вампирствен -ван -ван -ванечк -ванечкин -ванечк -ван -ван -ванил -ванил -ван -ваньк -ван -ванюш -ванюш -ванюш -ванюш -ван -варвар -варвар -варвар -вар -варен -вареник -вареник -варен -варен -варен -варенц -варен -варен -варен -варен -вар -вариац -вар -вар -варин -вар -вар -варшав -варшав -варшав -варшавск -варшав -варьяц -варьяц -вар -вар -варяг -вар -вас -васил -василис -василис -васил -васильев -васильевич -васильевн -васильевн -васильевн -васильевск -васильевск -васильевск -васильевск -васильев -васил -васильич -васильич -васьк -васьк -васьк -ватаг -ватерло -ватн -ват -ваточн -ваточн -ватрушк -ватрушк -ват -ват -вафл -вахрушин -вахрушин -ваш -ваш -ваш -ваш -ваш -ваш -ваш -ваш -ваш -ваш -ваш -ваш -ваш -вбега -вбежа -вбеж -вбива -вбил -вблиз -вбок -ввел -ввел -вверга -вверга -вверен -ввер -ввернет -вверн -ввернул -ввернут -вверх -вверх -вверя -ввест -ввид -ввод -ввод -ввож -ввоз -ввы -ввяза -вглуб -вглядевш -вглядел -вгляд -вглядыва -вглядыва -вглядыва -вглядыва -вглядыв -вдава -вдавлен -вдал -вдалек -вдал -вдал -вдво -вдво -вдвойн -вдева -вдесятер -вдобавок -вдов -вдов -вдовеет -вдовец -вдов -вдовиц -вдовиц -вдов -вдов -вдов -вдогонк -вдол -вдохновен -вдохновен -вдохновен -вдохновен -вдохновен -вдохновен -вдохновен -вдохновен -вдохновен -вдохновен -вдохновен -вдохнул -вдохнут -вдребезг -вдруг -вдругоряд -вдума -вдума -вдумчив -вдумчив -вдумыва -вдумыва -вдумыв -ве -веда -веда -веда -веда -веда -веда -веда -веда -вед -веден -веден -веден -ведет -ведеш -вед -вед -ведом -ведом -ведом -ведом -ведомств -ведр -ведр -ведр -ведр -вед -ведут -ведущ -ведущ -ведущ -ведущ -вед -ведьм -ведьм -ведьм -вед -веер -веет -вежд -вежл -вежлив -вежлив -вежлив -вежлив -вежлив -вежлив -везд -везет -везеш -везл -везт -вез -везув -везущ -век -век -век -век -век -век -век -век -вековечн -вековечн -веков -веков -веков -вексел -векселек -вексел -вексел -век -вел -вел -велел -велел -велел -велен -вел -велет -вел -велик -велик -велика -великан -великан -велика -велик -велик -велик -велик -велик -велик -велик -великодуш -великодуш -великодушн -великодушн -великодушн -великодушн -великодушн -великодушн -великодушн -великодушн -великодушн -велик -велик -великолеп -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -великолепн -велик -велик -великонек -велик -вел -вел -величав -величав -величав -величав -величайш -величайш -величайш -величайш -величайш -величайш -величайш -величайш -велича -велича -величествен -величествен -величеств -велич -велич -величин -величин -величин -величин -велич -вел -велосипед -вел -вельмож -вельмож -вельмож -вел -вел -венгерск -вен -венерическ -венец -венецейск -венецианск -венецианск -венец -веник -веник -веничек -веничк -венк -венк -венк -венк -венк -венок -венц -венц -венц -венча -венча -венча -венча -венчальн -венча -венча -вен -вер -вер -верблюд -верб -вер -веревк -веревк -веревк -веревк -веревк -веревочк -веревочн -вер -верениц -верениц -верениц -верет -вер -вер -вер -вер -вер -вер -вер -вер -верн -верн -верн -верн -верн -вернет -вернет -вернеш -вернеш -верн -верн -верн -верн -верн -верн -верн -верн -верност -верност -верност -верн -вернув -вернувш -вернул -вернул -вернул -верн -вернут -вернут -вернут -верн -верн -верн -верн -верн -верн -верова -верова -верова -верован -верова -вер -вероломн -вероломств -вероломств -вер -вероятн -вероятн -вероятн -вероятн -вероятн -верс -верст -верст -верст -верстов -верст -верст -вертел -вертел -вертеп -вертер -вертет -верт -верт -верт -верт -верт -вертляв -вертун -верт -верт -верт -вер -вер -верует -вер -веруеш -вер -вер -вер -вер -вер -вер -веру -верф -верх -верхлев -верхлев -верхлев -верхлевск -верхлевск -верхн -верхн -верхн -верхн -верхн -верхн -верхн -верхн -верхн -верхов -верхов -верховск -верх -верх -верхушк -верхушк -верша -вершин -вершин -вершинин -вершинин -вершинин -вершинин -вершинин -вершинин -вершин -вершк -вершок -вер -вер -верьт -вер -вер -вер -вес -вес -весел -весел -весел -весел -весел -веселе -весел -весел -весел -весел -весел -весел -весел -весел -весел -весел -весел -весел -весел -весел -весел -весел -весельчак -весел -весен -весен -весен -весен -вес -весл -весл -весл -весн -весн -весн -весн -весн -весталк -вест -вестник -вест -вест -вест -вест -вес -вес -ве -весьм -ветв -ветв -ветв -ветер -ветерк -ветерк -ветерок -ветк -ветк -ветк -ветк -ветк -ветк -ветл -веток -ветр -ветр -ветрен -ветрен -ветрен -ветров -ветр -ветр -ветх -ветх -ветх -ветх -ветх -ветх -ветчин -ветчин -вечер -вечер -вечер -вечер -вечер -вечереет -вечерел -вечерк -вечерн -вечерн -вечерн -вечерн -вечерн -вечерн -вечерн -вечерн -вечер -вечерок -вечер -вечер -вечн -вечн -вечн -вечн -вечн -вечн -вечност -вечност -вечн -вечн -вечн -вечн -вечн -вечн -веша -веша -веша -веша -веша -веш -веш -вешн -вешн -вешн -вешн -вещ -вещ -вещан -вещ -вещ -веществ -веществен -вещ -вещ -вещ -вещиц -вещиц -вещ -вещ -вея -вея -веян -веян -взад -взаимн -взаимн -взаимн -взаимн -взаимн -взаимност -взаимност -взаимност -взаимн -взаимн -взаимн -взаимн -взайм -взам -взаперт -взаправд -взапуск -взбега -взбежа -взбежа -взбес -взбес -взбес -взбес -взбешен -взбира -взбира -взбир -взбит -взбит -взборозд -взбунтова -взбунт -взведет -взведет -взвел -взвел -взвес -взвес -взвешива -взвешива -взвешив -взвива -взвизг -взвизгнул -взвизгнул -взвизг -взвизг -взвил -взвил -взвод -взводим -взвод -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволнова -взволн -взвыл -взгляд -взгляд -взгляд -взгляд -взгляд -взгляд -взгляд -взгляд -взглядыва -взглядыва -взглядыва -взглядыва -взглядыван -взглядыва -взглядыв -взглянет -взглянеш -взглян -взглян -взглян -взглянув -взглянул -взглянул -взглянул -взглянут -вздернет -вздернут -вздор -вздор -вздорн -вздорн -вздорн -вздорожа -вздор -вздор -вздох -вздох -вздох -вздохнет -вздохн -вздохн -вздохнув -вздохнул -вздохнул -вздохнул -вздохнут -вздох -вздрагива -вздрагива -вздрагива -вздрагива -вздрагива -вздрагиван -вздрагива -вздрагива -вздрагива -вздрагив -вздремнет -вздремнул -вздремнул -вздрогнет -вздрогнув -вздрогнул -вздрогнул -вздрогнул -вздрогнут -вздул -вздул -вздума -вздума -вздума -вздума -вздума -вздума -вздума -вздыма -вздыма -вздыха -вздыха -вздыха -вздыхател -вздыха -вздыха -вздыха -вздых -взир -взламыва -взлет -взлета -взлетел -взлет -взлеч -взлом -взлохмач -взмахнет -взмахн -взмахнув -взмахнул -взмах -взметут -взнос -взобра -взобьет -взовьет -взойдет -взойд -взойд -взойт -взор -взор -взор -взор -взор -взор -взор -взошел -взошл -взошл -взросл -взросл -взросл -взросл -взрыв -взрыв -взрыв -взрыв -взрыв -взъерошен -взыва -взыва -взыва -взыва -взыв -взыгра -взыскан -взыскан -взыскан -взыскан -взыскан -взыскан -взыскательн -взыскательн -взыскательн -взыска -взыскива -взыскива -взыщ -взяв -взявш -взял -взял -взял -взял -взял -взял -взял -взял -взятк -взяток -взяточник -взяточник -взяточник -взят -взят -взят -взят -взят -вив -вид -вид -вида -вида -вида -вида -вида -вида -вида -вида -вида -вид -вид -видевш -видевш -видел -видел -видел -видел -видел -видел -видемш -вид -вид -виден -виден -виден -виден -виден -виден -виден -виден -виден -виден -виден -видет -видет -вид -видим -видим -видим -видим -видим -видим -видим -вид -видим -видим -видим -вид -вид -вид -вид -вид -видн -видн -виднел -виднел -виднел -видн -видн -видн -видн -вид -видоизменен -видоизменя -вид -вид -вид -видыва -видыва -вид -вид -вид -видя -виж -виж -визав -визг -визглив -визглив -визг -визжа -визжал -визжат -визжа -визж -виз -визит -визит -виз -визитик -визитн -визитн -визитн -визитн -визит -визит -визит -вил -виланд -вил -вилк -вилк -вилк -вилк -вилл -вил -вильн -виля -вил -вин -вин -вин -вин -вин -вин -винительн -вин -вин -вин -вин -вин -виноват -виноват -виноват -виноват -виноват -виноват -виноват -виноват -виноват -винов -виновник -виновник -виновниц -виновн -виновн -виноград -виноград -виноградн -виноград -вин -винт -винт -винт -винтов -винтообразн -винтообразн -винт -вин -винц -винч -вин -вин -вин -виртуоз -виртуоз -висевш -висел -висел -висел -висет -вис -вис -виск -виск -виск -виск -висл -висл -висл -виснет -висок -висяч -вися -вися -вися -витиеват -витиеват -вит -витрин -вифан -вифлеем -вихор -вихраст -вихр -вихрев -вихр -вихр -вихр -вихр -вихр -виц -вицмундир -вицмундир -вицмундир -виш -вишен -вишер -вишнев -вишнев -вишнев -вишнев -вишн -вишн -вишн -виш -ви -вкладыва -включ -вколачива -вколот -вконец -вкопа -вкопа -вко -вкрадчив -вкрадыва -вкрал -вкрал -вкрив -вкруг -вкус -вкус -вкус -вкус -вкус -вкусн -вкусн -вкусн -вкусн -вкус -вкус -вкуша -вл -влага -влага -влаг -влаг -владевш -владеет -владел -владел -владелец -владельц -владетельн -владет -влад -владе -владимир -владимир -владимирк -владимирк -владимирович -владимир -владычеств -владычествова -владычествова -владычиц -владычиц -влажн -влажн -влажн -влажн -властвова -властвова -властв -власт -властелин -власт -власт -властительн -властн -властн -власт -влачат -влев -влез -влеза -влез -влезет -влезеш -влезл -влезт -влезут -влекл -влекл -влеком -влекущ -влекущ -влетел -влетел -влетел -влет -влечен -влечен -влечен -влечен -влечет -влечеш -влива -влива -влива -влил -влия -влия -влиян -влиян -влиян -влиян -влиян -вложен -влож -влож -влож -влопа -влюб -влюб -влюб -влюб -влюбл -влюбл -влюблен -влюблен -влюблен -влюблен -влюблен -влюблен -влюблен -влюблен -влюблен -влюблен -влюбл -влюбл -влюбля -влюбля -влюбля -влюбля -влюбл -вмест -вмест -вмеша -вмеша -вмеща -вна -внакидк -внакладочк -вначал -вне -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внезапн -внемл -внемлют -внес -внесен -внес -внесл -внесл -внест -внес -вне -внешн -внешн -внешн -внешн -внешн -внешн -внешн -вниз -вниз -вника -вника -вника -вник -вникн -вникнул -вникнут -внима -внима -вниман -вниман -вниман -вниман -вниман -вниман -вниман -внимател -внимательн -внимательн -внимательн -внимательн -внима -внима -вним -внов -внов -внос -внос -внос -внос -вно -внук -внук -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутрен -внутр -внутр -внучат -внучк -внуша -внуша -внуша -внуша -внушен -внушен -внушен -внушен -внуш -внуш -внуш -внушительн -внушительн -внушительн -внушительн -внуш -внят -внятн -внятн -внятн -во -вобл -вовек -вовлеч -воврем -вовс -вогна -вод -вод -водворен -водвор -водвор -водвор -водворя -водвор -вод -водевил -вод -вод -вод -вод -вод -вод -вод -вод -водиц -водк -водк -водк -водк -водн -водовоз -водоворот -водоем -вод -водопад -водопад -водочк -водочк -вод -вод -вод -водян -водянист -водянист -водян -водян -водян -водян -вод -воедин -воен -воен -воен -воен -воен -воен -воен -воен -воен -воет -вожак -вожд -вожд -вожж -воз -воз -возалка -воз -возблагодар -возблагодар -возбуд -возбуд -возбуд -возбудим -возбуд -возбуд -возбужда -возбужда -возбужда -возбужда -возбужда -возбужда -возбужд -возбужден -возбужден -возбужден -возбужден -возбужден -возбужден -возвед -возведен -возвел -возвел -возвест -возвещ -возврат -возврат -возврат -возврат -возврат -возврат -возврат -возврат -возврат -возврат -возврат -возвратн -возвратн -возврат -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвраща -возвра -возвращен -возвращен -возвращен -возвращен -возвращ -возвыс -возвыс -возвыс -возвыша -возвыша -возвыша -возвыша -возвыша -возвыш -возвыш -возвышен -возвышен -возглаголет -возглагол -возглас -возглас -воздвигл -воздвигнут -воздел -возделыва -воздержан -воздержн -воздусех -воздух -воздух -воздух -воздух -воздух -воздушн -воздушн -воздушн -воздушн -воздыхан -возжаждеш -воззва -воззван -воззрен -воззрен -воззрен -воз -воз -воз -воз -воз -воз -воз -возл -возлелея -возлож -возлюб -возлюб -возлюб -возлюблен -возлюблен -возлюблен -возлюблен -возлюбля -возмезд -возмезд -возможн -возможн -возможн -возможн -возможн -возможн -возможн -возмут -возмут -возмутительн -возмутител -возмут -возмут -возмуща -возмуща -возмущ -возмущ -возмущ -вознаград -вознагражда -вознагражд -вознагражден -вознагражден -вознамер -возненавидел -возненавидел -возненавид -возненавид -возненавиж -вознесенск -вознес -вознес -возн -возник -возника -возника -возника -возника -возника -возникл -возникл -возникнет -возникновен -возникш -вознос -вознос -возн -возн -возн -возобнов -возобнов -возобновля -возобновля -воз -воз -возоп -возража -возража -возражен -возражен -возраз -возраз -возраз -возраст -возраст -возраста -возраста -возраста -возраста -возраста -возраст -возраст -возраст -возраст -возрод -возрожда -возрожден -возрожден -возросл -возросл -воз -возымел -возымет -возьм -возьмет -возьмет -возьмет -возьмет -возьмеш -возьм -возьм -возьм -возьмут -возьмут -воз -воин -воин -воин -воин -воистин -во -войд -войдет -войдеш -войд -войд -войд -войдут -войд -войлок -войлок -войлок -войн -войн -войн -войн -войницк -войницк -войницк -войницк -войницк -войницк -войн -войн -войск -войск -войск -войт -вокза -вокзал -вокзал -вокруг -вол -волг -волг -вол -вол -вол -вол -вол -волк -волк -волк -волн -волн -волн -волн -волнен -волнен -волнен -волнен -волнен -волнен -волнен -волнен -волнен -волнова -волнова -волнова -волнова -волнова -волнова -волнова -волнова -волн -волн -волн -волну -волн -волнует -волнует -волн -волнуеш -волнуеш -волн -волн -волн -волн -волн -волн -волн -волн -волну -волн -вол -волокит -волокит -волок -вол -волос -волос -волос -волос -волосат -волос -волосенк -волосик -волоск -волоск -волост -волос -волоч -волчк -волчок -волч -волшебн -волшебник -волшебниц -волшебниц -волшебниц -волшебн -волшебн -волшебн -волшебств -вол -вольн -вольн -вольнодумн -вольнодумц -вольн -вольн -вольн -вольн -вольн -вольн -вольн -вольн -вольтер -вол -вол -вон -вон -вонза -вонза -вонза -вонз -вонз -вонз -вон -вон -вон -вонюч -вонюч -вообража -вообража -вообража -вообража -вообража -вообража -вообража -вообража -воображ -воображен -воображен -воображен -воображен -воображен -воображен -воображен -вообраз -вообраз -вообраз -вообраз -вообраз -вообраз -вообраз -вообраз -вообраз -вообраз -вообраз -вообщ -вооружа -вооружа -вооруж -вооружен -вооружен -вооружен -вооруж -вооруж -воп -воп -вопиющ -вопиющ -вопл -вопл -вопл -вопл -воплот -воплот -воплоща -воплощен -воплощен -вопл -вопл -вопл -вопл -вопрек -вопрос -вопрос -вопрос -вопрос -вопрос -вопрос -вопросик -вопросительн -вопросительн -вопросительн -вопросительн -вопрос -вопрос -вопрос -вопрос -вопроша -вопроша -вопроша -вопроша -вопьет -вор -вор -ворва -ворва -ворва -ворвет -вороб -воробушек -воробушк -вор -воровал -ворова -воровк -воровк -воровск -ворож -вор -ворон -ворон -воронк -ворон -ворон -ворон -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -ворот -воротник -воротник -воротник -воротничк -воротничк -воротничок -ворот -ворот -ворох -вороча -вороча -вороча -вороча -вороча -вороча -вороча -вороча -вороча -вороча -вороча -вороча -вороч -вороч -вороч -вор -ворует -вор -ворч -ворча -ворча -ворча -ворчан -ворчан -ворча -ворч -ворч -ворчлив -ворч -вор -восемнадцат -восемнадца -восем -восемьдес -восемьсот -воск -воскликнул -воскликнул -восклица -восклица -восклицан -восклицан -восклицан -восклицан -восклицан -восклицан -восклицан -восклиц -восклон -воскрес -воскреса -воскресен -воскресен -воскресен -воскресен -воскресен -воскресен -воскресен -воскрес -воскрес -воскрес -воскресл -воскресл -воскреснет -воскреснув -воскресн -воскресн -воскресн -воскресш -воскрес -воскреша -воскреша -вослед -воспален -воспален -воспален -воспален -воспален -воспален -воспален -воспита -воспита -воспита -воспита -воспитан -воспитан -воспитан -воспитан -воспита -воспита -воспита -воспита -воспита -воспита -воспитыва -воспитыва -воспитыва -воспитыв -воспламен -воспламен -воспламеня -воспользова -воспользова -воспользова -воспользова -воспольз -воспоминан -воспоминан -воспоминан -воспоминан -воспоминан -воспоминан -воспоминан -воспоминан -воспоминан -воспоминан -воспослед -воспрещ -восприимч -восприимчив -восприимчив -восприимчив -восприимчив -восприня -воспринят -воспроизвод -воспротив -воспрянут -восскорбел -восста -восстава -восста -восста -восста -восстанет -восстанов -восстанов -восстанов -восстанов -восстановл -восстановля -восстановл -восстанут -восстан -востер -восток -восток -восторг -восторг -восторг -восторг -восторга -восторг -восторг -восторг -восторжен -восторжен -восторжен -восторжен -восторжен -восторжен -восторжен -восторжен -восторжен -восторжен -восторжен -восточн -восточн -востреньк -востреньк -востр -востроног -востр -востр -востр -восхвал -восхитительн -восхища -восхища -восхищен -восхищен -восхищен -восход -восход -восход -восходн -восхожден -восьмерк -восьм -восьмидесят -восьмидесят -восьмилетн -восьм -восьм -восьм -восьм -восьм -вот -воткнул -воткнут -вотчин -воцар -воцар -воцаря -вочеловеч -вошедш -вошедш -вошедш -вошедш -вошедш -вошедш -вошедш -вошел -вошл -вошл -вошл -вош -воюет -воющ -во -вояж -вояж -вояж -вояжир -впавш -впада -впада -впада -впада -впад -впадеш -впал -впал -впал -впаст -вперв -вперв -вперегонк -вперед -вперед -впер -впер -впечатлен -впечатлен -впечатлен -впечатлен -впечатлен -впечатлительн -впечатлительн -впива -впив -впил -впил -вплел -вплест -вплета -вплот -вповалк -вполглаз -вполголос -вполза -вполза -вполн -вполовин -вполуоборот -впопад -впопых -впор -впоследств -впотьм -вправд -вправ -вправ -впред -впридач -впрок -впроч -впряга -впряж -впрям -впуска -впуска -впуска -впуст -впуст -впятер -вр -враг -враг -враг -враг -врагин -враг -враг -враг -вражд -враждебн -враждебн -враждебн -враждебн -враждебн -враждебн -враждебн -враждебн -вражд -вражд -вражеск -вражеск -враж -враж -враж -враздроб -вразум -вразумихин -врал -вран -вран -врасплох -врат -врач -врач -врач -врачебн -врач -враща -враща -враща -вревск -вред -вред -вред -вред -вредн -вредн -вредн -вредн -вредн -вредн -вред -вреза -врезыва -врем -врем -врем -времен -времен -времен -времен -времен -времен -времен -времен -времен -времен -времечк -врем -врет -врет -вреш -ври -врод -врожден -врожден -врожден -вроз -вросл -вру -врубел -врубел -врубел -врут -вручен -вруч -вруч -врыва -врыва -врыва -врыв -врыт -вряд -всаж -все -всеблаг -всевдоним -всевозможн -всевозможн -всевышн -всевышн -всегд -всегдашн -всегдашн -всегдашн -всегдашн -всегдашн -всег -вседержител -вседневн -всеевропейск -всезнан -всезнан -всезна -всезна -все -вселен -вселен -вселенск -всел -всел -вселитературн -всел -вселя -вселя -всем -всем -всемирн -всемирн -всемирн -всем -всенаполня -всенародн -всенижайш -всен -всенощн -всеобщ -всеобщ -всеобщ -всеобщ -всеобъемлем -всеоруж -всепоглоща -всесветн -всесмета -всесторон -всеуслышан -всех -всецел -все -вскакива -вскакива -вскакива -вскакива -вскакив -вскач -вскинув -вскинул -вскинул -вскинул -вскинут -вскинут -вскип -вскипевш -вскипел -вскипел -всклокочен -всклочен -вско -всколос -всколыхнул -вскольз -вскор -вскоч -вскоч -вскоч -вскоч -вскоч -вскоч -вскоч -вскрикива -вскрикива -вскрикиван -вскрикива -вскрикив -вскрикнет -вскрикн -вскрикнул -вскрикнул -вскрикнул -вскрикнут -вскрикнут -вскрича -вскрича -вскруж -вскрыва -вскрыва -вскрыл -вскрыт -всласт -вслед -вследств -вслух -вслушива -вслушива -вслушива -вслушива -вслушив -всматрива -всматрива -всматрива -всматрив -всплескив -всплеснув -всплеснул -всплеснул -всплеснул -всплыва -всплывут -всплыл -вспоен -всполохнут -всполош -всполош -вспомина -вспомина -вспомина -вспомина -вспомина -вспомина -вспомина -вспомина -вспомина -вспомина -вспомина -вспомина -вспомин -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспомн -вспоможен -вспоможен -вспоможен -вспорхнул -вспотевш -вспрыгива -вспрыгнул -вспрянул -вспугнул -вспугнут -вспухл -вспухш -вспыл -вспыл -вспыльчив -вспыльчив -вспыльчив -вспыл -вспыхива -вспыхива -вспыхива -вспыхива -вспыхнет -вспыхнув -вспыхнул -вспыхнул -вспыхнул -вспыхнул -вспыхнут -вспышк -вспышк -вспышк -вспят -встав -встава -встава -встава -встава -встава -встава -встав -встав -встав -вставля -вставш -вставш -вставш -встает -встает -встаеш -встал -встал -встал -встанемт -встанет -встанеш -встан -встанут -встан -встаньт -встар -встат -вста -встают -встревож -встревожен -встревожен -встревожен -встревожен -встревожен -встревожен -встревожен -встревож -встревож -встревож -встревож -встревож -встрепа -встрепенет -встрепенул -встрепенул -встрепенул -встрепенут -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встрет -встреч -встреч -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреча -встреч -встреча -встреча -встреча -встреча -встреч -встреч -встреч -встречен -встреч -встречн -встречн -встречн -встречн -встречн -встречн -встречн -встреч -встряхива -встряхн -встряхнул -встряхнул -встряхнут -встряхнут -вступа -вступа -вступа -вступа -вступ -вступ -вступ -вступ -вступ -вступ -вступ -вступ -вступ -вступ -вступлен -вступлен -всунув -всунул -всунут -всхлипнут -всхлипыва -всхлипыва -всхлипыва -всхлипыва -всхлипыв -всход -всход -всход -всю -всюд -вся -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяк -всяческ -втайн -втащ -втащ -втесн -втира -втихомолк -втолкова -втопта -втор -вторга -вторичн -вторичн -вторник -втор -втор -втор -втор -второп -второстепен -втор -втор -втор -втор -втро -втун -втыка -втягива -втягиван -втягива -втягива -втянет -втянет -втянув -втянул -вуа -вуал -вулка -вулканическ -вулканическ -вход -вход -вход -вход -вход -вход -вход -вход -вход -вход -вход -вход -вход -вход -вход -входя -входя -входя -входя -входя -вхож -вцеп -вцеп -вцеп -вчер -вчерашн -вчерашн -вчерашн -вчерашн -вчерашн -вчерашн -вчерашн -вчерашн -вчерашн -вчерашн -вчерашн -вчерн -вчетвер -вчуж -вше -вши -въел -въел -въеха -въеха -въеха -вы -выбега -выбега -выбежа -выбежа -выбежа -выбежа -выбеж -выбеж -выберет -выбер -выберут -выбива -выбив -выб -выбира -выбира -выбира -выбира -выбира -выбира -выбир -выб -выбор -выборгск -выборгск -выбор -выбор -выбра -выбра -выбра -выбра -выбра -выбра -выбра -выбрасыва -выбрасыва -выбра -выбра -выбр -выбр -выбрит -выбрит -выбрит -выброс -выброс -выбр -выбросьт -выброшен -выведа -выведа -выведен -выведет -выведеш -вывед -вывед -выведут -вывезен -вывезен -вывезт -вывел -вывел -вывел -вывел -вывернул -вывернул -вывернул -вывернут -вывернут -выверт -вывеск -вывеск -вывеск -вывест -выветрива -выветр -вывеш -вывод -вывод -вывод -вывод -вывод -вывод -вывод -вывод -вывод -вывож -выворот -выворот -выворот -выгада -выгада -выглад -выгляд -выглядыва -выглядыва -выглядыва -выглядыва -выглядыва -выглядыва -выглядыв -выглянет -выглянув -выглянул -выглянул -выгна -выгна -выгна -выгна -выгнут -выговарива -выговарива -выговарива -выговарива -выговарива -выговарива -выговарива -выговарив -выговор -выговор -выговор -выговор -выговор -выговор -выговор -выгод -выгод -выгод -выгодн -выгодн -выгодн -выгодн -выгодн -выгодн -выгод -выгод -выгон -выгон -выгоня -выгор -выгребл -выдава -выдава -выдава -выдава -выдава -выдав -выдав -выдавлива -выдад -выда -выда -выда -выда -выда -выда -выда -выда -выдаст -выдаст -выда -выда -выда -выда -выдвинул -выдела -выдела -выделк -выделыва -выделыв -выдергива -выдержа -выдержа -выдержа -выдержа -выдержа -выдержива -выдержива -выдержива -выдержива -выдержив -выдерж -выдерж -выдерж -выдерж -выдернул -выдернул -выдох -выдра -выдрессирова -выдума -выдума -выдума -выдума -выдума -выдума -выдума -выдума -выдума -выдума -выдума -выдумк -выдумк -выдумк -выдумок -выдумыва -выдумыва -выдумыва -выдумыва -выдумыва -выд -выдьт -выед -выед -выезд -выездн -выездн -выезжа -выезжа -выезжа -выезжа -выезжа -выезжа -выезжа -выеха -выеха -выеха -выеха -выжда -выжда -выжеч -выжж -выжиг -выжида -выжид -выж -выж -выжима -выжмет -вызва -вызва -вызва -вызва -вызва -вызва -вызва -вызва -выздоравлива -выздоравлива -выздоравлив -выздоровевш -выздоровееш -выздоровел -выздоровет -выздоровлен -выздоровлен -выздоровлен -выздоровл -выз -вызов -вызовет -вызыва -вызыва -вызыва -вызыва -вызыва -вызыва -вызыва -вызыва -вызыв -выигра -выигра -выигра -выигра -вы -выйд -выйдемт -выйдет -выйдеш -выйд -выйд -выйдут -выйд -выйт -выказа -выказа -выказыва -выказыва -выказыва -выказыва -выказыва -выкат -выкат -выкладк -выкладыва -выковыва -выколачива -выколот -выколоч -выкопа -выкопа -выкрас -выкрикива -выкрикива -выкрич -выкупа -выкуп -выкуп -выкуплен -выкуплен -выкупл -выкурен -выкурива -выкур -выл -выл -вылазк -вылака -вылез -вылеза -вылез -вылеплен -вылерианов -вылета -вылетел -вылетел -вылетел -вылет -вылеч -вылеч -вылеч -выл -вылит -выл -вылож -вылож -вылож -вылож -вылож -вылуп -выл -вымаза -выманива -выман -вымел -вымерл -вымета -вымет -вымолв -вымолв -вымоч -вымоют -вымпел -вым -вым -вым -вым -вым -вымысл -вымысл -вымыт -вымыт -вымыт -вымыт -вым -вым -вынес -вынес -вынесен -вынесет -вынес -вынесл -вынесл -вынест -вынес -вынет -вынима -вынима -вынима -выним -вынос -вынос -вынос -вынос -вынос -вынос -выносим -вынос -вынос -вынос -вынош -вынув -вынуд -вынужден -вынул -вынул -вынул -вынул -вынут -вынут -вынут -выпада -выпада -выпада -выпада -выпаден -выпадет -выпа -выпа -выпа -выпа -выпачка -выпачка -выпачка -выпачка -выпева -выпева -вып -вып -выпива -выпива -выпива -выпивательн -выпивк -вып -вып -вып -вып -выпилива -выписа -выписа -выписа -выписк -выписыва -выписыва -выписыва -вып -выпит -выпит -выпит -выпит -выпит -выпит -вып -выплака -выплака -выплака -выплакива -выплат -выплат -выплач -выплеснет -выпл -выполн -выправ -выпрашива -выпровод -выпрос -выпрос -выпрос -выпрос -выпрош -выпрыгнул -выпрыгнут -выпрям -выпрям -выпрямля -выпрямл -выпрямл -выпукл -выпукл -выпукл -выпукл -выпукл -выпуска -выпуска -выпуск -выпуск -выпуст -выпуст -выпуст -выпуст -выпуст -выпуст -выпуст -выпута -выпутыва -выпуч -выпуч -выпуч -выпущ -выпущен -выпущ -выпущ -выпыта -выпыта -выпытыва -выпытыва -выпытыв -вып -выпьет -выпьеш -вып -выпьют -выработа -выработа -выработа -выработан -выработа -выработа -выработа -выработыва -выработыва -выработыва -выража -выража -выража -выража -выража -выража -выража -выража -выража -выража -выража -выража -выража -выраж -выражен -выражен -выражен -выражен -выражен -выражен -выраж -выражен -выражен -выраженьиц -выраз -выраз -выраз -выраз -выраз -выраз -выраз -выразительн -выразительн -выразительн -выразительн -выраз -выраз -выраз -выраста -выраста -вырастет -выраст -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырва -вырвет -вырв -выреза -выреза -выреза -вырожден -вырожден -вырожден -вырон -вырон -вырос -выросл -выросл -выросл -выросш -выруб -выруга -выруга -выруча -выруч -выручен -выруч -выруч -выруч -выруч -выручк -вырыва -вырыва -вырыва -вырыва -вырыва -вырыва -вырыва -вырыв -высасыва -высасыва -высвобод -высвобод -высвобод -высвобожда -высел -выселк -выселк -высечет -высидел -выскаблива -выскажет -выскажет -выскаж -выскаж -высказа -высказа -высказа -высказа -высказа -высказа -высказа -высказыва -высказыва -высказыва -высказыва -высказыва -высказыва -высказыва -высказыва -высказыва -высказыв -выскольза -выскользнул -выскоч -выскоч -выскоч -выскоч -выскоч -выскочк -выскочк -выскребыва -высла -высла -выслеж -выслуж -выслуж -выслуша -выслуша -выслуша -выслуша -выслуша -выслуша -выслуша -выслушива -выслушива -высматрива -высматрива -высматрив -высморка -высморка -высмотрет -высовыва -высок -высок -высокеньк -высокеньк -высок -высок -высок -высок -высок -высок -высок -высокоблагород -высок -высок -высок -высок -высокомер -высокомер -высокомерн -высокомерн -высокомерн -высокомерн -высокомерн -высок -высокопарн -высокород -высокоуважа -высок -высот -высот -высот -высох -высохл -высохл -высохл -высохш -высохш -высочайш -высочайш -выспа -высп -выспл -выспрос -выстав -выстав -выстав -выстав -выстав -выстав -выставл -выставл -выставл -выставля -выставля -выставля -выстоя -выстрада -выстрада -выстрел -выстрел -выстрел -выстрел -выстрел -выстрел -выстрижен -выстро -выстро -выступа -выступа -выступа -выступ -выступ -выступ -выступ -выступ -выступ -выступ -выступлен -высунув -высунул -высунут -высуш -высуш -высчита -высш -высш -высш -высш -высш -высш -высш -высыла -высыпа -высыпа -высыпа -вы -вытаращ -вытаращ -вытаращ -вытаращ -вытаращ -вытаскива -вытаскива -вытаскива -вытаскив -вытащ -вытащ -вытащ -выта -вытащ -вытащ -вытащ -вытер -вытерл -вытерпел -вытерпел -вытерпел -вытерпет -вытерп -вытерплива -вытерпл -вытира -вытира -вытир -вытолка -выторгова -выточ -выточ -выточен -выточ -выт -вытягива -вытягив -вытягушкин -вытянет -вытянув -вытянул -вытянул -выуд -выучен -выуч -выучива -выуч -выуч -выуч -выуч -выуч -выучк -выуч -выхват -выхват -выхват -выхлопота -выхлопота -выхлопочет -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выход -выходк -выходк -выходк -выходк -выходн -выход -выход -выход -выход -выход -выходя -выходя -выходя -выхож -выцвел -выцветш -выцветш -вычеркнут -вычерт -вычет -вычет -вычин -вычисля -вычист -вычита -вычитан -вычита -вычита -вычитыв -вычищен -вычищен -вычищен -вычищ -вышвырнул -выш -вышедш -вышедш -вышедш -вышедш -вышел -вышесказа -вышеупомянут -вышиб -вышива -вышиван -вышив -вышин -вышит -вышл -вышл -вышл -вышл -вышл -выщипа -выяснен -выясн -выясн -выясня -вьет -вьюг -вьюг -вьюг -вьюг -вьюг -вьюг -вьюн -вьют -вьющ -вьющ -вяжет -вяжут -вяз -вязанк -вяза -вяза -вяземск -вязк -вязников -вязнут -вяз -вял -вял -вял -вял -вял -вял -вял -вял -вянут -вячеслав -г -га -гава -гаван -гаванск -гаврилович -гаврилович -гаврилович -гаврилыч -гаврилыч -гаврилыч -гаг -гада -гада -гада -гадан -гада -гада -гад -гаденьк -гадк -гадк -гадк -гадк -гадк -гадк -гад -гадок -гадостн -гадост -гад -га -гаев -гаев -гаев -гаж -газел -газет -газет -газет -газет -газет -газетк -газетн -газетн -газетн -газет -газет -газет -газ -газ -гайдамак -галате -галдеж -галдел -галер -галере -галер -галер -галере -галере -галиле -галицийск -галк -галл -галлер -галл -галлюсинац -галлюцинац -галстук -галстук -галстук -галстучек -галчат -гам -гамбринус -гамлет -гамлет -гамлетовск -гам -гам -ганц -гарантирова -гар -гармон -гармон -гармоник -гармоник -гармоник -гармоник -гармонирова -гармонирова -гармонирова -гармоническ -гармон -гарнитур -гарнитур -гарпагон -гарус -гар -гас -гас -гасл -гасл -гаснет -гасн -гаснул -гаснут -гаснут -гаснущ -гастрон -гастрономическ -гастрономическ -гат -гатчинск -гвалт -гвозд -гвозд -гвоздик -гвоздичк -гвоздочк -гвозд -гвозд -гг -где -ге -гедрюкт -ге -гелиотроп -гельд -геморр -генера -генера -генералишк -генералишк -генерал -генерал -генерал -генерал -генеральск -генеральск -гениальн -гениальн -гениальн -гениальн -гениальн -ген -ген -ген -генриет -гену -географическ -географ -географ -геологическ -геометр -геометр -георг -геран -геран -геран -герасимович -герасимович -герасимович -герасимыч -герасимыч -гербов -гербов -гербов -гердер -геркула -геркулесов -герман -герман -германск -геро -геро -героин -гер -геройск -геройств -гер -геро -герр -гертруд -герц -герц -гершел -гет -гиацинт -гибел -гибел -гибельн -гибельн -гибельн -гибел -гибк -гибл -гибнет -гибнеш -гибн -гибнут -гибнут -гибок -гигантск -гигант -гимн -гимн -гимназ -гимназист -гимназист -гимназическ -гимназ -гимнастик -гимнастик -гимнастик -гимн -гиппиус -гирлянд -гир -гитар -гитар -гитарн -гитар -гитар -глав -глав -глав -главн -главн -главн -главн -главн -главн -главн -главн -главн -главн -главн -главн -главн -главн -главн -главн -глав -глав -глав -глагол -глад -гладиатор -глад -глад -глад -глад -гладк -гладк -гладк -гладковыбрит -гладк -гладк -глад -гладьт -глажен -глаз -глаз -глаз -глаз -глаз -глазел -глазенк -глазеночк -глазеющ -глазе -глазищ -глазк -глазк -глазок -глаз -глаз -глас -глас -гласн -гласност -глас -глас -глашата -глин -глин -глин -глин -глинян -глинян -глинян -глисс -глобус -гложет -гложут -глота -глотк -глотк -глотк -глотнул -глоток -глохнут -глубж -глуб -глубин -глубин -глубин -глубин -глубин -глубок -глубок -глубок -глубок -глубок -глубок -глубок -глубок -глубок -глубок -глубок -глубок -глубок -глубокомыслен -глубокомыслен -глубок -глубочайш -глубочайш -глубочайш -глубочайш -глуб -глум -глуп -глуп -глуп -глуп -глуп -глуп -глуп -глуп -глуп -глупеньк -глупеньк -глуп -глуповат -глуповат -глуп -глуп -глуп -глуп -глуп -глупопоспешн -глупост -глупост -глупост -глупост -глупост -глупост -глупост -глуп -глуп -глупц -глуп -глуп -глуп -глуп -глуп -глуп -глух -глух -глухар -глух -глух -глух -глух -глух -глух -глух -глух -глух -глух -глух -глухонем -глухот -глух -глуш -глуш -глуш -глуш -глыб -глыб -глядевш -глядел -глядел -глядел -глядет -гляд -гляд -гляд -гляд -гляд -гляд -гляд -гляд -гляд -гляд -глядя -гляж -гляж -глянет -глянец -глянув -глянул -глянул -глянцевит -гм -гнал -гнал -гнат -гнев -гнев -гнева -гнева -гнева -гневн -гневн -гневност -гневн -гневн -гнев -гнев -гнед -гнезд -гнезд -гнезд -гнезд -гнет -гнет -гнетет -гнетет -гнет -гнеш -гниен -гниет -гниеш -гнил -гнил -гнил -гнил -гнил -гнил -гнил -гнил -гнусав -гнусн -гнусн -гнусн -гнусн -гнусност -гнусн -гнусн -гнусн -гнусн -гнусн -го -говет -говор -говорен -говор -говор -говор -говор -говор -говор -говор -говор -говор -говор -говор -говорил -говор -говор -говор -говор -говор -говор -говор -говор -говор -говор -говорящ -говоря -говоря -говоря -говоря -говоря -говоря -говядин -говядин -говядин -говядин -гоголевск -гогол -год -год -год -год -год -год -годик -годин -годин -год -годичн -год -годн -годн -год -годов -годовщин -годов -год -годочек -год -год -год -гол -голгоф -гол -голик -голландск -голландск -голландц -гол -гол -голов -голов -голов -голов -головк -головк -головк -головл -головн -головн -головн -головн -головн -головн -головн -голов -головокружен -голов -голов -головушк -голов -голод -голод -голод -голодн -голодн -голодн -голодн -голодн -голодн -голодн -голодн -голодн -голод -гол -голос -голос -голос -голос -голос -голос -голосист -голоск -голос -голосок -голос -голос -голос -голуб -голубин -голубин -голубк -голубоват -голубоват -голуб -голуб -голуб -голубоок -голуб -голубушк -голуб -голубчик -голуб -голуб -голуб -голуб -голуб -голубятн -голубятн -гол -гол -гол -гол -гол -гол -гол -гол -гольштейн -гом -гомер -гомерид -гомоз -гомоз -гонг -гондол -гондол -гонен -гонен -гон -гон -гоним -гоним -гоним -гоним -гон -гон -гонорар -гончар -гоня -гоня -гоня -гоня -гон -гоня -гоп -гор -гор -горазд -горазд -гор -гор -гор -горбат -горб -горд -горд -горд -горделив -горд -горд -горд -горд -горд -горд -горд -горд -горд -горд -гордост -гордост -гордост -гордост -горд -горд -горд -горд -горд -гордын -горд -горд -горд -гордячк -гор -горева -горева -горевш -горевш -горел -горел -горел -горелк -горел -гор -горемык -горен -горен -горенк -горен -горестн -горестн -горестн -горест -горест -горет -гореч -гореч -гореч -горж -гор -горизонт -горизонт -горизонтальн -горизонт -горизонт -горизонт -горист -гор -горк -горл -горлан -горлан -горл -горл -горлов -горл -горл -горлышк -горн -горнист -горнист -горниц -горниц -горничн -горничн -горничн -горн -горн -горн -горн -город -город -город -город -город -город -городишк -городишк -городишк -городк -городнич -городнич -городов -городов -городов -городов -городок -город -городск -городск -городск -городск -городск -городск -город -город -гор -гороскоп -горох -горох -горохов -горохов -горохов -горох -горох -горошек -горошин -горошк -горсточк -горст -гортан -горта -гор -горчиц -горш -горшк -горшк -горшк -горшочк -гор -горьк -горьк -горьк -горьк -горьк -горьк -горьк -горьк -горьк -горьк -гор -горю -горюнов -горюнов -горюнов -горюч -горюч -горюч -гор -гор -горяч -горяч -горяч -горяч -горяч -горяч -горячешн -горяч -горяч -горяч -горяч -горяч -горяч -горяч -горяч -горяч -горяч -горяч -горяч -горяч -горячк -горячк -горячк -горячк -горячн -горяч -горяч -горяч -горя -горя -горя -горя -горя -госпитал -госпитальн -госпитальн -господ -господ -господ -господ -господ -господин -господин -господин -господин -господин -господн -господн -господн -господ -господск -господск -господск -господск -господствова -господствова -господств -господств -господств -господ -господ -госпож -госпож -госпож -госпож -госпожинок -госпож -госпож -гост -гост -гостеприимн -гостеприимн -гост -гост -гост -гостин -гостинец -гостиниц -гостиниц -гостиниц -гостиниц -гостин -гостин -гостин -гостинц -гостинц -гостин -гостин -гост -гост -гост -гост -гост -гост -гост -гост -гост -государствен -государствен -государствен -государствен -государствен -государын -государ -государ -гот -гот -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готовл -готовн -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готов -готовя -гофкригсрат -гр -грабеж -грабеж -грабеж -грабеж -грабеж -грабеж -граб -граб -грабител -граб -гравюр -гравюр -град -граденапл -градир -градус -градусник -градус -градус -град -гражданин -гражданин -гражданск -гражданск -гражданск -гражданск -гражданск -гражданск -грамматик -грамматик -грамот -грамот -грамотн -грамотн -грамотн -грамот -гранат -грандиозн -грандиозн -грандиозн -гран -гран -гранитн -границ -границ -границ -границ -границ -границ -гранпасьянс -граф -графин -графин -графин -графин -графинин -графин -графинчик -граф -графск -графск -графск -графск -граф -граф -грац -грациозн -грациозн -грациозн -грациозн -грациозн -грац -гребенк -гребенк -гребен -греет -грез -грез -грез -грез -грез -грез -грез -грез -грез -грез -грез -грез -грез -гремел -гремел -гремел -грем -гренадер -гренадер -грет -грех -грех -грех -грех -грех -грех -греховн -греховн -грех -гречнев -гречонк -греш -греш -греш -греш -грешник -грешниц -грешниц -грешн -грешн -грешн -грешн -грешн -гриб -гриб -грив -грив -гривенник -гривенник -гривенник -гривн -гривн -гривн -гривн -григор -григорьевич -григорьевич -григорьевич -гримас -гримас -гриф -гриш -гриш -гроб -гроб -гроб -гроб -гроб -гробниц -гробниц -гроб -гробов -гробов -гробов -гробов -гроб -гроб -гроз -гроз -гроз -гроз -гроз -гроз -гроз -гроз -гроз -гроз -гроз -грозн -грозн -грозн -грозн -грозн -грозн -грозн -грозн -грозн -грозн -грозн -грозн -грозов -грозов -грозов -грозов -гроз -гроз -гроз -гроз -гроз -грозя -гром -гром -громад -громад -громадн -громадн -громадн -громадн -громадн -громадн -громадн -громадн -громадн -громадн -гром -гром -гром -громк -громк -громк -громк -громк -громк -громк -громов -громов -громов -громов -громозд -громоздк -громоздк -гром -громч -громыхан -гром -грот -грохнул -грохнул -грохольск -грохот -грохот -грош -грош -грош -грошик -грошов -грошов -гру -груб -груб -груб -груб -грубееш -груб -груб -грубия -грубиян -груб -грубоват -грубоват -груб -груб -груб -груб -грубост -грубост -грубост -грубост -груб -груб -груб -груб -груб -груб -груд -груд -груд -груд -грудн -грудн -грудн -грудн -груд -груд -груд -груд -груд -груз -груз -грузд -грунт -групп -групп -групп -груст -груст -груст -груст -груст -грустн -грустн -грустн -грустн -грустн -грустн -грустн -грустн -грустн -грустн -грустн -грустн -грустн -груст -груст -груст -груст -груш -грушев -груш -грущ -грызет -грызл -грызл -гряд -гряд -грядущ -грядущ -грядущ -грядущ -грядущ -грядущ -грядущ -грядущ -гряд -гряз -грязн -грязн -грязн -грязн -грязн -грязн -грязнотц -грязн -грязн -грязн -грязн -грязн -грязн -грязн -грязн -гряз -гряз -грянет -грянул -грянул -грянул -грянул -губ -губ -губ -губ -губ -губернатор -губернатор -губернатор -губернатор -губернаторств -губернатор -губерн -губерн -губерн -губерн -губерн -губернск -губернск -губернск -губернск -губернск -губ -губ -губ -губительн -губительн -губительн -губ -губ -губк -губк -губк -губ -губок -губ -губ -губ -гувернантк -гувернантк -гувернантк -гувернантк -гудел -гудел -гудк -гудут -гуд -гул -гул -гулк -гул -гульб -гуля -гуляк -гуля -гуля -гуля -гулян -гулян -гуля -гуля -гуля -гуля -гул -гумаг -гумаг -гуманистическ -гуманитет -гума -гума -гума -гума -гуман -гума -гума -гуммиластик -гуня -гурьб -гусак -гусак -гусар -гусар -гусарск -гусарск -гус -гус -гусин -густ -густ -густ -густ -густот -густ -густ -густ -густ -гусын -гу -гущ -гюг -д -да -дав -дава -дава -дава -дава -дава -дава -дава -дава -дав -дав -давеч -давешн -давешн -давешн -давешн -давешн -давешн -давешн -давешн -дав -дав -дав -дав -дав -дав -давк -давк -давлен -давн -давненьк -давнишн -давнишн -давнишн -давнишн -давнишн -давнишн -давн -давн -давн -дав -давя -дагеста -дад -дад -дадут -дает -дает -дает -даж -да -дайт -дал -дал -дал -дал -дал -далек -далек -далек -далек -далек -далек -далек -далек -далек -далек -далек -далек -далеч -дал -дал -дал -дал -дал -дал -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальн -дальш -дал -дам -дам -дам -дам -дам -дам -дам -дам -дамск -дамск -дам -дам -дам -дан -дан -дан -дан -дан -дан -дан -дант -дант -дантов -дан -дар -дар -дарвин -дарен -дар -дар -дармоедк -дармоед -дар -дарован -дарован -даровщинк -дар -дар -дар -дар -дар -дар -даст -дат -дач -дач -дач -дач -дач -дач -дач -дачник -дачник -дачник -дачн -дачн -дач -дашеньк -дашеньк -дашеньк -даш -да -дают -два -двадцат -двадцатилетн -двадцатирублев -двадцатисемилетн -двадцат -двадца -двадцат -дважд -две -двенадцат -двенадцат -двенадцат -двенадцат -двенадцат -двенадца -двенадцат -двер -двер -дверец -двер -дверн -двер -дверьм -двер -двер -двер -двер -двест -двига -двига -двига -двига -двига -двига -двига -двига -двига -двигател -двигател -двига -двига -двига -двиг -двиг -движен -движен -движен -движен -движен -движен -движен -движен -движен -движен -движен -движет -движет -движеш -движим -движим -движ -движут -движущ -движущ -движущ -движущ -двинет -двинул -двинул -двинул -двинул -двинут -двинут -двинут -дво -двоевер -дво -дво -дво -двойк -двойник -двойн -двойн -двойн -двойн -двор -двор -двор -двор -двор -дворец -дворик -дворн -дворн -дворн -дворник -дворник -дворник -дворник -дворник -дворников -дворник -дворник -дворницк -дворницк -дворн -дворн -дворняжк -дворняжк -двор -дворов -двор -двор -дворц -дворц -дворцов -дворцов -дворц -дворя -дворян -дворянин -дворянин -дворянк -дворянк -дворянск -дворянск -дворянск -дворянск -дворянск -дворянск -дворянск -двугривен -двугривен -двугривен -двугривен -двукратн -двуличн -двум -двум -двусмыслен -двусмыслен -двусмыслен -двусмыслен -двух -двухкопеечник -двухмачтов -двухминутн -двухнедельн -двухчасов -двухэтажн -де -дебаркадер -дебатирова -дебош -дебютирова -дев -дев -дева -дева -дев -дева -дева -девер -девиз -девиц -девиц -девиц -девиц -девиц -девиц -девиц -девиц -девическ -девическ -девическ -девическ -девическ -девич -девич -девич -девич -девич -девк -девк -девк -девк -девк -дев -девок -девочек -девочк -девочк -девочк -девочк -девочк -девочк -девочк -девствен -девствен -девствен -девствен -девушек -девушк -девушк -девушк -девушк -девушк -девчонк -девчонк -девчонк -девчоночк -девчурочк -дев -девян -девят -девятнадцат -девятнадца -девят -девят -девят -девят -девя -девятьсот -дегот -дегт -дед -дед -дед -дед -дед -дед -дедушк -дедушк -дедушк -дед -дезертирова -действен -действ -действ -действ -действительн -действительн -действительн -действительн -действительн -действительн -действительн -действительн -действительн -действительн -действительн -действ -действ -действйтельн -действова -действова -действова -действ -действ -действ -действу -декабр -декабр -декабрьск -декабр -декадент -декадент -декадентск -декадентск -дека -декламир -декламирует -декламиру -деклариру -декорац -декорац -декорац -дел -дел -дела -дела -дела -дела -дела -дела -дела -дела -дела -дела -дела -дела -дела -делал -дел -дел -дел -дела -дел -дела -дела -дела -дела -дел -дел -дел -делен -делец -деликат -деликатн -деликатн -деликатн -деликатн -деликатн -деликатн -деликатн -дел -дел -дел -дел -делишк -делишк -дел -делов -деловит -деловит -делов -делов -делов -делов -делов -делов -дел -дел -дел -делыва -дельн -дельн -дельн -дельц -дельц -дельц -дементьев -демисезон -демк -демон -демон -демонизм -демон -демонолог -демон -демонск -демонстрац -денег -денежн -денежн -денежн -денежн -денек -ден -ден -денниц -ден -ден -денщик -денщик -денщик -ден -деньг -деньг -деньг -деньг -деньжонк -деньк -деньск -деньск -департамент -департамент -департамент -департамент -депутат -депутат -депутат -депутат -дер -дерга -дерга -дерга -дерга -дерга -дерг -дер -дерев -дерев -деревенел -деревенск -деревенск -деревенск -деревенск -деревенск -деревенск -деревенск -деревенск -деревен -деревеньк -деревн -деревн -деревн -деревн -деревн -деревн -дерев -дерев -дерев -деревушк -деревц -дерев -дерев -дерев -дерев -дерев -деревя -деревя -деревя -деревя -деревя -деревя -деревя -деревя -деревя -деревя -дер -дерет -держ -державн -держа -держа -держа -держа -держа -держ -держат -держа -держа -держ -держ -держ -держ -держ -держ -держ -держ -дерзк -дерзк -дерзк -дерзк -дерзк -дерзк -дерзк -дерзк -дерзок -дерзост -дерзост -дерзостн -дерзостн -дерзост -дерзост -дер -дериган -дернет -дернул -дернул -дернул -дернул -дернут -дерут -десерт -деска -десниц -деспот -деспотизм -деспотическ -деспотическ -десят -десятилетн -десятилетн -десятин -десятин -десятин -десятирублев -десятирублев -десятк -десятк -десятк -десят -десят -десят -десят -десят -деся -дета -дет -дет -детк -детк -деток -деточек -деточк -деточк -детск -детск -детск -детск -детск -детск -детск -детск -детск -детск -детск -детск -детск -детск -детств -детств -детств -дет -детьм -дет -дет -дет -дешевл -дешев -дешев -дешев -деятел -деятел -деятельн -деятельн -деятельн -деятельн -деятельн -деятельн -деятельн -деятельн -джентльм -джентльм -джентльменничан -джентльменск -джентльм -ди -диалектик -диапазон -дива -дива -диван -диван -диван -диван -диван -диванчик -дива -дивизион -див -див -див -див -див -дивл -дивн -дивн -дивн -дивн -дивн -дивн -дивн -див -див -див -дикар -дик -дик -дик -дик -дик -диковин -дик -дик -дик -дик -дикост -дикост -дик -диктова -диктова -диктовк -дикт -дик -дилетантизм -дилижанс -динам -диорам -дипл -дипломат -дипломатическ -дипломат -директор -директор -директрис -дирижер -диск -диссертац -диссонанс -дит -дит -дифтер -дич -дич -дич -дич -диэт -длан -длил -длил -длил -длил -длин -длин -длин -длин -длинноволос -длин -длин -длин -длин -длин -длин -длин -длин -длин -длин -длин -длин -длин -длин -длит -для -длят -дмитр -дмитр -дмитр -дмитр -дна -дне -дневн -дневник -дневник -дневн -дневн -дневн -дневн -дневн -дневн -дне -днем -дни -днищ -дно -дном -дню -дня -дням -дням -днях -до -добав -добав -добежа -добер -добива -добива -добива -добива -добива -добива -доб -доб -добира -добира -добира -добир -доб -доблест -доблестн -доблест -добр -добр -добра -добра -добр -добр -добр -добр -добр -добрел -добреньк -добреющ -добр -добровольн -добровольн -добр -добродетел -добродетел -добродетельн -добродетельн -добродетельн -добродетельн -добродетельн -добродетел -добродетел -добродуш -добродушн -добродушн -добродушн -добродушн -добродушн -добр -добр -добролюб -добр -добр -добросовестн -добросовестн -доброт -доброт -доброт -доброт -добр -добр -добр -добр -добр -добр -добр -добр -добрын -добрынин -добр -добряк -добудет -добыва -добыва -добыва -добыва -добыван -добыван -добыва -добыва -добыва -добыва -добыв -доб -добыт -доб -добыч -добьет -доб -добьют -доварива -довар -доведен -доведен -довед -доведет -довед -довед -довез -довез -довез -довел -довел -довел -доверен -доверен -доверен -довер -довер -доверител -довер -довер -доверч -доверчив -доверчив -доверчив -доверчив -доверчив -доверчив -доверчив -доверчив -довершен -доверш -доверш -доверьт -доверя -доверя -доверя -доверя -довер -доверя -довер -довест -довод -довод -довод -довод -довод -довод -довол -довольн -довольн -довольн -довольн -довольн -довольн -довольств -довольств -довольствова -довольств -довоспита -довра -довр -догада -догада -догада -догада -догада -догада -догадк -догадк -догадк -догадк -догадок -догадыва -догадыва -догадыва -догадыв -догляд -догмат -догна -догна -догна -договарива -договарива -договарива -договарива -договарив -договор -договор -договор -договор -договор -договор -догон -догоня -догоня -догоня -догора -догора -догора -догора -догора -догоревш -догорел -догор -додела -додума -додума -додумыва -доеда -доеда -доедеш -доед -доел -доел -доеха -доеха -дож -дожда -дожда -дожда -дожда -дождев -дождев -дождев -дожд -дожд -дожд -дождет -дождеш -дожд -дождик -дождичек -дождлив -дождлив -дожд -дожд -дожд -дожд -дож -дож -дожива -дожива -дожива -дожива -дожив -дожида -дожида -дожида -дожида -дожида -дожид -дож -дож -дож -дозва -дозволен -дозвол -дозвольт -дозвол -дозволя -дозвон -доиска -доискива -доискива -до -доищ -дойд -дойдет -дойдеш -дойд -дойдут -дойд -доймут -дойт -док -докажет -докажет -докаж -доказа -доказа -доказа -доказа -доказа -доказа -доказательств -доказательств -доказательств -доказательств -доказа -доказыва -доказыва -доказыва -доказыва -доказыва -доказыва -доказыва -док -доканчива -доканчива -доклад -доклад -доклад -докладн -доклад -доклад -докладыва -докладыва -докладыва -доклика -докол -докона -докона -доконч -доконч -доконч -доктор -доктор -доктор -докторск -доктор -доктрин -документ -документ -документ -документ -докучлив -докучлив -докучн -докучн -дол -долг -долг -долг -долг -долг -долг -долг -долг -долг -долг -долг -долгов -долгов -долговремен -долговремен -долговяз -долг -долгогрив -долг -долгожда -долг -долголетн -долг -долг -дол -дол -долета -долета -долетел -долж -должн -должник -должн -должност -должност -должност -должн -должн -должок -дол -долин -долин -долин -долин -долин -долин -долог -долож -долож -долож -долож -дол -дол -дол -дольн -дольш -дол -дол -дом -дом -дом -дом -дом -домашн -домашн -домашн -домашн -домашн -домашн -домашн -домашн -домашн -домашн -домашн -домашн -дом -домел -домик -домик -домик -дом -домовит -домов -домов -домов -домов -дом -дом -домосед -домосед -домохозяйк -дом -домча -домча -домч -дом -дон -донельз -донес -донес -донесен -донесен -донесет -донес -донесл -донесл -донест -донес -донжуа -дониз -дон -доннерветтер -дон -донос -донос -донос -донос -донос -донос -донос -донос -донос -донос -донош -донск -донц -донын -допечет -допив -доп -дописа -дописыва -дописыва -допит -допл -доподлин -дополнен -дополня -дополня -допотопн -допрашива -допрашива -допрашива -допрашива -допрашива -допрашива -допрашива -допрашива -допрос -допрос -допрос -допросик -допрос -допрос -допрос -допрос -допрос -допросчик -допрос -допрош -допуска -допуска -допуска -допуска -допуска -допуска -допуска -допуска -допуска -допуст -допуст -допуст -допуст -допуст -допуст -допущ -допытыва -допья -допят -дорисовыва -дорн -дорн -дорн -дорн -дорог -дорог -дорог -дорог -дорог -дорог -дорог -дорог -дорог -дорог -дорог -дор -дороговизн -дорог -дорог -дорог -дорог -дорог -дорог -дородн -дорож -дорожат -дорож -дорож -дорож -дорож -дорож -дорожк -дорожк -дорожк -дорожк -дорожк -дорожн -дорожн -дорожн -дорожн -дорожн -дорожн -дорожн -дорож -досад -досад -досадлив -досадлив -досадн -досадн -досадова -досад -досад -досад -досаду -досад -досажда -досажда -досел -доселев -доск -досказа -досказа -досказа -досказа -доск -доскачет -доск -доск -доскональн -доск -доск -дослед -дослуша -дослуша -дослуша -дослушива -дослушива -досмеива -досок -доспех -достава -достава -достава -достава -достава -достава -достава -достава -достав -достав -достав -достав -доставля -доставля -доставля -доста -доста -доста -доста -доста -доста -доста -доста -доста -доста -доста -доста -достанет -достанет -достанеш -достан -достанут -достанут -достан -достатк -достаточн -достаточн -достаточн -достаточн -доста -доста -доста -доста -достиг -достига -достига -достига -достига -достига -достигл -достигл -достигнет -достигнеш -достигн -достигнув -достигнут -достигнут -достижен -достич -достодолжн -достоевск -достоин -достоинств -достоинств -достоинств -достоинств -достоинств -достоинств -достоинств -достойн -достойн -достойн -достойн -достойн -достойн -достойн -достойн -достойн -достоян -достро -достро -достроч -доступ -доступн -доступн -доступн -доступн -доступн -достуча -досуг -досчита -дотащ -дотащ -дотл -дотол -дотолка -дотрогив -дотронет -дотронул -дотягива -дотянет -дотянеш -дотянул -дотянут -доуч -дохленьк -дохнет -дохнул -дохнул -дохнут -дохнут -доход -доход -доход -доход -доход -доход -доход -доход -доход -доходц -доход -доход -доход -доцент -дочел -дочер -дочер -дочер -дочер -дочест -дочист -дочита -дочита -дочита -дочитыва -дочитыва -дочитыва -дочк -дочк -дочк -дочк -дочл -дочл -доч -дошедш -дошедш -дошел -дош -дошл -дошл -дошл -дощечк -дощечк -дощечк -дощечк -драгоцен -драгоцен -драгоцен -драгоцен -драгоцен -драгоцен -драгоцен -драгоцен -драгоцен -драгунск -драдедамов -драдедамов -драдедамов -дразн -дразн -дразн -дразн -дразн -дразн -дразн -дразн -дразн -дразн -драк -драк -драк -дракон -драк -драл -драл -драл -драл -драм -драм -дран -дран -драпирова -драпировк -драпир -драпир -драпр -драт -драт -дребеден -дребезжа -дребезжа -древ -древ -древесн -древк -древн -древн -древн -древн -древн -древн -древн -древн -древност -дрема -дрема -дремлет -дремлет -дремлеш -дремл -дремлют -дремлющ -дремлющ -дремлющ -дремлющ -дремн -дремот -дремот -дремотн -дремот -дремот -дремот -дрем -дремуч -дремуч -дроб -дроб -дроб -дробн -дров -дров -дров -дрогнет -дрогнувш -дрогнувш -дрогнул -дрогнул -дрогнул -дрогнул -дрож -дрожа -дрожа -дрожа -дрожа -дрожа -дрожа -дрожа -дрожа -дрожа -дрожа -дрожан -дрожат -дрожа -дрожа -дрожа -дрожа -дрожа -дрожа -дрожа -дрожек -дрож -дрож -дрож -дрож -дрожк -дрож -дрож -дрож -друг -друг -друг -друг -друг -друг -друг -друг -друг -друг -друг -друг -друг -друг -друг -друг -дружб -дружб -дружб -дружб -дружб -дружб -дружелюбн -дружелюбн -дружеск -дружеск -дружеск -дружеск -дружеск -дружеск -дружеск -дружеск -дружеск -дружеств -дружествен -дружествен -друж -друж -друж -дружищ -дружк -дружк -дружн -дружн -дружн -дружн -дружн -дружочек -друз -друз -друз -друз -дрыхнет -дрыхнеш -дрыхн -дрыхнут -дрыхнут -дрябл -дрябл -дрябл -дрябл -дрязг -дрян -дрян -дрян -дрян -дрян -дрян -дрян -дрян -дрян -дрян -дрян -дрянц -дрян -дрян -дряхл -дряхл -дряхл -ду -дуб -дуб -дубняк -дубняк -дубов -дуб -дуб -дуг -дуг -дуг -дугообразн -дует -дует -дуз -дуклид -дум -дум -дума -дума -дума -дума -дума -дума -дума -дума -дума -дума -дум -дума -дум -дума -дума -дума -дум -дум -дум -дун -дун -дунечк -дунечк -дунечк -дунечкин -дунечкинов -дунечкин -дунечкин -дунечкин -дунечк -дунечк -дун -дунул -дунул -дун -дун -дуняш -дуняш -дуняш -дуняш -дуняш -дупел -дуплет -дуплет -дур -дур -дурак -дурак -дурак -дурак -дурак -дурак -дурак -дурацк -дурацк -дурацк -дурач -дурач -дурач -дурачк -дурачк -дурачок -дур -дур -дурма -дурма -дурман -дурн -дурн -дурн -дурн -дурн -дурн -дурн -дурнушк -дурн -дурн -дурочк -дуррак -дур -дурынд -дур -ду -дут -дух -дух -дух -дух -дух -дух -дух -духовник -духовн -духовн -духовн -дух -духот -духот -духот -духот -дух -дучяш -душ -душ -душ -душат -душ -душевн -душевн -душевн -душевн -душевн -душевн -душевн -душевн -душевн -душегубец -душегубств -душегубц -душ -душеньк -душеньк -душечк -душ -душ -душист -душист -душист -душист -душ -душ -душ -душкин -душкин -душкин -душн -душн -душн -душн -душн -душн -душ -душонк -душ -душ -дуэл -дуэл -дуют -дщер -дым -дым -дым -дым -дым -дым -дымк -дымн -дымн -дымн -дымн -дымн -дым -дым -дым -дымя -дыр -дыр -дыр -дыр -дырк -дырочк -дыр -дыр -дыряв -дыряв -дыряв -дыряв -дыхан -дыхан -дыхан -дыш -дыша -дыша -дыша -дыша -дышат -дыша -дыш -дыш -дыш -дыш -дышл -дыш -дьявол -дьявол -дьявол -дьявол -дьявол -дьявольск -дьявольск -дьякон -дьячк -дьячок -дюж -дюжин -дюжин -дюжин -дюжин -дюссот -дяд -дяд -дядек -дядечк -дяд -дядин -дядьк -дядьшк -дядьшк -дяд -дяд -е -евангел -евангел -евангел -евг -евген -евген -евнух -евр -еврейск -еврейск -евре -европ -европейск -европ -европ -евстигн -евстигне -евш -египет -египетск -египетск -египетск -египетск -египт -египт -ег -егоровн -егор -ед -едв -ед -ед -едемт -едет -едет -едеш -единичн -единичн -единоверц -единовремен -единогласн -единогласн -един -един -един -единородн -единородн -единств -единствен -единствен -единствен -единствен -единствен -единствен -единствен -единствен -единствен -единствен -един -един -ед -едк -едк -едк -едк -ед -едут -едуч -едущ -ед -е -ежегодн -ежедневн -ежедневн -ежедневн -ежедневн -ежедневн -ежедневн -ежедневн -ежедневн -ежедневн -ежел -ежемесячн -ежеминутн -ежеминутн -ежеминутн -еженедельн -еженочн -ежечасн -езд -езд -езд -езд -езд -езд -езд -езд -ездиют -езд -езд -езд -езжа -езжа -езж -е -екатерингоф -екатерингоф -екатеринин -екатерининск -ектен -ел -ел -елагин -ел -ел -ел -елен -елен -ел -елец -ел -елисаветград -елисейск -елк -елк -елов -елов -ел -ельц -ем -емел -ем -енотов -епиход -епиходов -епиходов -епоход -еран -еран -еран -ермак -ермак -ермола -ермолк -ермолк -ерош -ерунд -ерусла -ерш -ерш -ершик -есл -есм -ест -естествен -естествен -естествен -естествен -естествен -естествен -естествен -естественнонаучн -естествен -естествен -естествен -естествен -естествен -естествен -естествен -ест -е -ет -еф -ефимьюшк -ефтов -ефт -ефт -еха -еха -еха -еха -еха -еха -еш -ешьт -ещ -е -ж -жаб -жаворонк -жаворонк -жадн -жадн -жадност -жадност -жадност -жадн -жадн -жадн -жадн -жадн -жажд -жажда -жажда -жаждет -жажд -жажд -жаждущ -жаждущ -жаждущ -жаждущ -жажд -жакетк -жал -жал -жал -жал -жалел -жалел -жалет -жал -жалеют -жале -жал -жал -жал -жалк -жалк -жалк -жалк -жалк -жалк -жалк -жалк -жалк -жалк -жалк -жалк -жал -жалоб -жалоб -жалобн -жалобн -жалобн -жалобн -жалоб -жалова -жалова -жалова -жалован -жалован -жалован -жалова -жалок -жалост -жалост -жалост -жал -жалу -жалует -жал -жал -жал -жал -жан -жандарм -жандарм -жанлис -жар -жар -жаргон -жар -жарен -жарен -жар -жар -жарищ -жарк -жарк -жарк -жарк -жарк -жарк -жарк -жарк -жарк -жарк -жарок -жар -жар -жарч -жги -жгла -жгли -жгло -жгут -жгуч -жгуч -жгуч -жгуч -жгуч -жгуч -жгуч -жгуч -жгуч -ждал -ждал -ждал -ждал -ждат -ждем -ждет -ждет -ждеш -жди -ждит -жду -ждут -ждущ -ждущ -жды -же -жева -жеван -жева -жег -жезл -жела -жела -жела -жела -жела -жела -жела -жела -жела -жела -желал -желан -желан -желан -желан -желан -желан -желан -жела -жела -жела -желан -желан -желательн -жела -жела -жела -жел -желез -железн -железн -железнодорожн -железн -железн -железн -железн -железн -железн -железн -железн -желез -желез -желоб -желоб -желт -желтеньк -желтеньк -желтеют -желтизн -желтизн -желтоват -желтоват -желтоват -желтоват -желт -желт -желт -желт -желт -желт -желт -желт -желт -желт -желт -желудк -желудок -желудочк -желч -желч -желчн -желчн -желчн -желчн -желч -жеманств -жемчуг -жемчуг -жемчуг -жемчуг -жемчуг -жемчуг -жемчужин -жемчужин -жемчужн -жемчужн -жен -жен -жен -жен -женат -женат -жен -жен -жен -жен -жен -жен -жен -женитьб -женитьб -женитьб -женитьб -жен -жен -жених -жених -жених -жених -жениховск -жених -жених -женишк -женишок -жен -жен -жен -женск -женск -женск -женск -женск -женск -женск -женск -женск -женск -женск -женствен -жен -женщин -женщин -женщин -женщин -женщин -женщин -женщин -женщин -женщин -женщин -жен -жен -жен -жен -жерд -жерд -жернов -жертв -жертв -жертв -жертв -жертвова -жертв -жертвочк -жертв -жертв -жертв -жертв -жест -жест -жест -жест -жест -жестк -жестк -жестк -жестк -жестк -жестк -жестк -жесткост -жесткост -жестк -жесток -жесток -жесток -жесток -жесток -жесток -жесток -жесток -жесток -жесток -жест -жест -жест -жестян -жестян -жетон -жеч -жженк -жжет -жив -жив -жив -жив -жив -жив -живет -живет -живет -живеш -жив -жив -жив -живност -жив -жив -жив -жив -жив -живописец -живопис -живописн -живописн -живописн -живописц -живоп -живопис -живост -живост -живост -животн -животн -животн -животн -животн -животн -животрепещущ -животрепещущ -жив -живут -живуч -живуч -живущ -живущ -живущ -живущ -живущ -живущ -жив -живш -живш -жив -жив -жив -жив -жив -жив -жив -жид -жиденьк -жиденьк -жиденьк -жидк -жид -жид -жизн -жизнен -жизнен -жизнен -жизнен -жизнен -жизнен -жизнен -жизнен -жизн -жизн -жизн -жизн -жил -жил -жил -жил -жилет -жилет -жилет -жилетк -жилетк -жилетк -жилетн -жилет -жилец -жил -жилиц -жилиц -жилищ -жилищ -жилк -жилк -жил -жил -жил -жильц -жильц -жильц -жильц -жильц -жильц -жильц -жил -жир -жирн -жирн -жирн -жирн -жирн -жирн -жирн -жирн -жирок -жир -жир -житейск -житейск -житейск -житейск -житейск -жител -жител -жительств -жительств -жит -жит -жит -жмет -жмет -жмеш -жмут -жнив -жнитв -жнут -жорж -жорж -жреб -жреб -жрец -жреш -жуа -жуан -жувеневск -жужжа -жужжан -жужжат -жужжа -жужж -жужж -жук -жук -жуковск -журавл -журавлин -журавл -жур -журна -журна -журнал -журналист -журнал -журнал -журнальн -журнальц -журчан -журчан -журч -жутк -жуткост -жучк -жующ -з -за -заалел -заалел -заарестова -забав -забавля -забавля -забавля -забавник -забавник -забавн -забав -забалканск -забастовк -забвен -забвен -забвен -забвен -забега -забега -забега -забега -забега -забега -забега -забег -забег -забедневш -забежа -забежа -забеж -забелеет -забелел -заберет -забер -заберут -заб -заб -забира -забира -забира -забира -забир -заб -забит -забит -забит -заб -забияк -заблаговремен -заблагорассуд -заблагорассуд -заблагорассуд -заблест -заблиста -заблиста -заблуд -заблуд -заблужден -заблужден -заболева -заболева -заболеет -заболел -заболел -забол -заболта -заболта -забор -забор -забор -забор -забор -забор -забор -забот -забот -забот -забот -забот -забот -забот -забот -забот -забот -забот -забот -забот -забот -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -заботлив -забот -забот -забот -забот -забот -забоч -забра -забра -забра -забра -забрасыва -забра -забрежж -забрезж -забрезж -забрел -заброд -заброс -заброс -заброшен -заброшен -забубен -забуд -забуд -забудет -забудет -забудеш -забуд -забудут -забуд -забудьт -забулдыг -забуян -заб -забыва -забыва -забыва -забыва -забыва -забыва -забыва -забыва -забыва -забыва -забыва -забыва -забыва -забыв -забывч -забывчив -заб -заб -заб -заб -заб -заб -заб -заб -заб -заб -заб -заб -забыт -забыт -забыт -забыт -забыт -забыт -забыт -забыт -забыт -забыт -забыт -заб -забыт -забыт -заб -забыт -забьет -забьют -завадск -завал -завал -завал -завал -завал -завалинк -завал -заваля -заваля -заварива -завед -заведен -заведен -заведен -заведен -заведен -заведен -заведет -заведет -завед -завед -заведова -заведова -завед -заведут -завед -завезт -завез -завел -завел -завел -завел -завернул -завернул -завернут -завернут -завернут -завернут -завернут -завертел -завертел -завертыва -завертыв -заверш -завершител -завес -завес -завест -завес -завет -завет -заветн -заветн -заветн -заветн -заветн -завет -завет -завет -завеща -завеща -завещан -завещан -завещан -завещан -завеща -завеща -завива -завива -завидел -завид -завидн -завидова -завидуеш -завид -завид -завизжа -завира -зависел -завис -завист -завистл -завистлив -завистлив -завистлив -завист -завист -завися -завися -завит -завит -завит -завлад -завлек -завлека -завлека -завлекл -завлеч -завод -завод -завод -завод -завод -завод -завод -завод -завод -заводск -завод -завоет -завож -завоз -заволакива -заволнова -заволокл -заволокл -завоп -завоп -завоп -заворожен -заворот -заворча -завра -завсегд -завтр -завтрак -завтрак -завтрака -завтрака -завтрака -завтрака -завтрак -завтрам -завтрашн -завтрашн -завтрашн -завтр -завыва -завыва -завыван -завыван -завяжет -завяж -завяз -завяза -завяза -завяза -завяза -завяза -завяза -завязнет -загада -загада -загада -загадк -загадк -загадк -загадк -загадк -загадок -загадочн -загадочн -загадочн -загадочн -загадочн -загадочн -загадочн -загадыва -загадыван -загар -загвоздк -заглав -заглав -заглав -заглавн -заглад -заглад -заглад -заглохл -заглуша -заглуша -заглуша -заглушат -заглушен -заглушен -заглуш -заглуш -заглуш -заглушон -заглядевш -заглядел -заглядел -заглядыва -заглядыва -заглядыва -заглядыва -заглядыва -заглядыв -заглянет -заглянет -заглян -заглянув -заглянул -заглянул -заглянут -загна -загна -загниют -загнут -заговарива -заговарива -заговарива -заговарива -заговарива -заговарива -заговарив -заговел -заговен -заговор -заговор -заговор -заговор -заговор -заговор -заговор -заговорщик -заговорщик -заговор -заговор -заголос -загора -загоражива -загоражива -загоражив -загора -загора -загора -загорд -загоревш -загоревш -загоревш -загоревш -загорел -загорел -загорел -загорел -загорел -загорел -загорел -загор -загород -загород -загород -загородн -загорож -загорожен -загоряч -заготов -заготовл -заград -заград -заграничн -заграничн -заграничн -загреб -загремел -загремел -загроможд -загроможд -загрубевш -загрубел -загрызет -загрязн -загрязн -загрязн -загуб -загудел -загуля -задава -задава -задава -задава -задава -задава -задава -задав -задав -задав -задавл -задав -зада -зада -зада -зада -зад -задар -задаст -задатк -задатк -задатк -задаток -зада -задач -задач -задач -задач -задач -зада -задвига -задвига -задвижк -задвижк -задвинет -задворк -задворк -задебрен -задева -задева -задев -задевш -задел -задел -задел -задел -заденет -задержа -задержа -задержа -задержа -задержива -задержива -задержива -задержива -задержк -задержк -задерж -задернет -задернул -задет -задет -задира -задирательн -задира -задн -задн -задн -задн -задобр -задок -задолжа -зад -задор -задор -задохнул -задразн -задрема -задрема -задрема -задрема -задремлет -задремлеш -задрожа -задрожа -задрожа -задрожа -задрожа -задрож -задул -задума -задума -задума -задума -задума -задума -задума -задума -задума -задума -задума -задума -задума -задума -задума -задума -задумч -задумчив -задумчив -задумчив -задумчив -задумчив -задумчив -задумчивосг -задумчив -задумчив -задумчив -задумчив -задумчив -задумчив -задумчив -задумчив -задумчив -задумчив -задумыва -задумыва -задумыва -задумыва -задумыва -задумыва -задумыва -задумыв -задурман -задушевн -задуш -задуш -задуш -задуш -зад -задым -задым -задыха -задыха -задыха -задыха -задыха -задыха -задыха -задыха -задыха -задых -заеда -заеда -заед -заед -заезж -заел -за -заемн -заемн -заемн -заемн -заеха -заеха -заеха -зажа -зажажда -зажа -зажат -зажат -зажгл -зажгл -зажгут -зажда -зажег -зажеч -зажж -зажжен -зажжен -зажива -зажив -заживет -зажив -зажига -зажига -зажига -зажигательн -зажига -зажиг -заж -заж -заж -зажим -зажирел -зажиточн -зажмет -зажмеш -зажмурен -зажмур -зажмурив -зажмур -зажмур -зажмур -зажужжа -зажужжа -зазва -зазвенел -зазвенел -зазвен -зазвуча -зазвуча -зазвучат -зазвуч -зазовет -зазор -зазубринк -заигра -заигра -заигра -заигра -заигра -заигра -заигра -заигрыва -заика -заика -заика -заик -заикнет -заикн -заикнул -заимодавец -заинтересова -заинтересова -заинтересова -заинтересова -заинтересова -заинтересова -заинтересова -заиска -заискива -заискиван -заискива -зайд -зайдет -зайдет -зайдеш -зайд -зайд -зайд -зайд -займ -займ -займет -займет -займеш -займ -займ -займут -займут -зайт -зайц -зайц -закаж -заказ -заказа -заказа -заказа -заказа -заказ -заказыва -заказыва -заказыва -заказыва -закал -закалив -заканчива -заканчива -закапа -закарабка -закат -закат -заката -закат -закат -закат -закат -закат -закат -закат -закатн -закатн -закатн -закатн -закат -закат -закатыва -закача -закива -закин -закинув -закинул -закинул -закинул -закинут -закинут -закипел -закипел -закипел -закипел -закип -заклад -заклад -заклад -закладк -закладн -заклад -заклад -закладчик -закладчик -закладчик -закладчик -закладчик -закладчиц -заклад -закладыва -закладыва -закладыва -закладыва -закладыва -закладыва -заклина -заключа -заключа -заключа -заключа -заключа -заключа -заключа -заключ -заключен -заключен -заключен -заключен -заключен -заключен -заключ -заключ -заключ -заключ -заключ -заклят -заколдова -заколдова -заколот -заколот -заколот -заколют -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -закон -законодател -законодател -закон -закон -законфуз -законфуз -законфуз -законфуз -законфуз -закончен -закончен -законч -законч -закон -закопа -закоптел -закопчен -закоренел -закороб -закорузл -закорузл -закоснел -закоулк -закоченел -закоченел -закрадыва -закрас -закраснел -закреп -закрича -закрича -закрича -закричат -закрича -закрич -закрич -закровян -закроет -закроет -закр -закр -закр -закроют -закруглен -закруж -закруж -закруж -закруж -закруж -закрут -закрут -закручив -закр -закрыва -закрыва -закрыва -закрыва -закрыва -закрыва -закрыв -закр -закр -закр -закр -закр -закр -закр -закрыт -закрыт -закрыт -закрыт -закрыт -закрыт -закудахта -закулисн -закуп -закупк -закупк -закупк -закупорива -закупор -закураж -закур -закурива -закурива -закур -закус -закус -закус -закуск -закуск -закуск -закуск -закуск -закусыва -закусыва -закусыва -закута -закута -закута -закута -закута -закута -закута -закута -зал -зал -зала -зал -залая -зал -залег -залегл -залежа -залежа -залежа -залез -залеза -залезл -залезт -залепета -залеп -залета -залета -залетел -залетел -залеч -зал -залив -залива -залива -залива -залива -залив -заливист -заливн -заливн -зал -зал -зал -зал -зал -зал -залит -залит -залит -залит -залит -зал -залог -залог -залож -заложен -заложен -залож -залож -залож -залож -залож -залож -залож -зал -залом -залом -заломл -залп -зал -залуч -зал -зальдевш -зальет -зальет -зальеш -зал -зама -зама -заман -заман -заман -заманчив -заманчив -замара -замарашк -замаслен -замаслен -замаслен -замаслен -замаха -замахива -замахив -замахнет -замахнул -замахнул -замашк -замашк -замедлен -замедл -замедля -замедля -замелька -замелька -замен -замен -замен -замен -замен -замен -замен -заменя -заменя -замер -замерет -замерзнет -замерзнут -замерл -замерл -замерл -замертв -замест -замест -замет -заметен -замет -замет -замет -замет -замет -замет -замет -замет -заметк -заметлив -заметн -заметн -заметн -заметн -заметн -заметн -заметн -заметн -заметн -заметн -заметн -замет -заметов -заметовск -заметов -заметов -заметок -замет -заметьт -замет -замеча -замеча -замеча -замеча -замеча -замеча -замеча -замеча -замеча -замеча -замечан -замечан -замечан -замечан -замечан -замечател -замечательн -замечательн -замечательн -замечательн -замечательн -замечательн -замечательн -замечательн -замечательн -замеча -замеча -замеча -замеч -замеч -замечен -замечен -замечта -замечта -замечта -замечта -замеша -замеша -замеша -замеша -замешательств -замешательств -замешка -замешка -замешка -замига -замира -замира -замира -замиран -замира -замира -замира -замир -замк -замк -замк -замкн -замкнут -замкнут -замкнут -замкнут -замнет -замогильн -замок -замол -замолк -замолкл -замолкл -замолкл -замолкнут -замолкнут -замолча -замолча -замолча -замолчат -замолча -замолч -замолч -замолч -замор -заморск -заморск -заморск -замоч -замоч -замочн -замочн -зам -замрет -замр -замрут -замуж -замуж -замужеств -замужеств -замужеств -замужн -замуча -замуча -замучен -замуч -замуч -замуч -замуч -замуч -замуч -замуч -замуч -замшев -замшев -замыка -замыкалов -замыка -замык -замык -замысел -замысл -замысл -замысл -замысл -зам -замышля -замышля -замя -замя -замямл -замя -занавес -занавес -занавеск -занавеск -занавеск -занавеск -занавесок -занавес -занавес -занавес -занд -занес -занес -занесен -занесен -занест -занима -занима -занима -занима -занима -занима -занима -занима -занима -занима -занима -занима -занима -занима -занима -занима -занимательн -занима -занима -занима -занима -занима -занима -занов -заноз -занос -заносчив -заносчив -заносчив -заносчив -заносчив -заносчив -зан -заношен -заношен -заношен -заня -заня -заня -заня -заня -заня -заня -зан -занят -занят -занят -занят -занят -занят -занят -занят -занят -занят -занят -занят -заня -заня -заодн -заора -заочн -запада -западник -западн -запамятова -запамятова -запар -запас -запас -запас -запас -запасн -запас -запас -зап -запах -запахл -запах -запах -запачка -запачка -запачка -запачка -запачка -запачка -запашк -запева -запева -запеван -запев -запека -запекл -запекл -запекш -запекш -запекш -запел -запел -запел -запенд -запен -запер -запер -заперет -заперет -заперл -заперл -заперл -запер -заперт -заперт -заперт -заперт -заперт -заперт -заперт -заперт -заперш -запечата -запечата -запива -запива -зап -запина -запин -запинк -запираем -запира -запира -запира -запира -запира -запира -запира -запира -запира -запира -запира -записа -записа -записа -записа -записа -записа -записа -записк -записк -записк -записк -записк -записк -записк -записн -записн -записн -записок -записочк -записыва -записыван -записыван -записыва -записыва -записыва -записыв -запихива -запихив -запиш -запиш -запиш -заплака -заплака -заплака -заплака -заплака -заплака -заплака -заплат -заплат -заплат -заплат -заплат -заплат -заплат -заплат -заплат -заплат -заплат -заплатк -заплат -заплач -заплачет -заплачеш -заплач -заплачут -заплева -заплева -заплева -заплесневел -заплест -заплет -заплута -заплыва -запл -запл -запляса -запнул -запнул -заподозр -заподозр -запо -запоет -запоеш -запозда -запоздал -запоздал -запозда -зап -заполн -заполн -заполон -заполон -запомн -запомн -запомн -запомн -запомн -запомн -запомн -запомн -запонк -запонк -запор -запор -запор -запорет -запорош -запорош -запо -заправ -заправлен -заправля -запрег -запредельн -запрет -запрет -запрет -запрет -запрет -запреща -запреща -запрещен -запрещен -запрещен -запрещ -запр -запр -запропаст -запропаст -запрос -запрос -запрост -запрос -запруж -запрыга -запрыга -запрыга -запрыга -запрягут -запряжен -запряжен -запряч -запуга -запуга -запуга -запуга -запуска -запуска -запуска -запуст -запуст -запута -запута -запута -запута -запута -запута -запутыва -запутыв -запутыв -запушен -запущен -запущен -запущен -запущен -запущен -запущ -запыла -запыла -запылен -запылен -запылен -запылен -запылен -запыл -запыл -запыл -запыха -запыха -запьеш -зап -запяст -запяст -запятна -зарабатыва -заработа -заработа -заработа -заработа -заработа -заработк -заработк -заража -заража -заража -заража -зараж -заражен -заражен -заражен -зараз -зараз -зараз -зараз -зараз -заразител -заразительн -заразительн -заразительн -зараз -зарайск -зарайск -зарайск -заран -зарапортова -зараста -зардел -зар -зарев -зарев -зарев -зарев -заревел -зарев -зарев -зарев -зарев -зарев -зарежет -зареж -зареза -зареза -зарез -зар -заречн -заречн -зар -заржавлен -заржет -зар -зарниц -зарницын -зарницын -зарод -зарод -зародыш -зарожда -зарожден -зарожден -зар -заронен -зарон -заросл -заросш -заросш -зароют -зарубежн -заруб -зар -зарыда -зарыда -зарыда -зар -зар -зарыт -зар -зар -зарыча -зарыч -зар -зар -заряд -заряд -заряжан -засад -засален -засален -засален -засасыва -засверка -засверка -засверка -засверка -засверка -засвет -засвет -засвет -засветл -засвидетельствова -засвидетельствова -засвидетельствова -засвидетельствова -засвидетельствован -засвидетельствова -засвидетельствова -засева -заседан -засек -засел -засел -засел -засел -засел -засидел -засид -засипел -засия -засия -засия -засия -засия -заскака -заскрежета -заскрежета -заскрип -заслонен -заслон -заслон -заслон -заслоня -заслоня -заслуг -заслуг -заслужен -заслужен -заслужен -заслужен -заслужен -заслуж -заслуж -заслушива -заслыш -заслыша -засматрива -засмеет -засмеют -засмеют -засмея -засмея -засмея -засмея -засмея -засмотр -заснет -засн -заснувш -заснул -заснул -заснул -заснут -засов -засохл -засохл -засохл -засохш -засохш -засохш -засохш -заспа -заспа -заспа -заспа -засп -застава -застава -застав -застав -застав -застав -застав -заставлен -заставл -заставля -заставля -заставля -заставля -заставля -заставля -заставля -заставл -застав -застав -застав -застав -заста -заста -заста -застан -застанет -застанеш -застан -застарел -заста -застегива -застегиван -застегива -застегив -застегнут -застегнут -застелют -застенч -застенчив -застенчив -застенчив -застенчив -застенчив -застиг -застила -застойк -застойк -застольн -застона -застонет -застрахова -застрахова -застрел -застрел -застрел -застрел -застрел -застрел -застрел -застрел -застря -застрянет -застука -заступа -заступ -заступ -заступ -заступ -заступ -застуча -застуча -застуча -застучат -застуч -застыва -застыва -застыв -застыд -застыд -застыд -заст -заст -застынет -засуд -засует -засует -засует -засует -засунув -засунул -засунул -засух -засух -засух -засучен -засуч -засыпа -засыпа -засыпа -засыпа -засыпа -засыпа -засып -засыплет -засыха -засяд -затаен -зата -зата -зата -зата -затаратор -затаска -затаска -затверд -затвор -затвор -затвор -затвор -затвор -затвор -затворничеств -затвор -затворя -затворя -затворя -затвор -затвор -затева -зате -затеет -затееш -зат -зат -затека -зат -затемн -затепл -затепл -затерл -затер -затерт -затерт -затеря -затеря -затеря -затеря -затеря -затеса -затесн -затея -затея -затея -зате -затея -зат -затиха -затихл -затихл -затихл -затиш -затиш -затиш -заткнет -заткн -заткнут -заткнут -затмева -затмен -затмен -зат -затолп -затопа -затопа -затоп -затопчет -заторел -затороп -затороп -затороп -затороп -затоскова -затравлен -затрат -затревож -затревож -затрепета -затрепета -затрепета -затрепещет -затрет -затрогива -затронет -затронул -затруднен -затруднен -затруднен -затруднен -затрудн -затруднительн -затруднительн -затрудня -затрудня -затрудня -затрудня -затрудн -затряс -затрясл -затрясл -затряс -затуман -затуман -затуман -затуш -затуш -затуш -затыка -затылк -затылк -затылок -затягива -затягив -затянувш -затянул -затянул -затянул -затянут -заунывн -заурядн -заутрен -заутрен -заучен -заучен -заучен -зауч -зауч -зафилософствова -захар -захар -захарк -захарк -захар -захарович -захарович -захарович -захаров -захар -захар -захарыч -захарыч -захвал -захват -захват -захват -захват -захват -захват -захват -захват -захватыва -захватыва -захватыва -захвачен -захвора -захвора -захихика -захлебнул -захлебыв -захлестнул -захлестнул -захлопнул -захлопнул -захлопыва -захлопыв -захмелевш -захныка -заход -заход -заход -заход -заход -заход -заход -заходя -заходя -захожден -захож -захотел -захотел -захотел -захотел -захотет -захот -захот -захохота -захохота -захохота -захохочет -захочет -захочет -захочеш -захоч -захрипел -захрома -захрустел -зацелова -зацеп -зацеп -зача -зачаст -зачат -зачатк -зач -зачахл -зачахн -зач -зачеркива -зачеркнет -зачерпнул -зачешет -зачешут -зачисл -зачита -зачитыва -зачт -зашата -зашата -зашевел -зашевел -зашевел -зашевел -зашевел -зашел -зашепта -зашепта -зашепта -зашива -зашипел -зашип -заш -зашл -зашлепа -зашл -зашл -заштопа -заштопа -зашум -зашум -защелка -защем -защит -защ -защит -защит -защит -защит -защит -защитник -защит -защит -защища -защища -защища -защища -защища -защища -заяв -заяв -заяв -заявлен -заявл -заявля -заяч -звал -звал -звал -звал -зван -зван -зван -зван -зван -зват -звезд -звезд -звезд -звезд -звезд -звезд -звездн -звезд -звездочк -звезд -звезд -звезд -звен -звенел -звенел -звенел -звен -звен -звен -звен -звен -звен -звен -звеня -звер -звер -звер -зверин -зверин -зверин -зверин -зверок -зверск -зверск -зверск -зверск -зверств -звер -звер -звер -звон -звон -звон -звон -звон -звон -звонк -звонк -звонк -звонк -звонк -звонк -звонк -звонк -звонок -звон -звон -звук -звук -звук -звук -звук -звук -звук -звук -звуча -звуча -звуча -звуча -звучат -звуча -звуча -звуч -звуч -звучн -звякан -звяка -звякнул -зги -зготовля -здан -здан -здан -здан -здан -зде -зде -здешн -здешн -здешн -здешн -здешн -здешн -здешн -здешн -здешн -здешн -здор -здоров -здорова -здорова -здорова -здоров -здоров -здоровеньк -здоровеньк -здоровехонек -здоров -здоров -здоров -здоров -здоров -здоров -здоров -здоров -здоров -здоров -здоров -здоров -здоров -здрав -здрав -здрав -здрав -здрав -здрав -здравствова -здравств -здравств -здравств -здрав -здсе -зе -зева -зева -зевак -зева -зева -зев -зевес -зевнет -зевнул -зевнут -зевот -зевот -зевот -зейн -зейнрок -зел -зелен -зеленеет -зелененьк -зелененьк -зеленеют -зелен -зелен -зел -зеленоват -зеленоват -зелен -зелен -зелен -зелен -зеленщик -зеленщик -зеленщик -зеленщик -зел -зелен -зелен -зелен -зелен -зелен -зелен -зелен -земел -земл -земледел -земл -землетрясен -землетрясен -земл -земл -земл -земл -земляк -земляк -земляк -земл -земляник -землянк -земн -земн -земн -земн -земн -земн -земн -земск -земск -земск -земск -земств -земчуг -зен -зениц -зерка -зерка -зеркал -зеркал -зерка -зеркал -зеркальн -зеркальн -зеркальц -зеркальц -зерн -зерн -зигзаг -зигзаг -зигфрид -зим -зим -зимн -зимн -зимн -зимн -зимн -зимн -зим -зим -зим -зинаид -зия -зла -злак -злат -злат -злат -злат -злат -злат -зла -зле -злейш -злил -злит -злит -злит -злит -злиш -зло -злоб -злоб -злоб -злобн -злобн -злобн -злобн -злобн -злобн -злобн -злобн -злобн -злобн -злоб -злоб -злобств -злоб -злоб -зловещ -зловещ -зловещ -зловещ -зловещ -зловещ -злов -зловредн -злод -злоде -злод -злодейк -злодейск -злодейств -злодейств -злоде -злодеян -зло -зло -злом -злонамерен -злорадн -злорадств -злослов -злослов -злост -злостн -злост -злост -злосчастн -злоупотреблен -злоупотреблен -злоупотребля -злу -злу -злы -злы -злым -злым -злых -злю -злющ -злющ -зля -зме -зме -зме -зме -зме -зме -змеин -зме -зме -зме -зме -змея -знава -знава -знавш -знавш -зна -знает -знает -знаеш -зна -знайт -знак -знак -знак -знак -знак -знак -знаком -знаком -знаком -знаком -знаком -знаком -знаком -знаком -знаком -знакомств -знакомств -знакомств -знакомств -знакомств -знаком -знаком -знаком -знаком -знаком -знаком -знаком -знаком -знал -знал -знал -знал -знам -знам -знаменательн -знаменательн -знаменательн -знаменательн -знаменательн -знаменательн -знамен -знамен -знамен -знаменит -знаменит -знаменит -знаменит -знаменит -знамен -знаменова -знам -знам -знан -знан -знан -знан -знан -знан -знан -знатн -знатн -знатност -знатн -знатн -знаток -знат -знат -значат -значен -значен -значен -значен -значен -знач -знач -знач -знач -значительн -значительн -значительн -значительн -значительн -значительн -значительн -значительн -значительн -значительн -значительн -знач -знач -знач -зна -знают -знающ -знающ -знающ -знающ -зна -зноб -зно -зно -зно -знойков -знойн -знойн -знойн -зно -зно -зов -зов -зов -зовет -зовет -зовеш -зов -зов -зов -зовут -зовущ -зол -зол -зол -золовк -зол -золот -золот -золот -золотеет -золотист -золотист -золотист -золот -золот -золот -золотник -золот -золотоглав -золот -золот -золот -золотокудр -золот -золотопромышленник -золотопромышлен -золот -золот -золотух -золотушн -золот -золот -золот -золот -золот -зол -зонтик -зонтик -зонтик -зоргенфр -зор -зорк -зорк -зорк -зорк -зорк -зорч -зор -зор -зосим -зосимов -зосимов -зосимов -зрак -зрачк -зреет -зрел -зрелищ -зрел -зрел -зрелост -зрелост -зрелост -зрел -зрел -зрен -зрен -зрен -зрен -зреют -зрим -зрим -зрит -зрител -зрител -зрител -зрител -зриш -зря -зуб -зуб -зуб -зуб -зубк -зуб -зубок -зубоскал -зубчат -зубчат -зубчат -зуб -зуд -зурн -зурн -зыбк -зыбк -зыбк -зыблет -зят -и -иб -ибс -ибс -ива -ива -иван -иван -иванов -иванович -иванович -иванович -ивановн -ивановн -ивановн -ивановн -ивановн -иванов -ивановск -иванов -иван -иванонв -иван -иваныч -иваныч -иваныч -иваныч -иг -игл -игл -игл -игл -игнатьевич -игнатьевич -игнатьевич -игнатьевн -игнатьевн -игнатьич -игнатьич -игнашк -иг -иголк -иголочк -иг -игр -игра -игра -игра -игра -игра -игра -игра -игра -игра -игра -игра -играл -игр -игра -игр -игра -игра -играюч -игра -игра -игра -игр -игр -игрив -игрив -игривеньк -игрив -игрив -игрив -игрив -игрив -игр -игрок -игр -игрушечк -игрушк -игр -идеа -идеа -идеал -идеал -идеал -идеализм -идеалист -идеал -идеал -идеал -идеал -идеальн -идеальн -идеальн -ид -иде -ид -ид -идейк -идейк -идейн -ид -идемт -идет -идет -идет -идеш -ид -иде -ид -идилл -идилл -идиот -идиотк -идиотств -ид -идол -идол -идол -идол -идт -ид -идут -идуч -идущ -идущ -идущ -идущ -идущ -идущ -идущ -идущ -ид -иезуит -иен -иер -иероглиф -иерусал -иерусалим -ижиц -из -изб -изб -избав -избав -избав -избав -избавл -избавлен -избавлен -избавля -избавл -избав -избалова -избалова -избалова -избалова -избалова -изб -изб -избега -избега -избега -избега -избега -избег -избегнул -избегнут -избежа -изберет -избереш -изб -избит -избит -избит -избит -избит -избра -избра -избра -избра -избра -избра -избра -избра -избран -избра -изб -избудеш -избушк -изб -избытк -избытк -избыток -изб -изведа -изведа -изведа -изведа -изведа -изведеш -извел -изверг -изверг -извергнет -извергнут -извер -извер -извест -извест -извест -извест -извест -извест -извест -извест -известк -известк -известков -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -известн -извест -извест -извечн -извечн -извещен -извещ -изв -извив -извив -извилист -извинен -извинен -извин -извин -извин -извин -извин -извин -извин -извин -извиня -извиня -извин -извиня -извиня -извиня -извин -извин -извлек -извлека -извлекл -извлек -извлеч -извн -извод -извозчик -извозчик -извозчик -извозчик -извозчик -извозчик -извозчик -извозчик -извол -извол -извол -извол -извол -извол -извол -извольт -извол -изворачива -изворачива -изворот -изворотлив -изворот -извращен -изгад -изгад -изгад -изгиб -изгиб -изглад -изглад -изгнанник -изголов -изголов -изгон -изгоня -изготов -изготов -изготовля -издава -издавн -издалек -изда -изда -издан -издан -издан -издан -изданьиц -издател -издател -издательск -издательств -издател -изда -издева -издева -издел -издерга -издержа -издержек -издержк -издержк -издержк -издержк -издержк -издохн -издохнут -издрогнувш -издрогш -издыхан -издыха -изжар -изжог -иззяб -излага -излага -излага -излага -излаг -излер -излечива -изл -излива -излива -излива -излива -изл -излишек -излишн -излишн -излишн -излишн -излишн -излиян -излиян -излов -изловч -изложен -изложен -излож -излож -излож -излож -излома -излома -излома -излома -излома -излома -излома -излома -излома -излома -излучен -измайл -измалетств -измельча -изм -изм -изменен -изменен -измен -измен -измен -измен -измен -измен -измен -измен -измен -измен -измен -измен -изменник -изменниц -измен -измен -изменя -изменя -изменя -изменя -измен -измен -изменя -изменя -измен -измер -измер -измер -измеря -измеря -измеря -измер -измокш -измокш -измор -измуч -измучен -измучен -измучен -измучен -измуч -измуч -измуч -измуч -измуч -измуч -измуч -измуч -измуч -измуч -измуч -измят -измят -измят -измят -измят -измят -изнежен -изнежен -изнежен -изнемог -изнемога -изнемога -изнемога -изнемога -изнемога -изнемог -изнемогл -изнеможен -изнеможен -изнеможен -изнемоч -износ -изношен -изношен -изношен -изношен -изнурен -изнурен -изнутр -из -изоблич -изобража -изобража -изобража -изобража -изобража -изображ -изображ -изображен -изображ -изобраз -изобраз -изобразительн -изобраз -изобраз -изобрета -изобретател -изобретен -изобретен -изобьеш -изовра -изодра -изодра -изойт -изорва -изорвал -изорва -изошл -изощр -изощря -израсходова -изредк -изрек -изрека -изрека -изрека -изтоптал -изувер -изуверств -изукрашен -изум -изум -изум -изумительн -изумительн -изумительн -изумительн -изумительн -изумительн -изум -изум -изумл -изумлен -изумлен -изумлен -изумлен -изумлен -изумлен -изумлен -изумлен -изуродова -изустн -изуча -изуча -изуча -изуч -изучен -изучен -изуч -изуч -изуч -изъезд -изъяв -изъяв -изъявлен -изъявля -изъясн -изъясн -изъясня -изъят -изыска -изыска -изыска -изюминк -изюм -изяществ -изящн -изящн -изящн -изящн -изящн -изящн -изящн -изящн -изящн -изящн -изящн -иисус -иисус -икнув -икон -иконостас -икон -икон -ил -ил -илиад -илист -ил -ил -ил -ил -ильин -ильин -ильин -ильиничн -ильинск -ильинск -ильинск -ильинск -ильинск -ильинск -ильинск -ильич -ильич -ильич -ильич -ильич -ил -ил -илюш -илюш -илюш -илюш -им -иматр -имевш -имевш -имевш -имевш -имевш -имевш -име -имеет -имеет -имеет -имееш -им -им -имел -имел -имел -имел -имел -имел -им -им -имен -имен -имен -имен -имен -имен -именин -именин -именин -именинник -именинниц -именинниц -именин -имен -имен -имен -именьишк -имет -им -имеют -имеющ -имеющ -имеющ -имеющ -име -им -импровизир -имуществ -имуществен -имуществ -им -инач -ин -инд -индеек -индейк -индейк -индейк -индейск -индивидуализм -индивидуум -индийск -индифферентизм -инд -ине -ин -инициал -инкрустац -ин -иногд -ин -ин -ин -инок -ин -иностранец -иностранк -иностра -иностра -иностра -иностранц -иностранц -иностранц -иностранц -ин -инспектор -инстанц -инстанц -инстинкт -инстинкт -инстинкт -инстинктивн -инстинктивн -инстинкт -инстинкт -институт -институт -институт -инструкц -инструкц -инструмент -инструмент -инструмент -инструмент -инструмент -интегральн -интеллигент -интеллигентн -интеллигенц -интеллигенц -интендант -интерес -интерес -интерес -интерес -интерес -интересн -интересн -интересн -интересн -интересн -интересн -интересн -интересн -интересн -интересн -интересн -интересн -интересн -интерес -интересова -интересова -интересова -интересова -интересова -интересова -интерес -интерес -интересует -интересует -интерес -интерес -интерес -интересу -интерес -интимн -интимн -интонац -интонац -интриг -интригова -интриг -ин -ин -инфлюэнц -информац -ин -ин -ин -ин -иоаннов -иога -ипохондр -ипохондрик -ипохондрик -ипохондрическ -ипохондр -ирин -ирин -ирин -ирин -ирин -ирис -ирис -ирон -ироническ -ироническ -иртыш -иса -ис -искажа -искажа -искаж -искажен -искажен -искажен -искажен -искаж -исказ -исказ -исказ -исказ -иска -иска -искалечен -искалечен -иска -иск -искан -искан -искательниц -иска -исключ -исключен -исключен -исключен -исключен -исключительн -исключительн -исключительн -исключительн -исковерка -исковерка -исковерка -искон -искорен -искорен -искореня -искос -искр -искр -искр -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрен -искрив -искрив -искрив -искрив -искрив -искривлен -искривлен -искривлен -искривлен -искривл -искр -искр -искрометн -искр -искупа -искуп -искупительн -искупител -искуп -искуплен -искусн -искусн -искусн -искусств -искусств -искусств -искусств -искусствен -искусствен -искусствен -искусств -искусств -искушен -испак -испанец -испан -испанк -испанск -испарен -испарен -испачка -испачка -исп -испекл -испекут -испепел -испепеля -испепеля -испечет -исписа -исписа -исписа -исписа -испит -испит -исп -исповед -исповедова -исповедова -исповедова -исповедыва -исповед -исповед -исподлоб -исподтишк -исполинск -исполн -исполн -исполнен -исполнен -исполнен -исполнен -исполнен -исполнен -исполнен -исполнен -исполнен -исполн -исполн -исполн -исполн -исполн -исполн -исполн -исполним -исполн -исполн -исполнител -исполнител -исполн -исполн -исполн -исполн -исполн -исполня -исполня -исполня -исполня -исполня -исполня -исполн -использова -использован -испорт -испорт -испорт -испорт -испорт -испорч -испорчен -испорчен -испорч -испошл -исправ -исправим -исправ -исправ -исправлен -исправлен -исправля -исправля -исправник -исправник -исправн -исправн -исправн -испрашива -испрос -испуг -испуг -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испугал -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуга -испуг -испуг -испуг -испужа -испужа -испуска -испуск -испуст -испыта -испыта -испыта -испыта -испыта -испытан -испытан -испытан -испыта -испыта -испыта -испыта -испытующ -испыт -испытыва -испытыва -испытыва -испытыва -испытыва -испытыва -исследован -исследова -исслед -иссоса -иссохш -иссохш -иссохш -иссохш -иссохш -исстрада -исстрада -исстрада -исступлен -исступлен -исступлен -исступлен -исступлен -исступлен -исступлен -истаска -истаска -истаска -истаска -истая -истерза -истерза -истерза -истерза -истерза -истерза -истерза -истерик -истерик -истерическ -истерическ -истерическ -истерическ -истеричн -истечен -истин -истин -истин -истин -истин -истин -истин -истин -истин -истин -истин -истин -истин -истин -истин -истолкован -истолкован -истолковател -истом -истом -истом -исторг -истор -истор -историк -историческ -историческ -истор -истор -источник -источник -источник -источник -источник -истоща -истощ -истощен -истощ -истощ -истощ -истощ -истрат -истрат -истрачен -истрачен -истреб -истреб -истреблен -истреблен -истребля -истребля -истрепа -истрепа -истрепа -истрепа -истяза -истязан -истязан -исход -исход -исход -исход -исход -исхуда -исхудал -исцелен -исцеля -исчахнет -исчез -исчеза -исчеза -исчеза -исчеза -исчеза -исчеза -исчеза -исчезл -исчезл -исчезл -исчезнет -исчезнет -исчезн -исчезнут -исчерпа -исчерпа -исчерчен -исчислен -исчисл -исчисл -исшарка -ит -итак -ита -итал -итал -итальянск -итальянск -итальянск -итог -итог -итог -ит -иуд -иуде -иуд -их -ихн -ихн -ихн -ихн -ихн -ихн -иш -ищ -ищ -ищет -ищет -ищеш -ищ -ищ -ищ -ищут -ищущ -ищущ -июл -июл -июн -июн -июн -й -йодоформ -к -ка -кабак -кабак -кабак -кабак -кабал -кабацк -кабачн -кабачн -кабинет -кабинет -кабинет -кабинет -кабинет -кабинет -каблук -каблук -каблук -каблучк -кабул -каб -кавалер -кавалер -кавалер -кавалер -кавалер -кавалер -кавалькад -каватин -каватин -кавказ -кавказск -кавычк -кавычк -кад -кад -кад -кадил -кадильн -кадк -кадочк -кадочк -кажд -кажд -кажд -кажд -кажд -кажд -кажд -кажд -кажд -кажд -кажд -кажд -кажет -кажет -кажет -кажеш -каж -каж -кажут -кажущ -каза -каза -казак -каза -каза -каза -каза -каза -казанск -казарм -казарм -казарм -казарм -каза -каза -казачк -казачк -казачок -казен -казен -казен -казен -казен -казен -казенщин -казимир -казн -казн -казнен -казн -казн -казн -казн -казн -казн -казн -казн -казн -казн -казн -казн -казуистик -казуистик -казуистик -казус -кайм -как -как -как -как -как -как -как -как -каков -каков -каков -каков -как -как -как -как -как -как -кактус -кактус -как -как -кал -каламбур -каланч -каланч -калач -калач -калашн -калеб -калеб -калек -калек -календар -календар -календар -кален -калигул -калинников -калитк -калитк -калитк -калитк -калит -калош -калош -калош -камел -камел -камел -каменист -каменист -камен -камен -камен -камен -камен -камен -каменщик -камен -камен -камер -камердинер -камердинер -камешек -камешк -камешк -камин -камн -камн -камн -камн -камн -камн -камн -камн -каморк -каморк -каморк -каморк -кампан -камушк -камфар -камыш -камыш -камыш -кана -канав -канав -канавк -канав -канав -кана -кана -канал -канал -канал -канареек -канарейк -канарейк -канарейк -канарейк -канат -канв -канв -канв -кандал -канделябр -канет -канеш -каникул -канка -канка -канул -канул -канцеляр -канцелярист -канцелярист -канцелярист -канцеляр -канцелярск -канцелярск -канцон -капа -капел -капельк -капельк -капернаум -капернаумов -капернаумов -капернаумов -капита -капита -капиталист -капитал -капитал -капитал -капитал -капитальн -капитальн -капитальн -капитальн -капитальн -капитальн -капита -капитол -капитэн -капка -капл -капл -каплет -капл -капл -каплют -капл -капл -капл -капот -каприз -каприз -каприз -каприз -каприз -капризн -капризниц -капризнича -капризнича -капризнича -капризн -капризн -капризн -каприз -каприз -каприз -капсюл -капуст -капуст -капуст -капуст -кар -карабка -карабк -карава -карамзин -карандаш -карандаш -карандаш -карандашик -карандаш -кара -караул -караул -караул -караш -кара -кардамонов -карет -карет -карет -карет -каретн -каретн -карет -карет -карет -кар -кар -карка -карлик -карловн -карлос -карл -карма -карма -карман -карман -карман -карма -карма -карма -карман -карма -карм -карменсит -карниз -карп -карпат -карпович -карт -карт -картав -карт -карт -карт -карт -картежник -картин -картин -картин -картин -картинк -картинк -картин -картин -картинок -картин -картин -картишк -картограмм -картограмм -картограмм -картограмм -карт -картонк -картонк -картофел -картофел -картофел -картофел -карточек -карточк -карточк -карт -картуз -картуз -карт -кар -карьер -карьер -карьер -карьер -карьер -каса -каса -каса -каса -каса -каса -каса -каса -каса -каса -кас -каск -каскетк -каск -кастаньет -кастелянш -кастрюл -кастрюл -кастрюл -ката -ката -ката -катастроф -катастроф -катастроф -катастроф -катастроф -ката -кат -кат -катерин -катерин -катерин -катерин -катерин -катерин -катехизис -кат -кат -кат -кат -каторг -каторг -каторг -каторг -каторжник -каторжн -каторжн -каторжн -каторжн -каторжн -катышек -кат -кат -кат -кат -каучук -кафедр -кафедр -кафешанта -кафта -кафта -кафтан -кафтан -кафэ -кацавеек -кацавейк -кача -кача -кача -кача -кача -кача -качалк -кача -качан -кача -кача -кач -качел -качел -качеств -качеств -качеств -качеств -качеств -качнув -качнул -качн -каш -каш -кашел -каш -кашин -кашл -кашл -кашля -кашля -кашля -кашлянув -кашлянул -кашля -кашля -кашл -каштанов -ка -кают -кают -кают -кая -квадратн -квадрат -кварта -кварта -квартал -квартальн -квартальн -квартальн -квартальн -квартальн -квартальн -квартальн -кварташк -квартир -квартир -квартир -квартир -квартир -квартир -квартирк -квартирк -квартирн -квартирн -квартирова -квартир -квартир -квартир -квас -квас -квас -квасц -квас -квентин -кверх -кел -кел -кем -кеплеров -керченск -кива -кива -кива -кив -кивер -кивнув -кивнул -кивнул -кида -кида -кида -кида -кида -кида -кид -ки -киев -киев -киевск -ки -кильватерн -кинематограф -кинжа -кинжал -кин -кинув -кинул -кинул -кинул -кинул -кинут -кинут -кинут -кинут -кинут -киот -киот -киот -кипарисн -кипарис -кипел -кипел -кипел -кипен -кипет -кип -кипсэк -кипуч -кипуч -кип -кипятк -кипят -кирбитьевн -кирбитьевн -кир -кирк -кирк -кирк -кирпич -кирпич -кирпич -кирпичик -кирпичик -кирпичн -кирпичн -кирсановск -кисе -кисейн -кисейн -кисел -кисел -кисел -кисл -кисл -кисл -киснет -киссинг -кист -кист -кист -кист -китайск -китайск -китайц -кит -кихот -кичк -кичлив -кишат -кишел -кишел -кишк -клавикорд -клавиш -клавиш -клад -кладб -кладбищ -кладбищ -кладбищенск -кладбищ -кладет -кладет -клад -кладк -кладов -кладов -клад -клад -кладут -клад -клал -клал -кланя -кланя -кланя -кланя -кланя -кланя -кланя -клан -кларнет -класс -класс -класс -класт -клеверн -клеверн -клевет -клевет -клеветник -клевет -клевет -клевет -клевещет -клевещут -клеенк -клеенчат -клеймен -клейм -клейм -клейм -клейм -клекот -клен -кленов -клен -клетк -клетк -клетк -клетк -клетушк -клетушк -клетчат -клешн -клещ -клика -клик -клика -клик -клик -кликн -кликн -кликнул -кликнут -климат -климат -климат -климатическ -клинк -клинок -клич -кличет -кличеш -клич -клоак -клоак -клоак -клобук -клок -клокота -клокочут -клон -клон -клон -клон -клон -клон -клон -клон -клоп -клоп -клоп -клопшток -клоп -клочк -клочк -клочк -клочк -клочк -клочок -клуб -клуб -клуб -клубн -клуб -клубок -клуб -клумб -клюк -клюкв -клюк -ключ -ключ -ключ -ключ -ключ -ключик -ключниц -ключниц -ключ -клюют -кля -клял -клял -клял -клянет -клянет -клянеш -клян -клян -клян -кляст -кляст -клятв -клятв -кляч -кляч -клячонк -кляч -кн -книг -книг -книг -книг -книг -книг -книг -книг -книгопродавец -книгопродавц -книг -книжек -книжечк -книжк -книжк -книжк -книжк -книжк -книжк -книжк -книжн -книжн -книжн -книжонк -кноп -кнопк -кнопк -кнут -кнут -кнут -кнут -кнут -кнут -кнут -княгин -княгин -княжеск -княжеск -княжеск -княжн -княжн -княж -княз -княз -князьк -княз -княз -княз -ко -кобелев -кобыл -кобыленк -кобыленк -кобыленк -кобылиц -кобылиц -кобылятников -ков -коварн -коварн -коварн -коварн -коварств -коварств -коварств -ков -ковер -коверка -ковр -ковр -ковр -ковр -коврик -ковр -ковр -ковр -ковр -ковчег -ковчег -ковчег -ковш -ков -ковыл -ков -ковыл -ковыря -когд -ког -когс -когт -когт -когт -когт -кодекс -ко -ко -ко -кожан -кожан -кожан -кож -кож -коз -коз -коз -козел -козел -козл -козлов -козл -козн -козоедов -коз -козыр -козыр -козырьк -коз -ко -ко -ко -кокард -кокетк -кокетлив -кокетнича -кокетнича -кокетнича -кокетнича -кокетнича -кокетств -кокетств -кокетств -кокетств -кол -кол -колбасниц -колбасн -колбас -колдовск -колдовств -колдун -колдун -колдун -колд -кол -колеба -колебан -колебан -колеблет -колеблющ -колеблющ -колебл -колебл -кол -кол -кол -кол -колен -колен -колен -колен -колен -коленк -коленк -коленк -коленкоров -коленк -кол -коленопреклонен -коленочк -коленяк -колен -колен -колен -колес -колес -колес -колес -колесниц -колес -колец -колечищ -колечк -колечк -колечк -кол -коле -кол -количеств -количеств -количеств -колк -коллежск -коллежск -коллежск -коллежск -коллежск -коллекц -коллекц -колод -колодез -колодец -колодник -колод -колод -колок -колокол -колокол -колокол -колокольн -колокольн -колокольн -колокольн -колокольц -колокольчик -колокольчик -колокольчик -колокольчик -колокольчик -колол -колол -коломенск -колон -колон -колон -колон -колор -колорит -колорит -колос -колос -колотилин -колот -колот -колот -колот -колотушк -колот -колот -колот -колпак -колпак -колпак -колпак -колпин -колумб -колхид -колча -колыбел -колыбел -колымаг -колымягин -колыха -колыха -колых -кол -кольк -кольц -кольц -кольц -кольц -кольц -кольчуг -кол -колюч -колюч -колюч -кол -коляск -коляск -коляск -коляск -коляск -колясочк -колясочк -колясочк -ком -команд -команд -командир -командир -командировк -командир -командова -командор -командор -комар -комбинац -комед -комед -комед -комет -комет -комет -комизм -комик -комисс -комисс -комисс -комическ -комическ -комическ -комическ -комк -комк -комк -коммерческ -коммиссаржевск -коммун -коммун -коммун -коммун -коммун -комнат -комнат -комнат -комнат -комнат -комнатк -комнатк -комнатк -комнатк -комнатн -комнат -комнат -комод -комод -комод -комод -комок -компанейск -компан -компан -компан -компан -компаньон -компаньон -комплекц -комплимент -комплимент -комплимент -комплимент -компромисс -ком -комфорт -комфорт -комфорт -комфортн -конверт -конво -конвойн -конвойн -конвульс -конг -конгресс -кондитер -кондитерск -кондрашк -кондуктор -кон -кон -конец -конечн -конечн -конник -конниц -консервативн -консервативн -консерватор -консилиум -конск -конск -конск -конспиративн -конста -константин -константин -константин -константинопол -константин -конституц -конституц -консультац -контор -контор -контор -контор -конторк -конторск -контор -конторщик -конторщик -контор -контрабас -контракт -контракт -контракт -контракт -контракт -контракт -контральт -контрданс -контрол -контр -конур -конур -конур -конур -конус -конфект -конфет -конфуз -конфуз -конфуз -конфузлив -конфузлив -конфузьт -конфуз -конц -конц -конц -конц -концентрирова -концентрическ -концепц -концерт -концерт -концерт -конц -конц -конц -конц -конча -конча -конча -конча -конча -кончат -конча -конча -конча -конч -конч -конч -конч -конч -кончик -кончик -кончик -кончик -конч -конч -конч -конч -конч -конч -конч -конч -конч -конч -конч -конч -конч -конч -кон -коньк -коньяк -коньяк -коньяк -коньячк -кон -конюш -конюшен -конюшн -конюшн -конюшн -конюшн -кон -копа -копа -копеек -копеечк -копейк -копейк -копейк -копейк -копейк -копейк -коп -коперник -коперник -коп -коп -коп -коп -коп -коп -копн -копот -копош -коп -копыт -копыт -копыт -корабл -корабл -корабл -корабл -коралл -кордегард -кордел -кордел -кордел -корен -корен -корен -корен -корен -корен -корешк -корзин -корзинк -корзин -корзиночк -корзин -корзин -коридор -коридор -коридор -коридор -коридор -коридор -кор -кориц -кориц -кориц -кориц -коричнев -коричнев -коричнев -коричнев -корк -корк -корм -корм -корм -кормилец -корм -кормилиц -корм -корм -корм -кормлен -корм -корн -корнел -корн -корнет -корнет -корн -корн -короб -короб -короб -коробк -коробк -коробк -коробк -коробочк -коробочк -коробочк -короб -коров -коров -коров -коровник -коров -коров -коров -коров -корок -королев -королев -корол -корол -корон -корон -корон -корота -коротеньк -коротеньк -коротеньк -коротеньк -коротеньк -коротк -коротк -коротк -коротк -коротк -коротк -коротк -коротк -короч -корп -корпус -корпус -корпус -корреджиев -корректн -корректур -корреспонденц -корреспонденц -корточк -корчаг -корч -коршун -коршун -кор -корыстолюбив -корыст -корыт -корыт -корыт -корыт -кор -кос -кос -кос -косвен -косеньк -кос -косичк -космос -коснел -косност -косноязыч -косноязычн -косноязычн -косноязычн -коснувш -коснул -коснул -коснул -коснут -кос -косоворотк -косоворотк -кос -косоплетк -кос -кост -кост -костер -кост -костляв -косточк -косточк -косточк -костр -костр -костр -кост -костюм -костюм -костюм -костюм -костюм -костюм -костюм -костюшк -кост -костян -костяшек -кос -кос -косынк -косынк -косынк -косынок -косыночк -косыночк -косыночк -косяк -кос -кос -кос -кот -кот -котенк -котенк -котеночк -котлет -котлет -котлетк -котлет -котомк -котор -котор -котор -котор -котор -котор -котор -котор -котор -котор -котор -котор -котор -коттедж -коттен -кот -коф -кофе -коф -коф -кофейник -кофейник -кофейник -кофейник -кофейн -коф -кофе -коф -кофточк -кофточк -кофточк -кох -кох -кохан -кох -кочев -коченеют -кочерг -кочк -кочк -коч -кошач -кошек -кошелек -кошельк -кошельк -кошемар -кошк -кошк -кошк -кошмар -кощунствен -кра -краб -краден -краден -крадеш -кра -кра -краешк -краж -кра -кра -крайн -крайн -крайн -крайн -крайн -крайност -крайност -крайност -крайност -крайн -крак -крал -кран -крапив -крапив -крапив -крапинк -крас -красавец -красавиц -красавиц -красавиц -красавиц -красавиц -красавиц -красавц -крас -крас -крас -красив -красив -красив -красивеньк -красив -красив -красив -красив -красив -красив -красив -красив -красив -красив -крас -крас -красильщик -красильщик -красильщик -красильщик -красильщик -крас -крас -краск -краск -краск -краск -краск -краск -краск -краск -красн -краснеет -краснееш -краснел -краснел -красненьк -красненьк -красненьк -красненьк -краснет -красн -краснеющ -красне -красн -красноват -красноват -красноват -красноват -красноват -красн -красн -красн -красн -красн -красноречив -красноречив -красноречив -краснореч -краснощек -красн -красн -красн -красн -красн -красн -красн -красн -красова -крас -красок -красот -красот -красот -красот -красот -красот -красот -красочн -краст -крас -крас -кратер -кратк -кратк -кратковремен -краткост -кратк -кратчайш -крахмал -крашен -крашен -кра -кра -кра -кра -кред -кредитивн -кредитк -кредитк -кредитк -кредитк -кредитн -кредитн -кредитова -кредиток -кредиторш -кредит -кремл -кремнист -крендел -крендельк -крендел -креп -креп -креп -креп -креп -крепк -крепк -крепк -крепк -крепк -крепк -крепк -крепк -крепнет -крепок -крепост -крепостник -крепостник -крепостн -крепостн -крепостн -крепостн -крепостн -крепост -крепост -крепча -крепч -креп -креп -кресел -кресл -кресл -кресл -кресл -кресл -кресл -крест -крест -крест -крест -крестик -крест -крест -крест -крест -крест -крестин -крестин -крест -крест -крест -крестненьк -крестн -крестн -крест -крестовск -крестов -крест -крест -крест -крестья -крестьян -крестьян -крестьян -крестьянин -крестьянин -крестьянк -крестьянск -крестьянск -крестьянск -крест -крещ -крещен -крещен -крив -кривизн -кривизн -крив -крив -крив -крив -крив -крив -крив -кризис -крик -крик -крик -крик -крик -крик -криклив -крикнет -крикнеш -крикнул -крикнул -крикнут -крик -крик -крик -кринолин -кристал -кристальн -критик -критик -критик -критикова -крич -крича -крича -крича -кричал -кричат -крича -крича -крич -крич -крич -крич -крич -кров -кровав -кровав -кровав -кровав -кровав -кровав -кроват -кроватк -кроватк -крова -кроват -кроват -кровел -кров -кров -кровл -кровл -кровл -кровл -кровн -кровн -кровн -кровн -кров -кровообращен -кровопроливц -кровопролит -кровотечен -кров -кров -кроет -кро -кро -крокет -крокодил -кролик -кром -крон -крот -кротк -кротк -кротк -кротк -кротк -кротк -кротк -кротк -кротк -кроток -кротост -кротост -кротост -кротост -крошат -крошен -крошечн -крошечн -крошечн -крошечн -крош -крошк -крошк -кру -круаз -круг -круг -круг -круг -круг -круг -круг -кругл -кругл -кругленьк -кругл -кругл -кругл -круглолиц -кругл -кругл -кругл -кругл -кругл -кругл -кругл -круг -круговорот -круговорот -круг -круг -кружат -кружа -кружа -круж -кружев -кружев -кружев -кружевн -кружевн -кружев -кружевц -кружен -кружен -кружен -круж -круж -круж -круж -круж -круж -круж -кружк -кружк -кружк -кружк -кружок -крупн -крупн -крупн -крупн -крупн -крупн -крупн -круп -круп -крут -крут -крутизн -крут -крут -крут -крут -крут -круторог -крут -крут -крут -круч -круч -круч -кручин -круш -круш -крыл -крыл -крыл -крылат -крылат -крыл -крыл -крыл -крыл -крылов -крыл -крыл -крыл -крыльц -крыльц -крыльц -крыльц -крыльц -крыл -крыл -крыл -крым -крым -крыс -крыс -крысин -крыс -крыс -крыт -крыт -крыт -крыш -крыш -крыш -крыш -крышк -крыш -крюк -крюк -крюк -крюк -крючк -крючк -крючк -крючк -крючкотворец -крючок -крючочк -крякнет -крякнул -кряхтел -кряхт -кряхт -кряхт -кстат -ксюш -кто -кувшин -кувыркнул -кувырк -куд -кудахта -кудахта -кудахтан -кудахтан -кудахта -кудел -кудр -кудр -кудрин -кудряв -кудр -куд -кузин -кузнец -кузнец -кузнец -кузнец -кузнечик -кузниц -кузовков -кузьк -кузьминичн -кукл -куколк -кукушк -кулак -кулак -кулак -кулак -кулак -кулачонк -кулебяк -кулебяк -кулебяк -куликов -куликов -кулинарн -кулис -кулыгин -кулыгин -кулыгин -кулыгин -кульков -кульк -культурн -кум -кум -кумач -кум -кумир -кумирн -кумир -кумир -кум -кум -кум -кум -купа -купа -купа -купальн -купальн -купальн -купан -купан -купа -купец -купеческ -купеческ -куп -купидон -куп -куп -куп -куп -куп -купл -купл -куплен -куплен -куплен -куплен -купл -купл -купол -купол -купон -купц -купц -купц -купц -купц -купц -купчик -купчих -кур -кураж -кур -курант -курен -кур -кур -кур -курин -курин -кур -кур -кур -куриц -куриц -куриц -куриц -курнос -курнос -курок -куролес -куропатк -курс -курс -курсистк -курск -куртин -куртк -куртк -куртк -курточк -курточк -курчав -курчав -кур -курьез -курьез -курьер -курьер -курьерск -курьер -кур -кур -курятник -курятник -куря -куря -куса -кус -куск -куск -куск -куск -кусок -кусочек -кусочк -кусочк -кусочк -кусочк -куст -куст -куст -кустарник -куст -куст -кустик -куст -куст -куст -кута -кута -кут -кут -кут -кут -кут -кухарк -кухарк -кухарк -кухарк -кухарк -кухарк -кухарк -кухарок -кухмистерск -кухн -кухн -кухн -кухн -кухн -кухн -кухон -кухон -куц -куч -куч -куч -кучер -кучер -кучер -кучер -кучер -кучер -кучер -куч -кучк -кучк -кучк -кучк -куч -куша -куша -кушак -кушак -куша -куша -куша -кушан -кушан -куша -куша -куша -кушетк -кушетк -куш -кущ -кующ -кхе -кхи -л -ла -лабаз -лабазник -лабазник -лабазник -лабиринт -лавиз -лавиз -лавиз -лавиз -лавин -лавк -лавк -лавк -лавк -лавк -лавк -лавочек -лавочк -лавочк -лавочк -лавочк -лавочк -лавочк -лавочник -лавочник -лавочник -лавочн -лавр -лаврент -лаврент -лавр -лавр -лагер -лагер -лагун -лагун -лад -лада -лад -лад -лад -ладн -ладон -ладон -ладон -ладон -лад -лад -ла -ла -лает -лает -лает -лазаревич -лазар -лазар -лаз -лаз -лазур -лазурн -лазур -ла -лайдак -лайт -лакедемон -лак -лаке -лак -лак -лакейск -лакейск -лакейск -лакейск -лакейщин -лак -лаке -лаке -лакирова -лакомств -ламп -лампад -лампадк -лампад -ламп -ламп -ламп -ламп -лангваген -лангваген -ландыш -ландыш -ландыш -ланит -ланит -лап -лапт -лапт -лап -лапш -лапш -ларец -ларц -лас -ласк -ласк -ласка -ласка -ласка -ласка -ласк -ласкательн -ласк -ласка -ласка -ласка -ласка -ласка -ласка -ласк -ласк -ласк -ласк -ласк -ласков -ласков -ласков -ласков -ласков -ласков -ласков -ласков -ласков -ласков -ласк -ласк -ласточк -ласточкин -лат -лат -латник -латын -латынск -латын -латыш -лафит -лачуг -ла -лая -лая -лба -лбов -лбом -лбу -лгал -лгал -лгал -лгат -лги -лгу -лгунишк -лгун -лгут -лгущ -лебед -лебед -лебед -лебез -лебезятник -лебезятников -лебезятников -лебезятников -лебезятников -лев -лев -лев -лев -лев -лев -лев -лев -лег -легав -легион -легион -легистраторш -легк -легк -легк -легк -легк -легк -легк -легк -легковерн -легковерн -легк -легк -легк -легк -легкомысл -легкомыслен -легкомыслен -легкомыслен -легкомыслен -легкомыслен -легкомыслен -легкомысл -легкомысл -легкомысл -легкомысл -легкопер -легк -легк -легл -легл -легл -легок -легоньк -легч -лед -леденец -ледене -леден -леденц -леденц -леденя -лед -ледк -ледоход -ледян -леж -лежа -лежа -лежа -лежа -лежа -лежа -лежа -лежа -лежа -лежа -лежа -лежа -лежанк -лежанк -лежанк -лежанок -лежан -лежан -лежан -лежат -лежа -лежа -лежа -лежа -лежа -леж -леж -леж -леж -леж -лез -лезв -лезв -лезв -лезгинк -лезет -лезеш -лезт -лезут -лейтмот -лейтмотив -лекар -лекарств -лекарств -лекарств -лекарств -лекарствен -лекарств -лексикон -лектор -лекц -лекц -лекц -лелеем -лелеет -лел -лелея -лен -лен -лен -лен -ленив -ленив -ленивец -ленив -ленив -ленив -ленив -ленив -ленив -ленив -ленив -ленив -ленив -лен -ленор -леност -леночк -лент -лент -ленточек -ленточк -лент -лент -лентя -лент -лен -лен -лен -лен -леонард -леонид -леонид -лепестк -лепет -лепета -лепета -лепет -лепечет -леп -леп -лепн -леп -леп -лермонт -лермонтов -лес -лес -лес -лес -лес -лесничеств -лесничеств -леснич -лесн -лесн -лесн -лес -лесок -лес -лест -лест -лестниц -лестниц -лестниц -лестниц -лестниц -лестниц -лестниц -лестничеств -лестн -лестн -лестн -лестн -лест -лест -лес -лет -лет -лета -лета -лета -лета -лета -лета -лет -лет -лета -лет -лета -летевш -летел -летел -летел -летет -лет -лет -лет -лет -лет -летн -летн -летн -летн -летн -летн -летн -летн -летн -летн -лет -лет -летопис -лет -летун -летуч -летуч -летуч -летуч -лет -лет -лечат -лечебниц -лечен -лечен -леч -леч -леч -леч -леч -леч -леч -леч -леш -леш -леш -лжет -лжет -лжеш -лжи -лжив -лжив -лжив -ли -либера -либерализм -либерал -либеральн -либеральн -либеральн -либ -ливен -ливингстон -ливр -ливр -ливрейн -ливре -лид -лид -лидиньк -лид -лид -лидочк -лидочк -лидочк -лидочк -лизавет -лизавет -лизаветин -лизаветин -лизавет -лизавет -лизавет -лизнет -лик -лик -лик -ликован -лик -лик -ликург -ликург -лил -лил -лил -лил -лил -лиллас -лилов -лилов -лилов -лилов -лил -лимон -лимоннича -лимон -линейк -линейк -линейк -лин -лин -лин -лин -лин -линор -линял -линя -лион -липк -липк -липк -липл -липов -липов -липов -липов -липов -липпевехзел -липп -лип -лип -лир -лирическ -лисиц -лиссабонск -лиссабонск -лист -лист -лист -лист -листик -листик -листк -листк -листк -листк -лист -листок -лист -листочк -лист -лист -лист -лист -лист -ли -литавр -литейн -литейн -литератор -литератор -литератор -литератор -литератур -литератур -литературн -литературн -литературн -литературн -литератур -литератур -литератур -лит -лит -лифчик -лих -лих -лихоманк -лихорадк -лихорадк -лихорадк -лихорадк -лихорадочн -лихорадочн -лихорадочн -лихорадочн -лихорадочн -лихорадочн -лихорадочн -лихорадочн -лихорадочн -лихорадочн -лиц -лиц -лиц -лиц -лиц -лицезрет -лицемерн -лиц -лиц -лиц -личек -личик -личик -личик -личик -личин -личн -личн -личн -личн -личн -личн -личност -личност -личност -личн -личн -личн -личн -личн -лиша -лиша -лишен -лишен -лишен -лишен -лишен -лишен -лиш -лиш -лиш -лиш -лиш -лиш -лишк -лишн -лишн -лишн -лишн -лишн -лишн -лишн -лишн -лиш -лиш -ло -лоб -лобзан -лобыза -ловелас -лов -лов -лов -лов -ловк -ловк -ловк -ловкост -ловк -ловл -ловушк -ловушк -ловушк -лов -лов -лог -логик -логик -логик -логиныч -логическ -логическ -логическ -логическ -логичн -логичн -лодк -лодк -лодк -лодк -лодочник -лодочник -лодочник -лож -лож -ложат -лож -ложек -лож -ложемент -ложечк -ложечк -ложечк -ложечк -лож -лож -лож -лож -лож -лож -лож -лож -лож -ложк -ложк -ложк -ложн -ложн -ложн -лож -лож -лож -лоз -лозунг -лозунг -локон -локончик -локончик -локот -локт -локт -локт -локт -локт -локт -лом -лома -лома -лома -лома -лома -ломал -ломан -лома -лома -лома -лома -лома -лом -ломбард -ломберн -ломберн -ломберн -лом -лом -ломк -ломк -ломов -ломов -лом -ломот -ломт -ломт -лом -лон -лондон -лондон -лондон -лон -лон -лопаст -лопаст -лопатк -лопат -лопахин -лопахин -лопахин -лопахин -лопнет -лопнувш -лопнул -лопнул -лорд -лорд -лорнет -лорнетк -лорнетк -лорнирова -лос -лоск -лоскутк -лоскутк -лоскутк -лоскутн -лоскуток -лоскут -лоскут -лосн -лосн -лосня -лососин -лососин -лот -лотере -лотер -лотер -лотк -лот -лохмат -лохмотник -лохмотник -лохмот -лохмот -лохмот -лохмот -лошад -лошаденк -лошаденк -лошаденк -лошад -лошадин -лошадк -лошадк -лошадк -лошад -лошадьм -лошад -лошад -лошад -луг -луг -луг -луг -луг -луж -луж -луж -лужин -лужин -лужин -лужинск -лужин -лужин -лужиц -лужиц -луж -луиз -лук -лук -лука -лукав -лукав -лукав -лукав -лукавл -лукав -лукав -лукав -лукав -лукав -лукавств -лукавств -лукавств -лукав -лукав -лукав -лукав -лукав -лукав -луковиц -лук -лукомор -лук -лун -лунатизм -лун -лун -лун -лун -лун -лун -лун -лун -лун -лун -лун -лун -луп -луч -луч -луч -луч -луч -лучезарн -луч -луч -лучинк -лучин -лучин -лучист -лучист -луч -лучш -лучш -лучш -лучш -лучш -лучш -лучш -лучш -лучш -лучш -лучш -лущ -лчат -лы -лыс -лысин -лысин -лысин -лысин -лыс -лыс -ль -львин -львин -львиц -львиц -львов -львович -львовн -льву -львы -льда -льдин -льдом -льет -льет -льзя -льнет -льном -льстец -льстив -льстив -льстив -льстил -льша -льшим -льших -льшу -льщу -льюис -льют -лю -люб -любв -любез -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любезн -любек -люб -люб -люб -люб -люб -люб -люб -любим -любимец -любимиц -любим -любим -любим -любим -любим -любимц -любимц -любим -любим -любим -любим -люб -люб -любител -любител -люб -люб -любл -люб -любова -любова -любова -любова -любов -любовник -любовник -любовник -любовник -любовниц -любовниц -любовниц -любовн -любовн -любовн -любов -любов -люб -люб -люб -любопыт -любопытн -любопытн -любопытн -любопытн -любопытн -любопытн -любопытн -любопытн -любопытн -любопытн -любопытн -любопытств -любопытств -любопытств -любопытств -люб -люб -любу -люб -люб -любя -любя -любя -любя -любя -любя -любя -люд -люд -людвиговн -людвиговн -людвиговн -люд -люд -людовик -люд -людск -людск -людск -людск -людск -людск -людск -людьм -люд -люд -люл -люстр -лютн -лют -лют -люциферов -ля -ляг -ляга -ляга -ляга -лягнул -ляг -лягут -лягушек -ляда -ляжет -ляжет -ляжеш -лязбил -лязг -лязга -ляп -м -ма -мавзол -маг -магазин -магазин -магазин -магазин -магазин -магазин -магарыч -магдалин -магистр -магическ -магнатск -магнетизер -магомет -магомет -магомет -мад -мадемуазел -мадер -мадер -мадон -мадон -мадон -мадон -ма -маевск -мает -маеш -мажет -мажорд -мажордом -маж -маза -маз -мазилк -мазнул -мазурик -мазурк -мазурк -мазурк -мазурк -маз -ма -майк -майор -майор -майор -майск -майск -майск -майск -мак -макарон -маклашин -маклер -маков -маков -мак -макушк -макушк -мал -мал -малан -мал -мал -мал -мал -мал -мал -мал -мал -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -маленьк -малин -малинк -малинов -малинов -малин -малин -малин -малицк -мал -маловажн -маловажн -мал -малограмотн -малодействен -малодуш -малодуш -малодуш -малодушн -малодушн -мал -мал -малолетн -малолетн -малолетн -мал -мал -малоподвижн -малостоя -малост -мал -мал -мал -мал -мал -мал -мальск -мальчик -мальчик -мальчик -мальчик -мальчик -мальчик -мальчишек -мальчишеск -мальчишеск -мальчишечк -мальчишк -мальчишк -мальчишк -мальчишк -мальчишк -мальчишк -мальчишк -мальчишк -мальчонк -мальчуга -малютк -малюток -малявочк -малявочк -маляр -маляр -мам -мама -мамас -мам -мамаш -мамаш -мамаш -мамаш -мамашин -мамаш -мам -маменьк -маменьк -маменьк -маменьк -мамк -мамочк -мам -мам -ман -манг -мандолин -мандолин -манер -манер -манер -манер -манер -манер -манер -манер -манжет -манжет -ман -ман -ман -ман -манир -ман -манифест -манишк -манишк -манишк -манкирова -манкирова -манкирова -манкирует -мансард -мансард -мантил -мантил -мантильк -мантильк -мантил -мант -манфред -маня -маргарит -марев -мар -марин -марин -маринова -марин -марин -марионетк -мар -мар -марк -маркиз -мармелад -мармелад -мармеладов -мармеладов -мармеладов -мармеладов -марсов -март -март -март -марф -марф -марф -марф -марф -марш -маршир -мар -мар -мар -мар -мар -марьяж -маск -маскарад -маскарад -маск -маск -маск -масл -маслениц -маслениц -маслениц -маслен -масл -масл -масл -маслян -масок -масс -массивн -массивн -массивн -массим -массис -масс -масс -масс -маст -мастер -мастериц -мастеров -мастеров -мастеров -мастер -мастерск -мастерск -мастерск -мастерск -мастерск -мастер -масштаб -матвевн -матвеевич -матвеевич -матвеевич -матвеевич -матвеевн -матвеевн -матвеевн -матвеевн -матвеевн -матве -матвеич -матвеич -матвеич -матв -математик -математик -математическ -математическ -математическ -математическ -математическ -матер -матер -материа -материа -материал -материал -материал -материал -материальн -материальн -материальн -материальн -материальн -матер -матер -матер -материнск -материнск -матер -матер -матерчат -матер -матер -матерьялистск -матов -матов -матов -мат -матр -матрос -матрос -матушк -матушк -матушк -матчиш -мат -маха -маха -мах -махнеш -махнув -махнул -махнул -мах -махочк -махочк -мах -мачех -мачех -мачех -мачех -мачт -мачт -маш -маш -маш -машеньк -машеньк -машеньк -машет -маш -машин -машин -машинальн -машин -машинист -машинк -машин -машин -машк -маш -ма -маяк -маяк -маятник -маятник -маятник -мая -маяч -мгла -мгле -мглист -мглист -мглист -мглист -мгло -мгло -мглу -мглы -мгновен -мгновен -мгновен -мгновен -мгновен -мгновен -мгновен -мгновен -мгновен -мгновен -мгновен -мгновен -ме -мебел -мебел -мебельн -мебельщик -меблирова -меблирова -мед -меда -медал -медальон -медальон -медал -медвед -медвед -медведенк -медведенк -медведенк -медведенк -медвед -медвед -медвеж -мед -медикамент -медик -медик -медицин -медицинск -медицинск -медицин -медицин -медлен -медлен -медлен -медлен -медлен -медлен -медлен -медлен -медлен -медл -медл -медл -медл -медлительн -медлительн -медл -медл -медн -медн -медн -медн -медн -медн -медн -медн -медн -медов -медов -мед -мед -мед -мед -меж -межд -меж -мездров -мейербер -мел -меланхолик -меланхолик -меланхолическ -меланхолическ -меланхолическ -меланхоличн -меланхол -меленьк -мелет -мелет -мелеют -мел -мелк -мелк -мелк -мелк -мелк -мелк -мелк -мелк -мелк -мелк -мелк -мелкоозабочен -мелкопоместн -мелк -мелод -мелодрам -мел -мелоч -мелоч -мелоч -мелоч -мелочн -мелочн -мелочн -мелочн -мелоч -мелоч -мелька -мелька -мелька -мелька -мелька -мелька -мелька -мелька -мелька -мелька -мелька -мелька -мелькнет -мелькнувш -мелькнувш -мелькнувш -мелькнул -мелькнул -мелькнул -мелькнут -мельк -мельник -мельниц -мельниц -мельниц -мельниц -мельничн -мельчайш -мельчайш -мельчайш -мельча -мел -мен -мен -мен -ментон -меньш -меньш -меньш -меньш -меньш -меньшинств -меньш -меньш -меньш -мен -меня -меня -меня -меня -меня -меня -меня -менял -меня -мен -мер -мер -мер -мер -мерещ -мерещ -мерещ -мерещ -мерещ -мерещ -мерещут -мерзавец -мерзавц -мерзк -мерзк -мерзк -мерзк -мерзл -мерзнут -мерзок -мерзост -мерзост -мерк -мерк -меркнет -мерк -мерлехлюнд -мерн -мерн -мерн -мерн -мерн -мер -мертв -мертв -мертв -мертв -мертвец -мертвец -мертвец -мертвец -мертвец -мертвец -мертвец -мертвечинк -мертв -мертв -мертв -мертв -мертв -мертв -мертв -мертв -мертв -мертв -мертвя -мер -мерца -мерцан -мерцан -мерцан -мерца -мерца -мер -мер -мер -мессианическ -мессин -месс -месс -мест -мест -мест -мест -мест -мест -местечк -местечк -мест -местност -местност -мест -мест -мест -местоположен -мест -мест -мест -месяц -месяц -месяц -месяц -месяц -месяц -месяц -мета -мета -металл -металлическ -металлическ -мета -метан -мета -мета -метафизик -метел -метелиц -метел -метельн -метел -метеор -метеш -мет -мет -метк -метлинск -метл -метнул -метнул -метнул -метод -метод -методическ -метр -мет -мех -мех -механизм -механик -механическ -мехмет -мех -мехов -мехов -мехов -мех -меч -меч -меч -мечет -мечет -меч -меч -мечт -мечта -мечта -мечта -мечта -мечта -мечта -мечта -мечта -мечт -мечт -мечтан -мечтан -мечтан -мечтан -мечтан -мечтан -мечтател -мечтательниц -мечтательн -мечтательн -мечтательн -мечтательн -мечтател -мечта -мечт -мечта -мечт -мечт -мечт -мечт -меч -мечут -мечут -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меша -меш -меш -мешка -мешк -мешк -мешк -мешок -меща -мещан -мещанин -мещанин -мещанинишк -мещанинишк -мещанинишк -мещанин -мещанк -мещанок -мещаночк -мещанск -мещанск -ми -миг -миг -мига -мига -мига -мига -мига -мига -мига -миг -миг -мигнет -мигн -мигнувш -мигнул -мигнут -миг -мигрен -мизерн -мизерн -мизерн -мизинц -микельанджел -микола -микола -микол -миколк -миколк -миколк -миколкин -миколк -миколк -микроб -микроскопическ -микроскопическ -микстур -мил -мил -милашк -мил -мил -мил -мил -миленьк -миленьк -миленьк -милитрис -милитрис -миллиард -миллион -миллион -миллион -миллионер -миллионер -миллион -миллион -миллион -миллион -мил -милова -мил -мил -мил -милосерд -милосерд -милосерд -милосерд -милосердн -милосердн -милосердн -милосердн -милосерд -милосерд -милост -милост -милостив -милостив -милостив -милостив -милостисдар -милост -милостын -милостын -милост -милочк -мил -мил -мил -мил -мил -мильон -милюк -милютин -мим -мимик -мим -мимолетн -мимолетн -мимолетн -мимоход -миндал -миндал -миндал -минерал -минет -министерств -министерств -министр -министр -министр -министр -министр -минова -минова -минова -минова -минова -минова -минова -минова -мин -мин -минувш -минувш -минувш -минувш -мин -минул -минус -минут -минут -минут -минут -минут -минутк -минутк -минутн -минутн -минутн -минутн -минутн -минут -минуток -минуточк -минут -минут -минут -мин -мину -мин -миньятюрн -мир -мир -мираж -мираж -мираж -мир -мир -мир -мир -мир -мир -мир -мир -мирн -мирн -мирн -мирн -мирн -мирн -мирн -мир -миров -миров -миров -миров -миров -миров -миров -миролюбив -мир -мирт -мирт -мир -мир -мирян -мир -мисс -мистик -мистифицирова -мистическ -мистическ -мистическ -митре -митр -митре -митрофаниевск -митьк -митьк -митьк -митьк -миха -миха -михайл -михайлович -михайловн -михайловн -михайловн -михайловск -михайлыч -михайлыч -михе -мих -мих -михе -мицкевич -мичман -миш -миш -мишел -миш -мишур -млад -младенец -младенц -младенц -младенц -младенц -младенческ -младенческ -младост -младш -младш -младш -младш -младш -млад -млет -мне -мнен -мнен -мнен -мнен -мнен -мнен -мнет -мнител -мнительн -мнительн -мнительн -мног -мног -мног -мног -мног -мног -многодумн -мног -многознаменател -многозначительн -многоколон -многократн -многократн -многолюдн -многолюдств -мног -мног -многообеща -многообеща -многообразн -многопен -многоразличн -многоразличн -многоречив -многословн -многосторон -многотрудн -многотрудн -многоуважа -многоуважа -многоуважа -многоуважа -многоцветн -многочислен -многочислен -многочислен -многочислен -многочислен -многочислен -многоэтажн -многоярусн -множествен -множеств -множеств -множ -мноз -мно -мно -мня -мо -мов -мовщин -мог -мог -мог -могил -могилк -могилк -могилк -могилк -могил -могил -могил -могил -могильн -могильн -могильн -могильн -могильщик -могл -могл -могл -мог -могут -могуч -могуч -могуч -могуч -могуч -могущ -могуществ -могущ -мод -мод -модел -модел -модистк -модн -модничан -модн -модн -модн -модн -модн -мо -мо -мо -мо -мо -моет -моет -мо -мож -можед -мож -может -может -можеш -можн -моза -мозг -мозг -мозг -мозг -мозол -мо -мо -мо -моисеич -мо -мо -мокк -мокр -мокр -мокр -мокр -мокрот -мокрот -мокр -мокр -мокр -мокр -мокр -мокр -мокр -мол -молв -молв -молв -молв -молв -молв -молв -молеб -мол -мол -мол -мол -мол -мол -мол -мол -мол -молитв -молитв -молитв -молитвен -молитвен -молитв -молитв -молитв -мол -мол -мол -мол -молн -молниеносн -молниеносн -молн -молн -молн -молн -молн -молод -молод -молод -молодеет -молодеж -молодеж -молоденьк -молоденьк -молоденьк -молодец -молод -молод -молод -молод -молод -молод -молод -молод -молод -молод -молодц -молодцеват -молодц -молод -молод -молод -молод -молод -моложав -моложав -молож -молок -молок -молок -молокосос -молокосос -молокосос -молол -молот -молотк -молот -молочниц -молочн -молочн -молочн -молч -молча -молча -молча -молча -молчалив -молчалив -молчалив -молчалив -молчалив -молчалив -молчалив -молчалив -молчалив -молчан -молчан -молчан -молчан -молчан -молчановк -молчат -молча -молч -молч -молч -молч -молч -молч -мол -мольб -мольб -мольб -мольб -мол -мол -мол -моля -момент -момент -момент -монастыр -монастыр -монастырск -монастыр -мон -монах -монах -монах -монах -монашк -монбла -монет -монетк -монет -монетчик -монет -монист -монолог -монолог -монолог -монома -мономан -мономан -мономан -мономан -монома -монопол -монотон -монотон -монотон -монтирова -монумент -монументальн -монументальн -мопасса -морал -моральн -морга -морг -морд -морд -морд -мор -мор -морков -морков -морков -моров -морожен -морожен -мороз -мороз -мороз -мороз -морозн -морозн -морозн -морозн -морозц -мороз -мороч -мороч -морск -морск -морск -морск -морск -морск -морск -морск -морск -морф -морф -морщ -морщат -морщ -морщ -морщ -морщин -морщин -морщин -морщинист -морщинк -морщин -морщин -морщ -морщ -мор -мор -мосеич -москв -москв -москв -москв -москв -москв -московск -московск -московск -московск -московск -московск -московск -мост -мост -мост -мост -мостик -мостк -мостк -мост -мостов -мостов -мостов -мостов -мост -мост -мост -мос -мота -мота -мота -мот -мотор -мотьк -мох -мохнат -мохнат -мохнат -моцарт -моцион -моцион -мочальн -мочен -моч -моч -мочк -моч -мошенник -мошенник -мошенник -мошенник -мошенническ -мошенническ -мошенничеств -мощн -мо -мо -мрак -мрак -мрак -мрак -мрак -мрамор -мраморн -мраморн -мрач -мрач -мрач -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мрачн -мстил -мстител -мстител -мстительн -мстит -мстят -мсье -му -мудр -мудр -мудр -мудрен -мудрен -мудрен -мудрен -мудрен -мудрец -мудрец -мудр -мудр -мудр -мудр -мудрост -мудрств -мудр -муж -муж -муж -муж -муж -мужеств -мужествен -мужествен -мужествен -мужествен -мужествен -мужествен -мужествен -мужеств -мужик -мужик -мужик -мужик -мужик -мужик -мужик -мужик -мужик -мужичк -мужичк -мужичок -мужич -мужн -мужнин -мужнин -мужнин -мужск -мужск -мужск -мужск -муж -мужчин -мужчин -мужчин -мужчин -мужчин -муж -муж -муж -муз -муз -муз -муз -музык -музыкальн -музыкальн -музыкальн -музыкант -музыкант -музыкант -музыкант -музык -музык -музык -музык -мук -мук -мук -мук -мук -мук -мук -мундир -мундир -мундир -мундштук -мурав -муравейник -мурав -муравьин -мурашин -мурашк -мурлыка -мурлыч -мурлычут -муромц -мус -мускул -мускулист -мускул -мускул -мускульн -мускульн -мускульн -муссинск -муссинск -мус -мут -мут -мут -мут -мутн -мутн -мутн -мутн -мутн -мутн -мут -мут -мух -мух -мух -мухояр -мухояров -мух -муча -муча -муча -муча -муча -муча -муча -муча -муча -муч -мучат -муча -муча -муча -муч -муч -мучен -мучен -мучен -мученичеств -мучен -мучен -мучен -мучен -мучен -муч -муч -муч -муч -муч -муч -муч -мучим -муч -мучител -мучител -мучительн -мучительн -мучительн -мучительниц -мучительн -мучительн -мучительн -мучительн -мучительн -мучительн -мучительн -мучительн -мучительн -мучительн -мучительн -мучительн -мучител -муч -муч -муч -муч -муч -муч -мучнист -мучн -мучт -муч -муч -мучьт -мучьт -мхов -мчал -мчал -мчат -мчат -мчит -мчит -мщен -мщен -мы -мыка -мыка -мыка -мыка -мыл -мыл -мыл -мыл -мыльн -мысл -мыслен -мыслен -мысл -мысл -мысл -мыслител -мыслител -мыслительн -мыслительн -мыслител -мыслител -мысл -мысл -мысл -мысл -мысл -мысл -мысл -мысл -мысл -мысля -мысля -мыт -мыт -мыт -мыт -мыч -мыш -мыш -мыш -мышк -мышк -мышлен -мышонк -мышц -мыш -мыш -мэр -мюнхенск -мягк -мягк -мягк -мягк -мягк -мягк -мягк -мягк -мягк -мягк -мягк -мягк -мягк -мягкост -мягкост -мягкост -мягок -мягч -мяс -мясист -мясник -мясник -мясник -мясник -мясн -мясн -мяс -мясоед -мятеж -мятеж -мятежн -мятежн -мятежн -мятежн -мятежн -мятежн -мят -мят -мячик -н -на -набав -набалдашник -набат -набат -набега -набега -набег -набега -набега -набежа -набежа -набекрен -набережн -набережн -набережн -набережн -наберет -набер -наберут -набива -набива -набира -набира -наб -набит -набит -набит -набит -набит -наблюда -наблюда -наблюда -наблюда -наблюда -наблюда -наблюда -наблюдател -наблюдательн -наблюдател -наблюда -наблюда -наблюда -наблюд -наблюден -наблюден -наблюден -наблюден -наблюден -набожн -набок -наболевш -наболел -набол -наборн -набра -набра -набра -набрасыва -набрасыва -набра -набра -набрел -наброса -наброса -наброса -наброс -наброс -наброс -наброс -наброс -наброс -наброск -наважден -навален -навал -навал -навал -навар -наведа -наведа -навед -наведыва -наведыва -наведыва -навек -навек -навел -навел -навел -навел -наверн -наверн -навернул -навертел -наверх -наверх -наверч -навес -навесел -навес -навес -навест -навест -навест -навет -навеша -навеща -навея -навзнич -навзрыд -навин -нависа -нависл -навлеч -навод -навод -навод -навод -навод -навод -наводнен -наводнен -навод -навоз -наволочк -наволочк -навостр -навостр -навостр -навостр -навра -навра -навсегд -навстреч -навыворот -навык -навыкат -навяза -навяза -навяза -навязчив -навязыва -навязыва -навязыва -навязыва -наг -нагиба -нагиба -нагиба -нагиб -нагл -нагл -наглост -наглост -наглост -наглух -нагл -нагл -нагл -наглядел -наглядел -наглядн -нагна -нагнет -нагн -нагнув -нагнувш -нагнул -нагнул -нагнул -нагн -нагнут -наговарива -наговор -наговор -наговор -наговор -наг -нагон -нагорн -наготов -нагот -наград -наград -наград -наград -наград -наград -награжда -награжд -награжден -награжд -нагреет -нагроможден -нагруб -нагруб -нагрудник -нагружа -нагрязн -нагрянет -нагрянул -над -надава -нада -надар -надбавля -надвига -надвинул -надв -надворн -надворн -надворн -надворн -надвяж -надвяж -надвяза -над -надева -надева -надева -надева -надева -надева -надев -наде -надеет -надеет -надежд -надежд -надежд -надежд -надежд -надежд -надежд -надежд -надежд -надежн -надежн -над -надел -надел -надела -надела -надела -надела -надел -наденет -наденет -наденеш -наден -наден -наденьт -надер -надет -надет -надет -надет -надет -надет -надет -над -надеют -надея -надея -надея -наде -надея -надзирател -надзирательниц -надзирател -надзирател -надзор -надив -надлежа -надлежа -надмен -надмен -надмен -надмен -надмен -надмен -надмен -надмен -над -надоб -надоб -надобн -надобн -надобн -надобн -надобн -надоеда -надоеда -надоеда -надоеда -надоедл -надоед -надоел -надоел -надоел -надоел -надо -надоест -надоест -надолг -надорва -надорва -надорва -надот -надписа -надп -надпис -надруга -надругательств -надрыва -надрыва -надрыва -надрыв -надсажд -надседа -надсон -надстройк -надтреснут -надув -надува -надуван -надува -над -над -надуеш -надул -надул -надул -надума -надума -надума -надума -надума -надума -надут -надут -надут -надушен -надуш -над -надыша -наедин -наездник -наездниц -наемн -наеха -нажива -наживеш -наж -нажима -нажима -наж -нажм -назад -назад -назва -назва -назва -назва -назван -назван -назван -назван -назван -назван -назва -назем -назидан -назидан -назидательн -назл -назнача -назнача -назнача -назнача -назнача -назнача -назнача -назнача -назнача -назначен -назначен -назначен -назначен -назначен -назначен -назначен -назначен -назнач -назнач -назнач -назнач -назнач -назнач -назовет -назовет -назовеш -назов -назовут -назойлив -назойлив -назойлив -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -называ -назыв -назюзюка -наибесполезн -наибеспрерывн -наиблагородн -наибол -наив -наивн -наивн -наивност -наивн -наивн -наивн -наивн -наивн -наигрыва -наигрыв -наизнанк -наизуст -наименьш -наиполезн -наиприличн -наиск -наит -наихитр -найд -найд -найд -найд -найд -найдет -найдет -найдет -найдеш -найд -найд -найд -найдут -найдут -найд -найм -наймет -наймеш -найм -найм -найм -найт -накажет -наказа -наказа -наказа -наказан -наказан -наказан -наказа -наказ -наказыва -наказыва -наказыва -наказыва -наканун -накапа -накарка -накидыва -накинет -накинет -накинув -накинул -накинул -накинул -накинул -накинут -накинут -накинут -накипа -накипевш -накип -накладет -накладыва -накладыва -накладыва -наклевыва -наклеен -накле -наклепа -наклон -наклонен -наклонен -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклон -наклоня -наклон -наклон -наклон -накол -наколет -наконец -накоп -накоп -накопля -накорм -накорм -накорм -накормл -накорм -нак -накошен -накрахмален -накрахмал -накрепк -накрест -накрич -накроют -накрыва -накрыва -накрыва -накрыва -накрыва -накрыва -накр -накр -накр -накр -накр -накрыт -накр -накупл -накур -накур -накуролес -налага -налага -налага -налад -налад -налга -налев -налег -налег -налегк -належа -налезл -налеп -налет -налетевш -налетел -налетел -налетел -налет -налива -налива -налива -налива -налива -налив -наливк -наливн -нализа -нал -налинова -налит -нал -налиц -наличн -наличн -наложен -налож -налож -наложниц -нал -налюб -налюбуеш -налюб -нам -намаза -намахива -намахнул -намачив -намашет -намедн -намеднишн -намек -намек -намека -намека -намека -намека -намека -намек -намек -намека -намека -намек -намек -намекнул -намек -намек -намелет -намелк -наменя -намерева -намерев -намер -намер -намерен -намерен -намерен -намерен -намерен -намерен -намерен -намерен -намерен -намерен -намер -намер -намета -намет -намечта -нам -намок -наморщ -намота -намоч -нанес -нанесен -нанесен -нанесет -нанест -нанима -нанима -нанима -нанима -нанима -нанков -нанос -нанос -наносн -наносн -наня -наня -наня -наня -нанят -нанят -наня -наобеща -наоборот -наобум -наотмаш -наотрез -напада -напада -напад -нападен -напа -напа -напасеш -напаст -нап -напев -напева -напев -напева -напев -напев -напекл -напекут -напел -напер -наперв -напереб -наперед -наперекор -наперер -напечата -напечата -напечата -напечата -напечата -напечет -напива -напива -напива -напива -нап -нап -нап -напира -напира -напира -напир -написа -написа -написа -написа -написа -написа -написа -написа -написа -написа -написа -написа -написа -напита -напитк -напиток -напитыва -нап -напиха -напишет -напишеш -напиш -напиш -напиш -напишут -наплака -наплева -наплева -наплыва -напляса -наподлича -напоен -напо -напо -напо -нап -напоказ -наполеон -наполеон -наполеон -наполеоновск -наполеон -наполза -наползет -наполн -наполнен -наполнен -наполнен -наполнен -наполнен -наполнен -наполн -наполн -наполн -наполн -наполн -наполн -наполн -наполн -наполн -наполняем -наполня -наполня -наполня -наполня -наполня -наполня -наполня -наполня -наполн -наполовин -напомад -напомад -напомажен -напомина -напомина -напомина -напомина -напомина -напоминан -напомина -напомина -напомина -напомина -напомин -напомн -напомн -напомн -напомн -напомн -напомн -напомн -напомн -напомн -напор -напор -напорет -нап -напо -направ -направ -направ -направ -направ -направл -направлен -направлен -направлен -направлен -направлен -направл -направл -направля -направля -направл -направ -направ -напрасн -напрасн -напрасн -напрасн -напрасн -напрасн -напрасн -напрашива -напрашива -напрашива -например -напролет -напрост -напрот -напряга -напряга -напряга -напряга -напряг -напряг -напрягут -напрягш -напряжен -напряжен -напряжен -напряжен -напряжен -напряжен -напряжен -напряжен -напряжен -напряжен -напряж -напуга -напуга -напуга -напуга -напуга -напуга -напуга -напудрен -напужа -напускн -напускн -напускн -напуст -напуст -напута -напута -напутств -напутств -напущен -напьет -нап -наравн -нараспашк -нараста -нараста -нарастан -нараста -нар -нарв -нареза -нарисова -нарисова -нарисова -нарисова -нарисова -наркотическ -народ -народ -народ -народец -народниц -народн -народн -народ -народовольческ -народ -народонаселен -народ -народ -народ -нарочн -наруж -наружн -наружн -наружн -наружн -наружн -наружн -наружн -наружн -наружн -наружн -наруж -нарукавничк -нарумянен -наруша -наруша -наруша -наруша -наруша -наруша -наруша -наруша -наруш -наруш -нарушен -нарушен -наруш -наруш -наруш -наруш -наруш -нарушител -наруш -наруш -наруш -нарциз -нар -нарыва -нарыва -наряд -наряд -наряд -наряд -наряд -нарядн -нарядн -нарядн -наряд -наряжа -наряжа -наряжа -нас -насад -насад -насвистыва -наседк -наседк -наседк -наседк -насеком -насел -населен -населен -населен -населен -насел -насел -насердк -насид -насил -насил -насил -насилова -насил -насильн -насильствен -насильствен -насильствен -насильствен -насильствен -насил -насказа -насквоз -наскольк -наскор -наскоч -наскучива -наскуч -наскуч -наслажда -наслажда -наслажда -наслажда -наслажда -наслажда -наслажда -наслажда -наслажда -наслажд -наслажден -наслажден -наслажден -наслажден -наследник -наследник -наследник -наследова -наследова -наследств -наследствен -наследств -наследств -наслыша -наслышк -насме -насмерт -насмеха -насмеха -насмешек -насмеш -насмеш -насмешк -насмешк -насмешк -насмешк -насмешк -насмешл -насмешлив -насмешлив -насмешлив -насмешлив -насмешлив -насмешлив -насмешлив -насмешлив -насмешлив -насмешлив -насм -насмея -насмотрел -насол -наспа -настава -настава -настав -наставительн -наставлен -наставлен -наставл -наставля -наставниц -наста -настаива -настаива -настаива -настаива -настаива -настаива -настаива -настаива -наста -наста -наста -наста -настанет -настанут -настас -настас -настас -настас -настасьюшк -настас -настеж -настеньк -настига -настла -настоен -насто -насто -настойчив -настойчив -настойчив -настойчив -настойчив -настойчив -настойчив -настойчив -настойчив -настойчив -настольк -настоя -настоя -настоян -настоя -настоятельн -настоятельн -настоя -настоя -настоя -настоя -настоя -настоя -настоя -настоя -настоя -настоя -настоя -настоя -настраива -настраива -настр -настроен -настроен -настроен -настроен -настроен -настро -настро -настро -настро -настро -настройщик -настроч -настуд -настуд -наступа -наступа -наступа -наступ -наступ -наступ -наступ -наступ -наступ -наступлен -насущн -насущн -насущн -насущн -насущн -насчет -насыла -насыл -насып -насып -насядет -натал -натал -натал -наташ -наташ -наташ -наташ -наташ -натащ -натащ -нат -натекл -натерпел -натерпел -натерт -наткнул -натолкнут -натолоч -натоплен -натопта -наточ -натружен -натуг -натур -натурализм -натуральн -натуральн -натуральн -натуральн -натуральн -натур -натур -натур -натур -натыка -натыка -натягива -натягива -натяжек -натянул -натянул -натянут -натянут -натянут -наугад -наук -наук -наук -наук -наук -наук -наук -наумыч -наутр -науч -науч -науч -науч -науч -науч -науч -науч -науч -научн -научн -науч -наущен -нафталин -нафталин -наха -нахальн -нахальн -нахальн -нахальн -нахальств -нахальств -нахальств -нахвата -нахвата -нахлебник -нахлеста -нахлобуч -нахмурен -нахмурен -нахмурен -нахмурен -нахмурен -нахмурен -нахмур -нахмур -нахмур -нахмур -нахмур -нахмур -наход -наход -наход -наход -наход -наход -наход -наход -наход -наход -наход -наход -наход -наход -наход -находк -находчив -наход -наход -наход -наход -находя -нахож -нацарапа -нац -нац -национальн -национальн -нац -нац -нача -нача -нача -нача -нача -нача -начал -нача -начал -нача -нача -нача -начал -нача -нача -начальник -начальник -начальник -начальник -начальник -начальник -начальниц -начальниц -начальниц -начальств -начальств -начальств -начальств -начатк -начат -начат -нача -начерн -начерта -начерта -начерта -начерта -начерта -начерта -начерт -начест -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начина -начинан -начина -начина -начина -начина -начина -начина -начина -начин -начинен -начинк -начинк -начист -начистот -начн -начнет -начнет -начнет -начнеш -начн -начн -начнут -начнут -начуд -наш -наш -наш -наш -наш -нашел -нашел -наш -наш -нашептыва -нашептыва -нашеств -нашеств -наш -наш -наш -наш -нашл -нашл -нашл -нашл -нашл -нашл -наш -нащипа -нащупа -наяв -наяд -не -неаккуратн -неаккуратн -неаполитанск -неб -неб -небелен -небес -небес -небес -небес -небес -небесн -небесн -небесн -небесн -небесн -небесн -небесн -небесполезн -неблаговолен -неблагодар -неблагодарн -неблагодарн -неблагодарн -неблагодарн -неблагодарн -неблагодарн -неблагонадежн -неблагонамерен -неблагополучн -неблагоприятн -неблагородн -неблагородн -неблагородств -неблагосклон -небледнеющ -неб -небогат -небогат -небожител -небойк -неб -небольш -небольш -небольш -небольш -небольш -небольш -небольш -небольш -небольш -неб -небосклон -небосклон -неб -небреж -небрежн -небрежн -небрежн -небрежн -небрежн -небрежн -небрежн -небрежн -небрежн -небрежн -небрежн -небрит -небрит -небрит -неб -небывал -небывал -небывал -небывал -небывал -небывал -небывал -небывал -небывал -небывальщин -небылиц -небыт -нев -неважн -неважн -неважн -неважн -неважн -невдомек -нев -неведен -неведен -невед -неведом -неведом -неведом -неведом -неведом -неведом -неведом -неведом -невежд -невежд -невежеств -невежеств -невеж -невежлив -невежлив -невежлив -невелик -невелик -невелик -невеликодушн -невер -неверн -неверн -неверн -неверн -неверн -неверн -невероятн -невероятн -невероятн -невероятн -невер -невер -невер -невесел -невесел -невесел -невест -невест -невестк -невестк -невест -невест -невест -невест -невзгод -невзнача -невзрачн -невида -невида -невида -невида -невидим -невидим -невидим -невидим -невидим -невидим -невин -невин -невин -невин -невин -невин -невин -невин -невин -невин -невин -невин -невин -невиновн -невменя -невниман -невнимательн -невнятн -невод -невозвратим -невозвратим -невозвратн -невозвратн -невозвратн -невозвратн -невозвратн -невоздержан -невозмож -невозможн -невозможн -невозможн -невозможн -невозможн -невозможн -невозможн -невозможн -невозмутим -невозмутим -невозмутим -невозмутим -невозмутим -невозмутим -невозмутим -нев -невол -невол -невол -невольн -невольн -невольн -невольн -невольн -невольн -невольн -невольн -невообразим -невоскресш -невоспита -нев -невпопад -невред -невредим -невредим -невредим -невск -невск -нев -нев -невыгодн -невыкуплен -невынос -невыносим -невыносим -невыносим -невыносим -невыносим -невыносим -невыносим -невыразим -невыразим -невыразим -невыразим -невыразим -невыразим -невысказа -невысок -невысок -невыстоя -невысыха -невыторгова -нег -негада -негада -негд -нег -нег -негибнущ -неглубок -неглуп -неглуп -неглуп -нег -неговорл -негодн -негодн -негодн -негодн -негодован -негодован -негодован -негодован -негоду -негодя -негодя -негод -нег -негоциант -неграциозн -негреющ -негреющ -негромк -негромк -негр -негуст -недавн -недавн -недавн -недавн -недавн -недавн -недавн -недавн -недавн -недавн -недалек -недалечк -недальн -недальн -недар -недвижим -недворянин -недел -недел -неделикатн -неделикатн -неделовит -неделов -недел -недельк -недел -недел -недел -недетск -недетск -недлин -недобор -недобровольн -недобр -недоброжелател -недоброжелательств -недоварен -недовар -недовер -недовер -недоверч -недоверчив -недоверчив -недоверчив -недоверчив -недоверчив -недоверчив -недоверчив -недоверчив -недовол -недовольн -недовольн -недовольн -недовольн -недовольн -недовольств -недовольств -недогадлив -недоглядел -недогляд -недогляд -недозрел -недоимк -недоимк -недокончен -недолг -недоноск -недоразумен -недор -недосказа -недосказа -недостава -недоста -недоста -недостатк -недостатк -недостатк -недостатк -недостаток -недостаточн -недостижим -недостоин -недостойн -недостойн -недостойн -недостойн -недостойн -недостойн -недоступн -недоступн -недоступн -недоступн -недоступн -недоступн -недосяга -недосягаем -недосяга -недосяга -недотеп -недотрог -недоумева -недоумева -недоумев -недоумен -недоумен -недоумен -недоумен -недоумен -недоумен -недоумен -недоуч -недочита -недр -недр -недремлющ -недрогнувш -недруг -недружелюбн -недуг -недуг -недуг -недурн -недурн -не -неестествен -неестествен -неестествен -неж -нежат -нежда -нежда -нежда -нежда -нежел -неж -неженск -нежив -нежив -нежинск -неж -неж -нежливеньк -нежн -нежн -нежн -нежн -нежн -нежн -нежн -нежн -нежн -нежн -нежн -нежн -нежност -нежност -нежност -нежн -нежн -нежн -нежн -нежн -нежн -нежн -незабвен -незабвен -незабыва -незабыва -незабыва -независим -независим -независим -независим -независим -независим -независя -незадолг -незажива -незакон -незакон -незаметн -незаметн -незаметн -незаметн -незаметн -незапамятн -незапамятн -незаперт -незапятна -незаработа -незаработа -незаслужен -незаслужен -незастенчив -незатейлив -незач -незван -незван -незвучн -нездешн -нездешн -нездешн -нездешн -нездор -нездоров -нездоров -нездоров -нездоров -нездоров -нездоров -нездоров -нездоров -неземн -неземн -неземн -неземн -незлобн -незна -незнак -незнакомец -незнаком -незнаком -незнаком -незнаком -незнаком -незнакомств -незнаком -незнакомц -незнаком -незнаком -незнаком -незнаком -незнан -незнан -незнача -незначительн -незначительн -незначительн -незр -незрим -незрим -незрим -незрим -незыблем -неизбежн -неизбежн -неизбежн -неизбежн -неизбежн -неизбежн -неизбежн -неизбежн -неизбежн -неизбежн -неизбежн -неизведа -неизвест -неизвестн -неизвестн -неизвестн -неизвестн -неизвестн -неизвестн -неизвестн -неизвестн -неизвестн -неизвестн -неизвестн -неизгладим -неизгладим -неизлечим -неизлечим -неизлечим -неизмен -неизмен -неизмен -неизмен -неизменя -неизмерим -неизречен -неизъясним -неизъясним -неизъясним -неимен -неимоверн -неимоверн -неимоверн -неинтересн -неинтересн -неискусн -неисполнен -неисправ -неисправим -неисправим -неисправн -неистин -неистов -неистов -неистов -неистов -неистов -неистов -неистощим -неистощим -неистребим -неистребим -неисходн -неисходн -не -нейд -нейдет -нейдут -нейрастен -нейт -нек -нек -некогд -нек -неко -некоммерческ -нек -некончен -некончен -некормлен -некотор -некотор -некотор -некотор -некотор -некотор -некотор -некотор -некотор -некотор -некотор -некотор -некотор -некошен -некрасив -некрасив -некрасив -некрасив -некрасив -некраснеющ -некрасов -некрашен -некрепк -некрепок -некстат -нект -некуд -некуплен -нек -неладн -неласков -неласков -нелегк -нелегк -нелегк -нелеп -нелеп -нелеп -нелеп -нелеп -нелеп -нелеп -нелеп -нелеп -нелеп -нелеп -нелжив -нелицемерн -неловк -неловк -неловк -неловк -неловк -неловк -неловк -неловк -неловк -неловок -неложн -нельз -нельк -нелюбим -нелюбов -нем -немал -нема -немедлен -немедлен -немедлен -немедлен -немедлен -немеет -немезид -немел -немеркнущ -немеркнущ -немец -немецк -немецк -немецк -немецк -немецк -немецк -немецк -немецк -немецк -немецк -немилосердн -неминуем -неминуем -неминуем -неминуем -неминуч -немк -немк -немк -немк -немног -немног -немног -немн -немножечк -немножк -нем -нем -нем -немок -немолод -немолод -немолод -немолод -немолчн -нем -немот -немотств -немоч -немощ -немощен -немощен -нем -немудрен -немудр -немудрен -немудр -нем -немц -немц -немц -немц -немц -немц -нем -нем -немыслим -немыслим -немыт -немыт -немыт -нем -ненавидел -ненавидел -ненавидел -ненавидет -ненавид -ненавид -ненавид -ненавид -ненавид -ненавиж -ненавист -ненавист -ненавист -ненавистн -ненавистн -ненавистнича -ненавистн -ненавистн -ненавистн -ненавистн -ненавистн -ненавистн -ненавист -ненавист -ненаглядн -ненаглядн -ненаглядн -ненаглядн -ненадежн -ненадежн -ненадолг -ненарок -ненарушим -ненарушим -ненарушим -ненастн -ненастн -ненаст -ненасытим -ненасытим -ненасытн -ненасытн -ненатуральн -ненормальн -ненормальн -ненужн -ненужн -ненужн -ненужн -ненужн -ненужн -ненужн -ненужн -ненужн -ненужн -необдума -необдума -необита -необита -необозрим -необозрим -необозрим -необозрим -необразова -необразова -необузда -необход -необходим -необходим -необходим -необходим -необходим -необходим -необходим -необходим -необходим -необходим -необходим -необходим -необходим -необъясним -необъясним -необъясним -необъясним -необъятн -необъятн -необъятн -необъятн -необъятн -необъятн -необъятн -необъятн -необыден -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необыкновен -необычайн -необычайн -необычайн -необычайн -необычайн -необычайн -необычн -неоднократн -неоднократн -неодобрен -неодолим -неодушевлен -неожида -неожидан -неожида -неожида -неожида -неожида -неожидан -неожида -неожида -неожидан -неожида -неожида -неожида -неожида -неокончен -неокрепш -неопас -неопасн -неописан -неописа -неописа -неописа -неопределен -неопределен -неопределен -неопределен -неопределен -неопределен -неопределен -неопределен -неопровержим -неопрят -неопрятн -неопрятн -неопрятн -неопытн -неопытн -неопытн -неопытн -неопытн -неосновательн -неоспорим -неосторожн -неосторожн -неосторожн -неосторожн -неосторожн -неосторожн -неосторожн -неосторожн -неостроум -неосуществим -неосуществим -неотвратим -неотвратим -неотвязн -неотвязн -неотвязчив -неотвязчив -неотдела -неотеса -неоткуд -неотлагательн -неотлагательн -неотлагательн -неотлучн -неотраз -неотразим -неотразим -неотразим -неотразим -неотразим -неотразим -неотразим -неотсрочим -неотступн -неотступн -неотступн -неотступн -неотъемлем -неохот -неохотн -неохот -неохот -неоценен -непарадн -неплотн -непобедим -непобедим -непобедим -неповин -неповоротлив -неповоротлив -неповторим -непогибш -непогод -неподалек -неподвиж -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподвижн -неподдельн -неподдельн -неподкупн -неподкупн -неподобн -неподража -неподражаем -неподходя -непозволительн -непоказа -непокладн -непокойн -непокойн -непоколебим -непоколебим -непоколебим -непокорн -непокрыт -неполнот -неполн -неположен -непомерн -непомерн -непомерн -непониман -непонят -непонятлив -непонятлив -непонятн -непонятн -непонятн -непонятн -непонятн -непонятн -непонятн -непонятн -непорядк -непорядочн -непосвящен -непосильн -непослушн -непосредствен -непосредствен -непосредствен -непостижим -непостижим -непостижим -непот -непотребн -непохож -непохож -непочтительн -непочтительн -неправд -неправд -неправедн -неправильн -неправильн -неправильн -неправильн -неправильн -неправильн -неправлен -неправ -непредвиден -непреклон -непреклон -непрекраща -непреложн -непрем -непремен -непремен -непреодолим -непрерывн -непрерывн -непрерывн -непрерывн -непрерывн -непреста -непривилегирова -непривлекательн -непривычк -непривычн -непривычн -непривычн -непривычн -неприготовлен -непризна -непризна -неприкосновен -неприкосновен -неприлич -неприличн -неприличн -неприличн -неприличн -неприличн -неприметн -неприметн -непримирим -непринужден -непринужден -неприступн -неприступн -неприступн -непритворен -непритворн -непритворн -непритворн -непричаст -непричеса -неприязнен -неприязн -неприятел -неприятельск -неприятельск -неприят -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -неприятн -непробудн -непробудн -непробудн -непробудн -непробудн -непробудн -непроглядн -непроглядн -непродажн -непродолжительн -непроезж -непролазн -непроницаем -непроницаем -непроницаем -непроница -непроница -непростительн -непростительн -непростительн -непростительн -непроходим -непроч -непрошен -непрошен -непрядв -непрядв -непутн -неравенств -неравн -неравнодуш -нераден -нерадостн -неразборчив -неразвернувш -неразвит -неразвит -неразгада -неразговорч -неразговорчив -неразделен -нераздельн -неразлучн -неразлучн -неразреза -неразреша -неразрешен -неразреш -неразрешим -неразрешим -неразрешим -неразрыва -неразрывн -неразрывн -неразрывн -нерасположен -нерасчетлив -нерв -нерв -нервическ -нервическ -нервическ -нервическ -нервн -нервн -нервн -нервн -нервн -нервн -нервн -нервн -нервн -нерв -нерв -нередк -нерешен -нерешим -нерешительн -нерешительн -нерешительн -нерешительн -нерешительн -нерешительн -неровн -неровн -нерукотворн -нерях -нес -несб -несбыточн -несбыточн -несбыточн -несбыточн -несбыточн -несбыточн -несвеж -несвеж -несвеж -несветск -несвойствен -несвяза -несвязн -несвязн -несгора -несдоброва -несерьезн -несессер -несессер -несет -несет -несет -несеш -нес -несказ -несказа -нескладн -нескладн -нескладн -нескольк -нескольк -нескольк -нескольк -несконча -несконча -несконча -несконча -нескромн -нескромн -нескрыва -нескрыва -нескучн -несл -неслаб -несл -несл -несл -неслиян -несл -несловоохотл -несл -неслуша -неслыха -неслыха -неслыха -неслыха -неслыха -неслыха -неслыха -неслыха -неслыха -неслышн -неслышн -несмел -несметн -несметн -несмотр -несмыкаем -несносн -несносн -несносн -несносн -несносн -несовершен -несовершеннолетн -несовершеннолетн -несовершенств -несоглас -несогласим -несоглас -несомнен -несомнен -несомнен -несомнен -несомнен -несомнен -несообразн -несообщител -несоразмерн -несостоятельн -неспешн -неспешн -неспешн -неспешн -неспокойн -неспокойн -неспособн -неспособн -несправедлив -несправедлив -несправедлив -несправедлив -несправедлив -несправедлив -несправедлив -несправедлив -несправедлив -несправедлив -несравнен -несравнен -нессиметричн -нестерп -нестерпим -нестерпим -нестерпим -нестерпим -нестерпим -нестерпим -нестерпим -нест -нестира -нестройн -нес -несут -несущ -несуществ -несущ -несущ -несущ -несущ -несч -несчаст -несчаст -несчаст -несчаст -несчаст -несчаст -несчаст -несчастл -несчастлив -несчастлив -несчастлив -несчастн -несчастн -несчастн -несчастненьк -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчастн -несчаст -несчаст -несчаст -несчаст -несчаст -несчетн -несыт -не -нет -нетактичн -нетверд -нетверд -нетверд -нетверд -нетверез -нетерепен -нетерпел -нетерпелив -нетерпелив -нетерпелив -нетерпелив -нетерпелив -нетерпелив -нетерпелив -нетерпелив -нетерпен -нетерпен -нетерпен -нетерпен -нетоплен -нетороплив -нетрезв -нетронут -нетронут -нет -нетяжк -неуважен -неуважительн -неуверен -неувяда -неувяда -неувяда -неувяза -неугодл -неугодлив -неугодн -неугомон -неуда -неуда -неуда -неудач -неудач -неудач -неудач -неудач -неудачн -неудачн -неудержим -неудержим -неудержим -неудержим -неудержим -неудобн -неудобн -неудобн -неудобств -неудобств -неудобств -неудобств -неудобств -неудовлетворен -неудовлетворительн -неудовольств -неудовольств -неудовольств -неужел -неужел -неузнава -неузнава -неузна -неуклон -неуклюж -неуклюж -неуклюж -неуклюж -неуклюж -неуклюж -неукоснительн -неукрашен -неукротим -неуловим -неуловим -неуловим -неуложен -неумел -неумел -неум -неумен -неумен -неумен -неумерен -неумерен -неумерен -неуместн -неумира -неумн -неумол -неумолим -неумолим -неумолим -неумолка -неумолка -неумолчн -неумолчн -неумыт -неумыт -неумышлен -неумышлен -неун -неурожа -неурожа -неурядиц -неуследим -неуспех -неуста -неуста -неустойк -неустраним -неустрашим -неустройств -неусыпн -неутешн -неутолим -неутомим -неутомим -неутомим -неучен -неучтив -неучтив -неуютн -нехитр -нехожден -нехорош -нехорош -нехорош -нехорош -нехот -нехот -нехрист -нецеремон -нечальн -нечая -нечая -нечаян -нечая -нечая -неч -нечеловеческ -неч -неч -нечесан -нечесан -нечет -нечиновн -нечист -нечистот -нечистот -нечистот -нечист -нечищен -нечищен -нечопорн -нечт -нечувствительн -нечуток -нешт -нештопа -нештопан -нешуточн -не -неяв -неярк -неярк -неясн -неясн -неясн -неясн -неясн -неясн -неясн -неясн -неясн -неясн -ни -нибуд -нив -нив -нигд -нигилизм -нигилист -нигилист -нигилист -ниж -нижеподписа -нижн -нижн -нижн -нижн -нижн -нижн -нижн -нижн -нижн -нижн -низа -низведен -низвел -низвод -низеньк -низеньк -низк -низк -низк -низк -низк -низк -низк -низк -низк -низк -низк -низк -низк -низмен -низок -низост -низост -низш -низш -низш -низш -никак -никак -никак -никак -никак -никак -никак -никак -никак -никанор -ник -никит -ник -никитич -никит -никит -никит -никифоровн -никл -никнет -никогд -ник -никод -никодим -никодим -никодим -никодим -нико -николавн -николаевич -николаевич -николаевич -николаевн -николаевн -николаевн -николаевн -николаевск -николаевск -никола -николаич -никола -николашк -николашк -никола -никол -никол -ник -никт -никуд -нил -ним -нима -нимб -ним -нимф -нин -нин -нин -нин -нин -ниоткуд -нипоч -нискольк -ниспосла -нисход -нисход -нисход -нит -нитк -нитк -нитк -нитк -нитк -ниток -ниточк -ниточк -нит -нит -нитян -нитян -них -ниц -ницц -ницш -нич -ничегошечк -нич -нич -нич -ничк -ничт -ничтож -ничтожеств -ничтожеств -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничтожн -ничут -нич -нич -нич -нич -нич -нич -ниш -нищ -нищ -нищ -нищ -нищ -нищенск -нищенск -нищет -нищет -нищет -нищет -нищет -нищ -нищ -нищ -нищ -нищ -нмен -нна -нно -ннх -нных -но -нов -нов -нов -нов -нов -нов -новеньк -новеньк -новеньк -новеньк -новехоньк -новизн -новичк -новичк -новичк -новичок -нов -нов -новодевич -нов -нов -нов -нов -новорожден -новосел -новост -новост -новост -новост -новост -новост -нов -новоявлен -нов -нов -нов -нов -нов -нов -нов -нов -ног -ног -ног -ног -ног -ног -ног -ног -ног -ноготк -ног -ногт -ногт -ногт -ног -но -ноет -нож -нож -нож -нож -нож -нож -ножик -ножичек -ножищ -ножк -ножк -ножк -ножниц -ножничк -нож -нол -номер -номер -номинальн -нон -нор -норк -норк -норм -нормал -нормальн -нормальн -нормальн -нормальн -нормальн -нормальн -нормальн -нормальн -норм -норм -нор -норов -норов -нор -нос -нос -нос -нос -носик -нос -нос -нос -нос -нос -нос -нос -носил -носильщик -нос -нос -нос -нос -нос -нос -носк -носк -носк -носк -носк -носк -носов -носок -нос -нос -нос -нос -нос -нос -нося -нот -нот -нот -нот -нотк -нотк -нотк -нот -нот -нотунг -нот -ноч -ноч -ноч -ночева -ночева -ночева -ночевыва -ноч -ноч -ночлег -ночн -ночн -ночн -ночн -ночн -ночн -ночн -ночн -ночн -ночн -ночн -ночн -ночу -ноч -ночует -ночуеш -ноч -ноч -ноч -нош -нош -нош -нош -нощ -нощн -ноют -ноябр -ноябр -ноябр -нрав -нрав -нрав -нрав -нрав -нрав -нрав -нрав -нрав -нрав -нрав -нрав -нрав -нравоучен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нравствен -нрав -нрав -нрав -ну -нудн -нудн -нудн -нужд -нужда -нужда -нужд -нужда -нужда -нужд -нужд -нужд -нужд -нужд -нуж -нужн -нужн -нужн -нужн -нужн -нужн -нужн -нужн -нужн -нужн -нужн -нул -нумер -нумер -нумер -нумер -нумер -нумер -нумер -нумер -нутр -ны -ны -нын -нынешн -нынешн -нынешн -нынешн -нынешн -нынешн -нынешн -нынешн -нынч -ньютон -ньютонов -нюха -нюха -нюхан -нюх -нян -нян -нянек -нянечк -нян -нянч -нянч -нянч -нянч -няньк -няньк -няньк -няньк -няньк -нян -нях -о -оазис -об -об -обагр -обагр -обагр -обанкрут -обаян -обаян -обаян -обаян -обаян -обаятельн -обаятельн -обаятельн -обаятельн -обаятельн -обвал -обвар -обвел -обвел -обветша -обвешива -обв -обвива -обвива -обвив -обв -обв -обвинен -обвинен -обвинен -обвинен -обвинен -обвинен -обвин -обвин -обвин -обвинительн -обвин -обвин -обвиня -обвиня -обвиня -обвиня -обвиня -обвиня -обвиня -обвит -обвод -обвод -обвод -обвод -обворожительн -обворожительн -обвяза -обвяза -обвяза -обглода -обдава -обдадут -обда -обда -обда -обда -обдела -обдела -обдергива -обдерет -обдира -обд -обдул -обдума -обдума -обдума -обдума -обдума -обдума -обдума -обдума -обдумыва -обдумыва -обдумыв -об -обега -обег -обед -обед -обеда -обеда -обеда -обеда -обеда -обеда -обеда -обеда -обед -обеда -обеда -обед -обед -обеден -обедн -обедневш -обедн -обедн -обедн -обедн -обед -обед -обед -обед -обежа -обеж -обездолен -обезличива -обезображен -обезображен -обезображ -обезобраз -обезоружен -обезум -обезумел -обе -обе -обе -оберега -оберега -оберега -оберега -обереч -обереш -обернет -обернув -обернувш -обернул -обернул -обернул -обернул -обернул -обернут -обернут -обертк -обескураж -обеспеч -обеспечен -обеспечен -обеспеч -обеспеч -обеспоко -обеспокоен -обеспоко -обеспоко -обеспоко -обеспоко -обеспок -обеспоко -обессилен -обессилен -обессил -обессил -обетов -обетован -обетова -обет -обеща -обеща -обеща -обеща -обеща -обеща -обеща -обеща -обеща -обещан -обещан -обещан -обещан -обещан -обещан -обещан -обеща -обеща -обещ -обещ -обжег -обжег -обжеч -обжив -обжига -обжига -обжигательн -обжог -обжор -обива -обива -обид -обид -обидевш -обидел -обидел -обидел -обидел -обидел -обидет -обидет -обидн -обидн -обидн -обидн -обидн -обидн -обидн -обид -обид -обидчив -обидчик -обидчик -обид -обид -обижа -обижа -обижа -обижа -обижа -обижа -обижа -обижа -обижа -обижа -обижа -обижа -обижа -обиж -обижен -обижен -обижен -обижен -обил -обил -обил -обил -обильн -обильн -обильн -обильн -обиняк -обира -обира -обира -об -обита -обитател -обитател -обит -обит -обит -обит -обиход -обкрадыва -облагодетельствова -облагодетельствова -облагодетельствова -облагорожен -облагорожен -обладател -облак -облак -облак -облак -облак -облак -облак -облак -обласка -обласка -обласка -област -област -област -облачк -облачк -облегчаем -облегча -облегча -облегча -облегча -облегча -облегча -облегч -облезл -облека -облекл -облен -облен -облеп -облеплен -облетел -облеч -облива -облива -облива -облива -облив -облив -облигац -облизыв -облик -облик -обл -облит -облит -облит -обл -обл -облича -облича -обличат -облича -облича -облича -облича -обличен -обличен -обличен -обличен -облич -облич -обличител -обличител -облич -облич -облобыза -облож -облож -облож -облож -облокот -облокот -облокот -облокот -облокот -облома -облома -обломк -облом -обломов -обломов -обломовк -обломовк -обломовк -обломовк -обломовк -обломовк -обломовск -обломовск -обломовск -обломовск -обломовск -обломовск -обломовск -обломовск -обломов -обломовц -обломовц -обломовц -обломовщин -обломов -обломов -обломов -обломок -облуп -обмакнеш -обмакнул -обмакнут -обма -обма -обманет -обманет -обман -обманувш -обманул -обманул -обманул -обманут -обманут -обманут -обманут -обманут -обманч -обманчив -обманщик -обманщиц -обманыва -обманыва -обманыва -обманыва -обманыва -обманыва -обманыва -обманыва -обманыва -обмахив -обм -обм -обменен -обменя -обменя -обмер -обмерива -обмерива -обмерив -обмер -обмест -обмета -обмоет -обморок -обморок -обморок -обморок -обморок -обморок -обморок -обмундировк -обмыва -обмыва -обмызга -обнажа -обнажа -обнажен -обнажен -обнажен -обнажен -обнаж -обнаруж -обнаруж -обнаружен -обнаружива -обнаружива -обнаружив -обнаруж -обнаруж -обнаруж -обнаруж -обнаруж -обнаруж -обнаруж -обнеряш -обнес -обнесен -обнима -обнима -обнима -обнима -обнима -обнима -обнима -обнима -обним -обним -обнимет -обн -обнов -обнов -обнов -обновк -обновлен -обновлен -обновля -обноск -обнюха -обня -обня -обня -обня -обня -обня -об -обобра -обовьет -обовьют -ободк -ободра -ободра -ободрен -ободр -ободр -ободр -ободр -ободр -ободр -ободр -ободр -ободр -ободр -ободр -ободря -ободря -обо -обожа -обожа -обожа -обожан -обожан -обожа -обож -обожг -обожгл -обожгл -обожг -обожж -обожжен -обоз -обозва -обозва -обозна -обознача -обознача -обознача -обознача -обознач -обознач -обознач -обознач -обозник -обозрет -обоз -обо -обо -обо -обо -об -обойдет -обойдет -обойдеш -обойд -обойд -обойдут -обойд -обойн -обойт -обойт -обокра -обокраст -оболочк -оболочк -обольет -обольет -обольст -обольстительн -обольстительн -обольстительн -обольют -обомлел -обомлел -обопрет -оборачива -оборачива -оборачива -оборачива -оборачив -оборачив -оборва -оборва -оборва -оборва -оборва -оборванец -оборва -оборва -оборванц -оборванц -оборва -оборвет -оборвет -оборвеш -оборв -оборвыш -обороня -оборот -оборот -оборот -оборот -оборот -оборот -оборот -оборот -оборот -оборотн -оборотн -оборотн -оборотн -оборот -оборот -оботрет -обошел -обошл -обошл -обошл -обошл -обошьют -обоюдн -обоюдн -обо -обо -обрадова -обрадова -обрадова -обрадова -обрадова -обрадова -обрадова -обрадова -обраду -обрад -обрад -образ -образ -образ -образ -образин -образ -образова -образова -образова -образова -образован -образован -образован -образован -образован -образова -образова -образова -образова -образован -образован -образова -образова -образова -образок -образ -образ -образ -образум -образум -образц -образцов -образцов -образцов -образц -обрамл -обрамл -обрамлен -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обрат -обратн -обрат -обрат -обрат -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обраща -обра -обра -обращ -обращ -обращен -обращен -обращен -обращен -обращен -обращен -обращен -обращен -обращен -обращ -обращ -обращ -обрееш -обреза -обрезк -обрека -обрел -обреч -обреч -обречен -обречен -обречен -обреч -обрисовыва -обрит -обрит -обробел -обробел -оброк -оброк -оброк -оброк -оброн -обросш -оброчн -обруб -обрублен -обрубок -обруга -обруга -обруга -обруга -обруга -обруга -обруга -обруга -обруч -обруч -обруч -обруч -обручк -обруш -обруш -обруш -обруш -обруш -обр -обрыв -обрыва -обрыва -обрыва -обрыв -обрыв -обрывк -обрывк -обрывк -обрывок -обрыв -обрюзг -обряд -обряд -обряд -обряд -обряд -обрящет -обсажен -обсасыв -обслуживан -обставлен -обставлен -обста -обстанов -обстановк -обстановк -обстановк -обстановк -обстановк -обстоятельн -обстоятельн -обстоятельн -обстоятельн -обстоятельств -обстоятельств -обстоятельств -обстоятельств -обстоятельств -обстоятельств -обстоятельств -обстоятельств -обстоятельств -обстрелива -обстрижен -обстро -обструга -обступ -обступ -обступ -обсуд -обсуд -обсуд -обсуд -обсуд -обсужден -обсужива -обсыплет -обтер -обтерет -обтерпел -обтерт -обтеса -обтира -обтира -обтир -обтирк -обтяжк -обув -обуглен -об -обуз -обусловл -обут -обут -обух -обуча -обучен -об -обуя -обхват -обхват -обхват -обхват -обхватыва -обход -обход -обход -обход -обход -обход -обход -обход -обход -обход -обход -обход -обхожден -обшарива -обшарка -обшарка -обшива -обшир -обширн -обширн -обширн -обширн -обш -обшлаг -обшмыга -общ -общ -общ -общ -общ -общ -обществ -обществ -обществен -обществен -обществен -обществен -обществен -обществен -обществен -обществ -обществ -обществ -общечеловеческ -общ -общ -общ -общ -общ -объеда -объезд -объезжа -объ -объемист -объемлет -объемл -объем -объеха -объяв -объяв -объяв -объяв -объяв -объяв -объяв -объяв -объяв -объяв -объяв -объявл -объявлен -объявл -объявля -объявля -объявля -объявля -объявля -объявля -объявл -объя -объяснен -объяснен -объяснен -объяснен -объяснен -объяснен -объяснен -объясн -объясн -объясн -объясн -объясн -объясн -объясним -объясн -объясн -объясн -объясн -объясн -объясн -объясн -объясн -объясн -объясня -объясня -объясня -объясня -объясня -объясня -объясня -объясня -объясн -объясн -объят -объят -объят -объят -объят -объят -объят -объят -обывательск -обывательск -обывательск -обыден -обыден -обыден -обыден -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыкновен -обыск -обыск -обыскива -обыскива -обыскива -обыск -обыча -обыча -обыча -обыча -обычн -обычн -обычн -обычн -обычн -обычн -обычн -обыщ -обыщ -обьят -обяжет -обяза -обяза -обяза -обязан -обязан -обязан -обязан -обязан -обяза -обяза -обяза -обязательн -обязательн -обязательн -обязательн -обязательн -обязательств -обязательств -обязательств -обязательств -ова -овальн -овальн -овац -овес -овечк -овеют -овея -овин -овин -овладева -овладева -овладева -овладева -овладева -овладевш -овладел -овладел -овладел -овладел -овощ -овощ -овощн -овраг -овраг -овраг -овраг -овраг -овс -овс -овц -овц -овц -овчинин -овчинин -огарк -огарк -огарк -огарок -огиба -огиба -огиба -огиб -огласк -оглобл -оглобл -оглохл -оглушен -оглушен -оглуш -оглуш -огляд -оглядевш -оглядел -оглядел -оглядел -оглядет -огляд -оглядк -оглядк -оглядыва -оглядыва -оглядыва -оглядыва -оглядыва -оглядыва -оглядыван -оглядыва -оглядыва -оглядыва -оглядыв -оглядывая -оглядыв -оглян -оглянет -оглян -оглян -оглянувш -оглянул -оглянул -оглянул -оглянул -оглянут -огн -огнев -огневиц -огнев -огнев -огнев -огн -огнекрасн -огнекрасн -огн -огнен -огнен -огнен -огнен -огнен -огн -огн -огн -огн -огн -огн -ог -оговор -огонек -огон -огоньк -огоньк -огоньк -огород -огород -огород -огород -огород -огород -огородишк -огородниц -огород -огород -огород -огорошат -огорошива -огорош -огорча -огорч -огорчен -огорчен -огорчен -огорчен -огорч -огорч -огорч -огорч -ограб -ограб -ограб -ограбл -ограблен -ограблен -оград -оград -оград -оград -оград -оград -оград -оград -ограж -ограничен -ограничива -огранич -огранич -огранич -огранич -огрел -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огромн -огрыза -огрыза -огурец -огурц -огурц -огурц -огурчик -одар -одарен -од -одева -одева -одева -одева -одева -одева -одева -одева -одева -одева -одева -одев -одевш -одеж -одежд -одежд -одежд -одежд -одежд -одежк -одежонк -одеколон -одел -одел -одел -оденет -оденеш -оден -оден -оденут -одеревенел -одерж -одесс -одесс -одет -одет -одет -одет -одет -одет -одет -одет -одет -одет -одет -одет -одея -одея -одеял -одеян -один -одинак -одинаков -одинаков -одинаков -одинаков -одинаков -одинехоньк -одинешеньк -одиннадцат -одиннадцат -одиннадцат -одиннадцат -одиннадца -одинок -одинок -одинок -одинок -одинок -одинок -одинок -одинок -одиночеств -одиночеств -одиночеств -одиночк -одиночн -одича -одичал -одн -однажд -однак -однакож -однех -одн -одн -одн -одн -одн -одноважд -одновремен -одн -однозвучн -однозвучн -однозвучн -одноимен -одн -однократн -одн -одн -однообраз -однообраз -однообраз -однообразн -однообразн -однообразн -однообразн -однообразн -однообразн -однообраз -односторон -односторон -односторон -одноцвет -одн -одн -одобрен -одобрен -одобрительн -одобр -одобря -одолева -одолева -одолева -одолева -одолел -одолел -одолел -одолел -одолет -одолжа -одолжен -одолжен -одолж -одонцов -одр -одр -одума -одума -одурач -одуревш -одурееш -одурен -одурманен -одурманива -одутловат -одушевл -одушевлен -одушевлен -одушевлен -од -одышк -одышк -ожерел -ожесточен -ожесточен -ожесточен -ожива -оживет -ожив -ожив -ожив -оживлен -оживлен -оживлен -оживлен -оживлен -оживлен -оживлен -оживл -оживля -оживля -оживля -оживля -оживля -оживл -оживут -ожида -ожида -ожида -ожида -ожида -ожида -ожида -ожида -ожидан -ожидан -ожидан -ожидан -ожидан -ожида -ожида -ожида -ожид -ожидовел -ож -ожиревш -оз -озабот -озабоч -озабочен -озабочен -озабочен -озабочен -озабочен -озадач -озадачен -озадач -озарен -озар -озар -озар -озар -озар -озар -озар -озар -озаря -озаря -озем -озер -озер -озер -озер -озерн -озер -озер -озер -оз -озим -озира -озира -озира -озира -озира -озиран -озир -озл -озл -озлоб -озлоблен -ознаком -ознаменова -ознаменова -означа -означа -означа -означен -озноб -озноб -озноб -озябл -озябш -озябш -озябш -о -ок -окажет -оказа -оказа -оказа -оказа -оказа -оказа -оказ -оказыва -оказыва -оказыва -оказыва -оказыва -оказыва -оказыва -оказыва -окаймля -окаменеет -окаменел -окаменел -окаменел -окаменел -окаменя -оканчива -окарикатур -окат -окая -окая -окая -окая -океа -океан -океа -окидыва -окидыв -окинет -окинеш -окинув -окинул -оклад -оклад -оклевета -оклевета -оклеива -оклика -оклика -окликнул -окликнул -окликнут -окн -окн -окн -окн -окн -окн -окн -окн -ок -ок -окова -окова -оков -оковыва -оковыва -околдова -околдова -околиц -окол -околотк -околотк -околоток -ок -окон -окон -окон -окончан -окончан -окончан -окончательн -окончательн -окончательн -окончательн -окончательн -окончательн -окончательн -окончательн -окончательн -окончательн -оконч -оконч -оконч -оконч -оконч -оконч -оконч -окопа -окорок -окорок -окостенел -окостенел -окостенел -окоченел -окочен -окошечк -окошк -окошк -окошк -окошк -окошк -окраин -окраск -окраш -окраш -окрест -окрест -окрест -окрестн -окрестн -окрестн -окрестн -окрик -окрик -окровавлен -окровавлен -окром -окром -окрошк -округл -округл -округля -округля -окружа -окружа -окружа -окружа -окружа -окружа -окружа -окружа -окружа -окружа -окружа -окружа -окруж -окруж -окруж -окруж -окруж -окружн -окрыля -октав -октав -октябр -октябрьск -октябрьск -октябр -ок -окунул -окун -окупа -окута -окута -ол -оледенел -оледен -оледен -оледен -ол -олен -оленьк -олечк -олешкин -ол -олимпийск -олиф -олицетворен -олов -олух -олух -олух -ольг -ольг -ольг -ольгин -ольг -ольг -ольх -ольх -олюшк -олюшк -ол -омар -омбрельк -омерзен -омерзен -омерзен -омерзительн -омрача -омрача -омрачен -омрачен -омрачен -омрач -ом -омут -омут -омут -омыва -ом -омыт -он -он -онем -онемел -онемел -онемел -онемен -онемет -онер -он -онис -онисимовн -онисимовн -онисим -он -он -он -он -опада -опа -опален -опален -опален -опал -опамятова -опар -опаса -опас -опас -опасен -опасен -опасен -опасен -опасен -опаслив -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опасн -опек -опек -опек -опекун -опекун -опекун -опер -операц -операц -опер -оперед -оперед -оперл -оперн -опер -опер -оперш -опер -опечален -опечал -опечал -опечаток -опива -опира -опир -описа -описа -описан -описан -описан -описан -описа -описа -описа -описа -опис -описыва -описыва -опиш -оплака -оплакива -оплева -оплет -оплетет -оплетеш -оплеух -оплеух -оплодотворя -оподл -опозда -опозда -опозда -опозда -опозда -опозда -опозорен -опозор -опозор -опомн -опомн -опомн -опомн -опомн -опомн -опомн -опор -опор -опор -опосл -опочиет -опошл -оппозиц -оппонирова -оправда -оправда -оправда -оправдан -оправдан -оправдан -оправдательн -оправда -оправда -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыва -оправдыв -оправ -оправ -оправ -оправ -оправ -оправ -оправ -оправл -оправля -оправля -оправля -оправл -опрашива -опрашива -определ -определен -определен -определен -определен -определен -определен -определен -определен -определен -определен -определен -определен -определ -определ -определ -определ -определительн -определ -определ -определя -определ -опредлен -оприч -опроб -опроверга -опроверга -опровергнут -опровергнут -опрокидыван -опрокидыва -опрокидыв -опрокинул -опрокинут -опрокинут -опрокинут -опрокинут -опрометчив -опромет -опрос -опротивел -опрыскива -опрятн -опрятн -опрятн -оптическ -опт -опубликова -опуска -опуска -опуска -опуска -опуска -опуска -опуска -опуска -опуска -опуска -опуска -опуска -опуск -опуск -опустевш -опустевш -опустеет -опустел -опустел -опустел -опустел -опуст -опуст -опуст -опуст -опуст -опуст -опуст -опуст -опуст -опуст -опуст -опуст -опустоша -опустоша -опустошен -опустошен -опустошен -опуст -опута -опухол -опухол -опуш -опущ -опущен -опущен -опущен -опущен -опущен -опущ -оп -опыт -опыт -опыт -опытн -опытн -опытн -опытн -опытн -опытн -опытн -опыт -опыт -опьян -опьяневш -опьянел -опьянен -опьянен -опьян -опя -орав -оракул -ора -оранж -оранжер -оранжере -оранжере -орар -оратор -оратор -ораторск -ораторствова -ораторствуеш -орб -орга -организац -организм -организм -организм -орган -органчик -органщик -орд -орд -орд -орден -орд -ореол -орет -орех -орех -орех -орешк -оригинал -оригинальн -оригинальн -оригинальн -оригинальн -оригинальн -оригинальн -оригинальн -оркестр -оркестр -орл -орл -орлин -орлин -орлиц -орл -ороб -оробевш -оробеет -оробел -оруд -оруд -оруж -оруж -орфограф -ос -осад -осад -осадк -осад -осадок -осад -осажда -осанист -осанист -осанист -осанк -осанк -осведом -осведом -осведом -освежа -освежа -освежа -освежа -освежа -освеж -освеж -освеж -освеж -освеж -освеж -освет -освет -освет -осветлен -освет -освеща -освеща -освеща -освещ -освещ -освещен -освещен -освещен -освобод -освобод -освобод -освобод -освобод -освобод -освобод -освобод -освобожда -освобожда -освобожден -освят -оседа -оседла -осекл -осекл -осек -осел -осел -осел -осен -осен -осен -осен -осен -осен -осен -осен -осен -осен -осеня -осеня -осеня -осен -осерд -осерча -осетр -осетр -осетрин -осетрин -осечк -осилива -осил -осил -осинов -осин -осипш -оскверн -осклаб -осколк -осколок -оскоплен -оскорб -оскорб -оскорб -оскорбительн -оскорбительн -оскорбительн -оскорб -оскорбл -оскорбл -оскорблен -оскорблен -оскорблен -оскорблен -оскорблен -оскорблен -оскорблен -оскорблен -оскорблен -оскорблен -оскорбл -оскорбл -оскорбля -оскорбля -оскорбля -оскорбля -оскорбля -оскорбля -оскорбл -осл -ослаб -ослабева -ослабева -ослабева -ослабевш -ослабевш -ослабел -ослабел -ослабел -ослеп -ослеп -ослеп -ослепительн -ослепительн -ослепительн -ослепительн -ослепительн -ослепл -ослеплен -ослеплен -ослеплен -ослепля -ослепля -ослепнув -ослепнут -ослепш -ослепш -ослепш -ослобод -осл -ослыша -осматрива -осматрива -осматрива -осматрива -осматрива -осматрива -осматрива -осматрива -осматрива -осматрив -осматрив -осмелива -осмел -осмел -осмел -осмел -осмел -осмел -осмел -осмел -осмея -осмея -осмотр -осмотр -осмотрел -осмотрел -осмотрел -осмотрел -осмотр -осмотрет -осмотр -осмотрительн -осмотр -осмысл -осмысл -осмысл -осмысл -оснежен -оснежен -оснеж -основ -основа -основан -основан -основан -основан -основан -основан -основа -основа -основа -основа -основател -основательн -основательн -основа -основн -основн -основн -основ -основ -основыва -основыв -особ -особ -особен -особен -особен -особен -особен -особен -особен -особен -особен -особен -особен -особен -особен -особен -особен -особ -особ -особ -особ -особ -особ -особ -особ -особ -особ -особ -ос -осп -оспарива -оспарива -оспарива -осп -осрам -осрамл -остава -остава -остава -остава -остава -остава -остава -остава -остав -остав -остав -остав -остав -остав -остав -остав -остав -остав -оставл -оставлен -оставлен -оставлен -оставлен -оставл -оставля -оставля -оставля -оставля -оставля -оставля -оставля -оставля -оставл -оста -оста -оста -оста -остав -оставьт -остав -оста -оста -оста -оста -оста -оста -остальн -остальн -остальн -остальн -остальн -остальн -остальн -остальн -остальн -останавлива -останавлива -останавлива -останавлива -останавлива -останавлива -останавлива -останавлива -останавлива -останавлива -останавлива -останавлива -останавлив -останавлив -остан -останет -останет -останеш -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -останов -остановк -остановк -остановл -останов -останов -останов -остан -останут -остан -останьт -остатк -остатк -остаток -оста -оста -оста -оста -остервенен -остервенен -остервенен -остервен -остерегл -остереч -остзейск -остолбенел -остолбенел -осторож -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -осторожн -острастк -остр -остр -остр -остр -остров -остров -остров -остров -островок -островск -остров -острог -острог -острог -остр -остр -острожн -острожн -острот -острот -острот -острот -остроум -остроум -остроум -остроум -остроумн -остроумн -остроумн -остроумн -остроумн -остроумн -остр -остр -остр -остуд -оступа -оступ -ост -остынет -осуд -осуд -осуд -осуд -осужда -осужда -осужда -осужда -осужд -осужд -осужден -осужден -осунул -осунул -осуш -осуществ -осуществ -осуществ -осуществ -осуществля -осчастлив -осчастлив -осчастливлен -осыпа -осыпа -осыпа -осыпа -осыпа -осыпа -осыпан -осыпа -осыпк -осыплет -осьмерк -от -отбива -отбивн -отб -отбира -отб -отблагодар -отблеск -отблеск -отборн -отборн -отбрасыва -отброс -отброс -отброс -отброшен -отваг -отваг -отваг -отважива -отважн -отважн -отважн -отвал -отвалива -отвал -отведа -отведа -отведет -отвед -отвез -отвезл -отвезт -отвек -отвел -отвел -отверга -отвердел -отверженец -отвержен -отверза -отверза -отверзл -отверзш -отвернет -отвернувш -отвернувш -отвернул -отвернул -отвернул -отвернут -отвертыва -отвертыва -отвесн -отвес -отвест -ответ -ответ -ответ -ответ -ответ -ответ -ответ -ответ -ответ -ответ -ответ -ответн -ответ -ответ -ответствен -ответствен -ответ -ответ -ответ -ответьт -отвеча -отвеча -отвеча -отвеча -отвеча -отвеча -отвеча -отвеча -отвеча -отвеч -отвеч -отвешива -отвинч -отвлека -отвлека -отвлека -отвлечен -отвлечен -отвлечен -отвлеч -отв -отвод -отвод -отвод -отвод -отвод -отвод -отвод -отвод -отвод -отвож -отворачива -отворачива -отворачив -отворачив -отвор -отвор -отворен -отворен -отворен -отворен -отворен -отвор -отвор -отвор -отвор -отвор -отвор -отвор -отвор -отвор -отвор -отвор -отвор -отворот -отворот -отворот -отворот -отворот -отвор -отворя -отворя -отворя -отворя -отворя -отворя -отворя -отворя -отворя -отворял -отворя -отворя -отворя -отворя -отвор -отврат -отвратительн -отвратительн -отвратительн -отвратительн -отвратительн -отвратительн -отвратительн -отвратительн -отврат -отвращен -отвращен -отвращен -отвращен -отвращен -отвык -отвыкл -отвыкн -отвычк -отвяжеш -отвяжут -отвяза -отвяза -отвяза -отвяза -отгада -отгадыван -отговарива -отговарива -отговор -отговор -отговорк -отговорк -отголосок -отгон -отгон -отгон -отгоня -отгоня -отгорожен -отгуля -отдава -отдава -отдава -отдава -отдава -отдава -отдава -отдав -отдад -отда -отда -отда -отда -отда -отда -отда -отда -отда -отдален -отдален -отдален -отдален -отдален -отдален -отдален -отдален -отдален -отдален -отда -отдал -отдаля -отд -отда -отдан -отда -отдаст -отда -отда -отдаш -отда -отда -отда -отда -отда -отдела -отдела -отдела -отдела -отделен -отделен -отделен -отделен -отделен -отдел -отделен -отделк -отделк -отдел -отделыва -отделыва -отделыва -отделыва -отделыва -отделыва -отдельн -отдельн -отдельн -отдельн -отдельн -отдельн -отделя -отделя -отделя -отделя -отделя -отделя -отдернул -отдернул -отдохн -отдохнет -отдохнеш -отдохн -отдохн -отдохновен -отдохн -отдохнув -отдохнул -отдохнул -отдохнут -отд -отдых -отдыха -отдыха -отдыха -отдыха -отдыха -отдыха -отдых -отдыхив -отдыхнувш -отдыхнул -отдых -отдыша -отдыша -отека -отекш -отел -отел -отер -отерл -отец -отеческ -отеческ -отечеств -отечествен -отечеств -отж -отж -отж -отзвук -отзвуч -отзовет -отз -отзыв -отзыва -отзыва -отзыва -отзыв -отзыв -отзыв -отзыв -отира -отира -отир -откаж -откажет -откажет -откажет -откаж -откаж -откаж -откаж -отказ -отказа -отказа -отказа -отказа -отказа -отказа -отказа -отказа -отказа -отказа -отказ -отказыва -отказыва -отказыва -отказыва -отказыва -отказыва -отказыва -отказыва -отказыва -откапыва -откармлива -откашлива -откашлянул -откидн -откидыв -откинув -откинул -откинут -откладыва -откладыва -откладыв -откланива -откланива -откланив -откланя -откланя -откланя -отклика -отклик -отклик -откликнул -откликнул -отклон -отклон -отколот -отколот -откомандирова -откопа -откопа -откровен -откровен -откровен -откровен -откровеннича -откровеннича -откровен -откровен -откровен -откровен -откровен -откровен -откровен -откровен -откровен -откровен -откроет -откроет -откр -откр -откр -откроют -откроют -откр -открыва -открыва -открыва -открыва -открыва -открыва -открыва -открыва -открыва -открыва -открыва -открыва -открыва -открыв -откр -откр -откр -откр -откр -откр -откр -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -открыт -откр -откр -откуд -откудов -откуп -откуп -откуп -откупор -откус -откус -откуша -откушен -отлага -отлага -отлегл -отлетевш -отлетел -отлетел -отлет -отлив -отлива -отлива -отлива -отлича -отлича -отлича -отлича -отличат -отлича -отлича -отлич -отличительн -отлич -отличн -отличн -отличн -отличн -отличн -отличн -отличн -отличн -отличн -отлог -отлог -отложат -отложен -отлож -отлож -отлож -отлож -отлож -отлож -отлож -отлома -отломок -отлуча -отлуч -отлуч -отлучк -отлуч -отмалчива -отмахива -отмахива -отмахива -отмахив -отмахнувш -отмахнул -отмен -отмен -отмен -отмен -отмен -отмен -отменя -отмет -отмет -отметк -отметк -отмечен -отмечен -отмеч -отмоеш -отм -отмыва -отмыва -отмыва -отм -отнекива -отнекива -отнес -отнесет -отнесл -отнесл -отнесл -отнес -отнест -отнес -отнима -отнима -отнима -отнима -отнима -отнима -отним -отнимет -отним -отним -отнимут -относ -относ -относ -относительн -относительн -относ -относ -относ -относ -относя -отношен -отношен -отношен -отношен -отношен -отнош -отнын -отнюд -отня -отня -отня -отня -отня -от -отобеда -отобеда -отобеда -отобеда -отобеда -отобра -отобра -отовсюд -отогна -отогна -отогрел -отогрел -отодвига -отодвига -отодвига -отодвиг -отодвиг -отодвинув -отодвинул -отодвинул -отодвинул -отодвинул -отодвинут -отозва -отозва -отозва -отозва -отозва -отойдет -отойд -отойд -отойд -отойт -отолстел -отолщен -отомкнув -отомкнул -отомст -отоплен -отопрет -отопрет -оторва -оторва -оторва -оторва -оторва -оторвет -отороп -оторопевш -оторопел -отороп -отосла -отосла -отошел -отошл -отошл -отошл -отоща -отпарива -отпеван -отп -отпер -отперл -отперл -отперт -отперт -отперт -отперт -отперт -отпечата -отпечата -отп -отпив -отп -отпира -отпира -отпира -отпира -отписа -отпихнул -отпихнул -отпихнут -отплясыва -отполирова -отпор -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправ -отправл -отправлен -отправлен -отправлен -отправлен -отправлен -отправлен -отправл -отправл -отправля -отправля -отправля -отправля -отправля -отправля -отправля -отправля -отправля -отправля -отправля -отправля -отправля -отправл -отправ -отпразднова -отпрыск -отпрыск -отпрыск -отпрыск -отпуск -отпуска -отпуска -отпуска -отпуска -отпуска -отпуска -отпуска -отпуск -отпуст -отпуст -отпуст -отпуст -отпуст -отпущ -отпущ -отра -отрав -отрав -отрав -отрав -отрав -отрав -отрав -отрав -отрав -отравлен -отравлен -отравлен -отравлен -отравл -отравля -отравля -отравля -отрад -отрадн -отрадн -отража -отража -отража -отраж -отражен -отражен -отраж -отраз -отраз -отраз -отраз -отрапорт -отраст -отреза -отреза -отреза -отреза -отреза -отреза -отрезвел -отрезв -отрезв -отрезв -отрезвля -отрезвля -отрезвля -отрезвля -отрезвля -отрезвл -отрезк -отрека -отрека -отрека -отрекомендова -отрекомендова -отрекомендова -отрек -отретирова -отречен -отречен -отреч -отреш -отрин -отрица -отрица -отрица -отрицан -отрицател -отрицательн -отрицательн -отрицательн -отрица -отрица -отриц -отрод -отрод -отрочеств -отрочеств -отрублен -отрыва -отрыва -отрыва -отрыва -отрыва -отрыв -отрыв -отрывист -отрывист -отрывк -отрывок -отрывочн -отряд -отряс -отсвет -отсвет -отсидел -отскакива -отскоч -отскоч -отскоч -отскоч -отскоч -отслуж -отслуж -отслуж -отсохл -отсрочива -отсроч -отстава -отстав -отставк -отставк -отставн -отставн -отставн -отста -отста -отста -отста -отста -отста -отста -отста -отстал -отстал -отстал -отстал -отстанет -отстан -отстанут -отстан -отстаньт -отста -отста -отстегнул -отстоя -отстоя -отстран -отстраня -отстран -отстран -отстряпа -отступа -отступа -отступа -отступ -отступ -отступ -отступ -отступ -отступ -отступ -отступ -отступл -отступл -отступ -отсутств -отсутств -отсутств -отсутств -отсутств -отсчита -отсчитыва -отсыла -отсыла -отсыпн -отсюд -отта -отталкива -отталкива -отталкива -отталкива -отталкива -отталкива -отталкива -отталкива -отталкива -отталкив -оттащ -оттенк -оттенк -оттенок -оттеня -оттеня -оттепел -оттепел -оттер -оттерт -отт -оттолкнет -оттолкнеш -оттолкнув -оттолкнул -оттолкнул -оттолкнут -оттопыр -оттрепа -оттреплет -оттуд -оттудов -оттянул -отуманен -отуманива -отупен -отупет -отуплен -отуч -отуч -отхаркив -отхаркнул -отхват -отхлебнул -отхлебыв -отхлеста -отхлеста -отхлынет -отхлынул -отход -отход -отход -отход -отходн -отход -отц -отц -отц -отц -отцвел -отцветш -отцветш -отц -отц -отцовск -отцовск -отцовск -отцовск -отц -отц -отц -отчаива -отчаива -отчаива -отчаст -отчая -отчая -отчая -отчаян -отчаян -отчаян -отчаян -отчаян -отчая -отчая -отчая -отчая -отчая -отчая -отчая -отчая -отчая -отчая -отчая -отчая -отчая -отчаян -отчаян -отчаян -отчая -отч -отч -отчеканив -отчекан -отчекан -отчекан -отчеств -отчет -отчет -отчетлив -отчетлив -отчет -отчет -отчет -отчизн -отчизн -отч -отчин -отчист -отчищен -отчужден -отшатнул -отшатнул -отшельник -отшибл -отшумел -отщелкив -отъезд -отъезд -отъезд -отъезд -отъезд -отъезжа -отъезжа -отъеха -отъявлен -отъявлен -отъявлен -отыска -отыска -отыска -отыска -отыска -отыска -отыска -отыска -отыскан -отыска -отыскива -отыскива -отыскива -отыскива -отыскива -отыскива -отыскив -отыщет -отыщеш -отыщ -отягч -отяжелевш -отяжелел -отяжелел -офел -офицер -офицер -офицер -офицер -офицер -офицерск -офицерск -офицер -офицер -официальн -официальн -официальн -официальн -официальн -официальн -офранцуз -ох -оха -оха -оха -охан -охан -охапк -ох -охват -охват -охват -охват -охват -охватыва -охватыва -охватыва -охватыва -охвач -охвачен -ох -охладевш -охлажда -охлажда -охлажден -охлажден -охмелел -охмел -охмеля -охнет -охнут -ох -охот -охот -охотк -охотлив -охотн -охотник -охотник -охотнич -охотн -охот -охот -охот -охранен -охран -охраня -охран -охрипш -охт -оценен -оцен -оцен -оцен -оцен -оценк -оцепенеет -оцепенел -оцепенел -оцепенел -оцепенен -оцепенен -оцеп -оч -очаг -оч -очарова -очарова -очарова -очарован -очарован -очарова -очарова -очарован -очарован -очарован -очаровател -очаровательн -очаровательн -очаровательн -очаровательн -очаровательн -оч -очевидн -очевидн -очевидн -очевидн -очевидн -очевидн -очевидн -оч -очен -очеред -очеред -очерк -очертан -очертан -очертан -очерт -очерт -оч -очин -очин -очин -очистительн -очист -очистк -очища -очища -очищен -оч -очк -очк -очк -очнет -очнет -очнеш -очн -очнувш -очнувш -очнул -очнул -очнул -очн -очнут -очумел -очут -очут -очут -очут -очут -очут -очут -очут -ошеломл -ошеломлен -ошен -ошиба -ошиба -ошиба -ошиба -ошиба -ошиба -ошиба -ошиба -ошиба -ошибет -ошиб -ошибк -ошибк -ошибк -ошибк -ошибк -ошибл -ошибл -ошибок -ошибочк -ошибочн -ошибочн -ошибочн -ошиб -ошиб -ощер -ощетин -ощетин -ощупа -ощупа -ощуп -ощупыва -ощупыв -ощуп -ощут -ощут -ощут -ощутительн -ощут -ощуща -ощуща -ощуща -ощуща -ощуща -ощуща -ощущ -ощущен -ощущен -ощущен -ощущен -ощущен -п -па -пав -павел -павильон -павильон -павл -павлин -павлин -павлин -павлович -павловн -павловн -павловн -павловн -павловн -павловц -павлыч -павлыч -пагубн -пада -пада -пада -пада -падал -пада -пада -пада -пада -пада -падеж -паден -паден -паден -паден -паден -паден -паден -падет -падут -падуч -падчериц -падчериц -падш -падш -падш -падш -падш -падш -падш -паек -пазух -пазух -па -пакет -пакет -пакет -пакост -пакостн -пал -пал -паладин -палат -палат -палат -палат -пал -палев -палев -палец -пал -пал -пал -палим -палим -пал -палк -палк -палк -палк -палладиум -палочк -палочк -пальб -пальмерстон -пальмерстон -пальм -пальм -пальт -пальц -пальц -пальц -пальц -пальц -пальц -пальц -пальц -пальчик -пальчик -пальчик -паля -паля -памят -памят -памятл -памятник -памятн -памятн -памя -памят -пан -панам -пан -панегирик -панел -пан -панихид -панихид -панихид -паническ -паническ -пан -пан -панорам -панорам -панорам -пансион -пансион -пансион -пансионерк -пансион -панталон -панталон -панталон -пантелеевич -пантелеевн -пантелеич -пантер -панцыр -пап -папаш -папаш -папаш -папаш -папеньк -папеньк -папеньк -папеньк -паперт -папильотк -папирос -папирос -папироск -папироск -папироск -папироск -папиросочк -папиросочк -папиросочниц -папиросочниц -папирос -папирос -папк -папк -папочк -папочк -пап -пап -пар -пар -парабол -парад -парадн -парадн -парадн -парадн -парад -парализова -паралич -паралич -параллел -параллельн -параш -параш -пардон -пар -парен -пар -париж -париж -париж -париж -парижск -парижск -парикмахер -парик -пар -пар -парк -парк -парк -парк -пармезан -парн -парн -парник -парнишк -парнишк -парн -парн -пар -пароксизм -пароксизм -пар -пароход -пароход -пароход -пароход -пароход -партер -парт -парт -парт -парт -пар -парус -парус -парч -парч -пар -пас -паск -пасл -пасмурн -пасмурн -пасмурн -паспорт -паспорт -паспорт -паспорт -паспорт -пассивн -паст -пастух -пастух -пастух -пастуш -пастушк -пастыр -паст -паст -пасхальн -пасхальн -пасх -пасх -пасх -пасьянс -патентова -патер -патетическ -патетическ -патетическ -патетическ -патетическ -патетическ -паток -патриархальн -пауз -пауз -паук -паук -паук -паук -паутин -паутин -паутин -паутин -паф -пафос -пахар -паха -пахл -пахнет -пахнул -пахнул -пахнут -пациент -пациент -пациент -пациент -пач -пачк -пачк -пачк -пачтен -пачул -паш -пашеньк -пашеньк -пашеньк -пашеньк -пашк -паш -пашут -па -паяц -паяц -пе -пева -пева -певец -певиц -певиц -певуч -певуч -певуч -певуч -певуч -певуч -певц -певц -певч -певч -певш -пегашк -пегашк -пег -педагог -педагогическ -педагог -педант -педантизм -педантизм -педантическ -педантическ -педантическ -педантическ -педант -пе -пейзаж -пейзаж -пейзаж -пейзаж -пейзаж -пейзажист -пейс -пейт -пекл -пекл -пекут -пекущ -пел -пел -пелаг -пелаге -пелен -пелен -пелен -пелерин -пел -пел -пен -пен -пен -пен -пен -пен -пен -пен -пенк -пенкин -пенкин -пен -пен -пенс -пенсион -пенсион -пенсион -пенсионишк -пенсион -пенс -пен -пен -пен -пен -пеня -пеня -пеня -пепел -пепельниц -пепл -пепл -пер -перв -перв -перв -первенец -первенств -первенств -первенств -первенц -первенц -перв -первобытн -первобытн -перв -перв -первозда -перв -перв -перв -первоначальн -первоначальн -первоначальн -первоначальн -первоначальн -первоначальн -первоначальн -перв -перв -перв -перв -перв -перв -пергаментн -пергамент -перебега -перебега -перебега -перебежа -перебер -переберет -перебереш -перебер -перебер -переберут -перебива -перебива -перебива -перебива -перебиван -перебива -перебив -переб -переб -переб -переб -перебира -перебира -перебира -перебира -перебира -перебир -перебит -переб -переболел -переборол -перебор -перебра -перебра -перебран -перебра -перебрасыва -перебуд -перебыва -перебыва -перебыва -перебьют -перевал -перевалива -перевалив -перевал -перевар -перевар -перевар -переведет -перевез -перевезен -перевезл -перевезут -перевел -перевел -перевел -перевел -перевернет -перевернул -перевернул -перевернул -перевернул -перевернул -перевернул -перевернут -перевертел -перевертыва -перевертыва -перевертыв -перевес -перевест -перевест -перевив -перевод -перевод -перевод -перевод -переводн -перевод -перевод -перевод -перевод -перевод -перевож -перевоз -перевозк -перевозк -перевоз -переворачива -переворачива -переворачив -переворот -переворот -переворот -перевороча -перевра -перевяза -перевяза -перевязочн -перевяз -переглота -переглянул -переглянул -перегнувш -переговарива -переговор -переговор -переговор -переговор -переговор -переговор -переговор -перегора -перегородк -перегородк -перегородк -перегородк -перед -переда -передава -передава -передава -передава -передава -передава -передав -передад -переда -переда -переда -переда -переда -перед -переда -передаст -переда -переда -передвиг -передела -передела -передела -передела -передела -переделк -переделк -переделыва -передергив -передернул -передернут -передк -передн -передн -перед -передов -передов -передов -перед -передразниван -передразн -передума -передума -передума -передума -передума -передума -передумыва -передуш -переед -переедет -переедет -переедеш -переед -переежа -переезд -переезд -переезд -переездк -переезд -переезжа -переезжа -переезжа -переезжа -переезжа -переезжа -переезжа -переезжа -переезжа -переезж -перееха -перееха -перееха -перееха -перееш -пережда -пережда -пережда -пережевыва -пережива -пережива -пережива -пережив -переживеш -пережив -переж -переж -пережит -переж -перезрел -переименова -переимчив -переинач -переинач -перейдет -перейдет -перейдут -перейд -перейт -перекидыва -перекинет -перекинул -перекинут -перекладн -перекладыва -перекладыва -переклика -перекова -перекос -перекос -перекрест -перекрест -перекрест -перекрест -перекрест -перекрест -перекрест -перекрестк -перекрестк -перекрестк -перекрестк -перекрестн -перекресток -перекрест -перекрещива -перекрещиван -перекрещив -перекрещ -перекуплен -перекус -перелетн -перелетн -перелива -перелива -перелив -перел -перелистыва -перелистыва -перелистыва -перелистыва -перелистыв -перелож -перелож -перелож -перел -перелом -перелома -перелома -перелом -перельет -перемелет -перем -перем -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перемен -перем -переменя -перемен -перемен -переменя -перемен -перемеша -перемеша -перемеша -перемин -перемолв -перемолол -перем -перенес -перенес -перенесен -перенес -перенесет -перенесеш -перенесл -перенесл -перенес -перенест -перенест -перенест -перенес -перенесут -перенос -перенос -перенос -перенос -перенос -перенос -перенос -переноч -перенош -переня -перенят -переодет -перепа -перепаха -перепел -перепел -перепелк -перепел -переписа -переписа -переписа -переписк -переписыва -переписыван -переписыва -перепишет -перепишет -переплет -переплет -переплет -перепл -переползан -переползан -переполнен -переполнен -переполн -переполня -переправ -переправ -переправ -переправ -перепрода -перепрода -перепуга -перепуга -перепуга -перепуга -перепуга -перепуга -перепуга -перепуга -перепута -перепута -перепута -перепута -перепьют -переработа -перераста -перерва -перерв -перерезыва -перерод -перерожда -перерожден -перер -перерыв -перерыв -перерыв -переряжен -пересвет -пересекл -пересел -пересел -пересел -пересел -пересел -переселя -пересилива -пересилива -пересилив -пересил -пересил -перескаж -пересказа -пересказа -пересказыва -пересказыва -пересказыва -перескакива -перескакива -перескоч -пересла -пересла -пересла -переслюн -пересмешк -пересмотр -пересохл -пересохл -переспор -переспрашива -переспрос -переспрос -перессор -переста -перестава -перестава -перестава -перестава -перестав -перестав -переставля -переста -переста -переста -переста -переста -перестан -перестанемт -перестанет -перестанет -перестанеш -перестан -перестанут -перестан -перестаньт -переста -переста -переста -перестрада -перестройк -перестройк -переступа -переступа -переступа -переступ -переступ -переступ -переступ -переступ -пересуд -пересчита -пересчита -пересчита -пересчитыва -пересыла -пересыла -пересыпа -перетаска -перетаскива -перетасовк -перетащ -перетащ -переулк -переулк -переулк -переулк -переулк -переулк -переулк -переулок -перехват -перехват -перехитрен -переход -переход -переход -переход -переход -переход -переход -переход -переход -переход -переходя -перехож -перечисл -перечита -перечита -перечниц -перешагнеш -перешагнул -перешагнут -перешедш -перешедш -перешел -перешепта -перешептыва -перешива -переш -перешл -перешл -перешл -перещеголя -пер -пер -перил -перин -перин -перин -перин -период -периодическ -периодическ -периодическ -периодическ -периодическ -перифер -перл -перламутр -перл -пер -пер -персидск -персидск -персидск -персик -персон -перспектив -перспектив -перспектив -перспектив -перспектив -перст -перстен -перстн -перстн -перстн -перстн -перст -перст -пер -перуджийск -перуджин -перудж -перун -перц -перчатк -перчатк -перчатк -перчатк -перчатк -перчаток -перш -перышк -пер -пер -пер -пес -пес -песенк -песенк -песенк -песенник -песенник -песк -песк -песк -пескин -песк -песк -песн -песн -песн -песн -песн -песн -песн -песн -песн -песн -песок -пестик -пестр -пестреют -пестр -пестр -пестр -пестрот -пестр -пеструшк -пестр -пестр -пестряк -пестряков -пестряков -песчан -песчан -песчан -песчинк -пет -петел -петербург -петербург -петербург -петербург -петербургск -петербургск -петербургск -петербургск -петербургск -петербургск -петербургск -петербургск -петербургск -петербуржц -петл -петл -петл -петлиц -петлиц -петлиц -петл -петл -петр -петр -петр -петр -петрович -петрович -петрович -петрович -петрович -петровк -петровн -петровн -петровн -петровн -петровн -петровск -петровск -петроградск -петроградск -петр -петр -петруш -петрушк -петрушк -петрушк -петрущ -петух -петух -петух -петух -петушк -пет -пет -пехот -пехот -пехотн -печал -печал -печа -печал -печал -печал -печал -печальн -печальн -печальн -печальн -печальн -печальн -печальн -печальн -печальн -печальн -печальн -печал -печал -печ -печата -печата -печата -печата -печат -печатн -печатн -печа -печат -печен -печен -печенк -печенк -печен -печен -печет -печ -печк -печк -печк -печк -печ -пешк -пешк -пешн -пещер -пещер -пианин -пив -пива -пива -пив -пив -пивц -пивц -пигмалион -пидерит -пиджак -пиджак -пиджак -пик -пикирова -пикирова -пикирова -пикнут -пил -пил -пил -пил -пилот -пилюл -пилюл -пион -пир -пир -пирамид -пирамид -пирамид -пир -пир -пирог -пирог -пирог -пирог -пирог -пирожк -пирожк -пирожн -пирожн -пир -пирушк -пир -писа -писа -писа -писа -писа -писа -писан -писа -писа -писан -писан -писан -писан -писар -писаришек -писаришк -писаришк -писар -писар -писател -писател -писател -писател -писательниц -писательств -писател -писател -писател -писател -писа -пис -писец -писк -пискарин -пистолет -писц -писц -писц -писц -писыва -письм -письм -письм -письмен -письмен -письмен -письмен -письмен -письмец -письмец -письм -письмоводител -письмоводител -письмоводител -письмоводител -письм -письм -пита -пита -пита -пита -пита -питан -пита -пита -пита -пит -пит -питейн -питейн -питер -питер -питер -пит -питомник -питомц -питомц -пит -пит -пит -пиф -пиш -пишет -пишет -пишет -пишеш -пиш -пиш -пиш -пишут -пишут -пишущ -пищ -пища -пищат -пищ -пищ -пищик -пищик -пищик -пищик -пищик -пищ -пиявк -пла -плава -плаван -плава -плава -плав -плавн -плавн -плавн -плака -плака -плака -плака -плака -плака -плака -плака -плакал -плака -плакид -плаксив -плакун -пламен -пламен -пламен -пламен -пламен -пламен -пламен -плам -план -план -план -план -план -планет -планет -планет -планет -планет -планет -план -планомерн -плантатор -план -план -пластинк -пластыр -плат -платеж -плат -плат -плат -платил -плат -плат -плат -плат -плат -платк -платк -платк -платк -платк -платк -платок -платон -платочек -платочк -плат -плат -платформ -плат -плат -плат -платьиц -платьиц -платьишк -платьишк -плат -плат -плат -плат -плат -плат -плач -плач -плач -плачевн -плачевн -плач -плачет -плачет -плачеш -плач -плачут -плачущ -плачущ -плачущ -плачущ -плач -плачьт -плащ -плащ -плащ -плащ -плащ -пле -плева -плеван -плевн -плевок -плед -плед -плел -племен -племянник -племянник -племянниц -плен -пленительн -пленительн -плен -пленник -плен -плен -плен -пленя -пленя -пленя -пленя -плеск -плескан -плесн -плеснул -плеснул -плеснул -плест -плетен -плетен -плетет -плет -плетн -плетн -плетн -плетут -плеч -плеч -плеч -плеч -плеч -плеч -плеч -плечик -плеч -плеч -плеч -плешив -плещет -плибьет -плисов -плит -плит -плит -плит -плит -плит -плод -плод -плод -плод -плодотворн -плодотворн -плод -плоск -плоск -плот -плотин -плотин -плотн -плотник -плотник -плотн -плотн -плотн -плотн -плотн -плотн -плот -плот -плох -плох -плох -плох -плох -плох -плохоньк -плох -плош -площад -площадк -площадк -площадк -площадн -площадн -площад -площад -площад -плуг -плут -плутоват -плутоват -плутовк -плутовск -плутовск -плутовск -плутовств -плут -плывет -плыв -плыл -плыл -плыл -плыт -плэд -плюгавеньк -плю -плюнет -плюн -плюнул -плюнут -плюн -плюс -плюх -плющ -плющ -плющ -плю -плюют -пляс -пляса -пляса -пляск -пляск -плясун -плясун -пляшет -пляш -пляшут -пни -по -побагровел -побаива -побаива -побег -побег -побег -побегут -побегушк -побед -побед -побед -побед -побед -побед -победител -победител -побед -победн -победн -побед -победоносц -победоносцев -побед -побед -побежа -побежа -побежа -побежа -побежда -побежда -побежда -побежда -побежд -побежд -побежден -побежд -побеж -побелевш -побелевш -побелел -поберег -поберег -поберег -побереч -побереч -побеспоко -побеспоко -побива -поб -побира -поблагодар -поблагодар -поблагодар -поблагодар -поблагодар -побледн -побледневш -побледневш -побледнеет -побледнел -побледнел -побледнел -побледнел -побледнеют -поблек -поблекл -поблекл -поблекл -поблекл -поблекнет -поблекш -поблескива -поближ -поблиз -пободр -побо -побож -побож -побо -побо -поб -побок -побол -поболта -побольш -побор -поборол -побор -побра -побран -побрезг -побр -поброд -поброса -побуд -побуд -побуд -побуд -побуд -побуд -побудьт -побужда -побужден -побыва -побыва -побыва -поб -побыстр -поб -побьет -повад -повадк -повад -поважн -повал -повал -повал -повал -повал -повал -повал -повальн -поваля -повар -повар -повар -повар -повар -повар -поведа -поведен -поведен -поведен -поведен -поведет -поведеш -повед -поведут -повез -повезет -повезл -повезут -повел -повел -повелева -повелел -повелен -повелен -повел -повел -повелител -повелительн -повелительн -повел -повел -поверга -поверга -поверен -поверен -поверен -поверен -поверен -повержен -повержен -повер -повер -повер -повер -повер -повер -повер -повер -повер -поверк -поверк -поверн -поверн -повернувш -повернувш -повернул -повернул -повернул -повернул -повернул -повернут -повернут -поверстн -повертел -повертет -поверт -повертыв -поверх -поверхностн -поверхностн -поверхн -повер -поверьт -повер -поверя -поверя -поверя -повер -поверя -повеселевш -повесел -повеселеет -повеселел -повеселел -повеселел -повеселел -повесел -повесел -повесел -повес -повес -повес -повес -повес -повествова -повествован -повествова -повеств -повест -повестк -повестк -повестк -повестк -повест -повест -повест -повесьт -пов -повечер -повешен -повея -повея -повивальн -повивальн -повида -повида -повида -повилик -повин -повин -повин -повинова -повинова -повин -повин -повину -повин -повис -повиса -повисл -повисл -повиснет -повисш -повисш -повит -повит -повихнул -повлекл -повлекл -повлия -повнимательн -повод -повод -повод -повод -повод -повод -поворачива -поворачива -поворачива -поворачива -поворачива -поворачив -поворачив -поворот -поворот -поворот -поворот -поворот -поворот -поворот -поворот -поворча -повостр -повред -повред -повред -повред -повсеместн -повсеместн -повстреча -повстреча -повсюд -повторен -повторен -повторен -повтор -повтор -повтор -повтор -повтор -повтор -повтор -повтор -повтор -повтор -повтор -повтор -повторя -повторя -повторя -повторя -повторя -повторя -повторя -повторя -повторя -повторя -повторя -повторя -повтор -повыскоч -повысосет -повыш -повышен -повяжет -повяза -повяза -повязк -повязк -повязк -поган -поган -погас -погаса -погаса -погасан -погас -погас -погас -погасл -погасл -погасл -погасш -погиб -погиба -погиба -погиба -погиба -погиба -погиба -погибел -погибельн -погибел -погибл -погибл -погибл -погибнет -погибн -погибнут -погибш -погибш -погибш -поглад -поглот -поглот -поглоща -поглощ -поглощен -поглубж -поглум -поглуп -поглупел -поглупет -погляд -поглядел -поглядел -поглядел -поглядел -поглядет -погляд -погляд -погляд -погляд -погляд -поглядыва -поглядыва -поглядыва -поглядыва -поглядыв -погляж -погна -погна -погнуша -поговарива -поговарива -поговарива -поговор -поговор -поговор -поговор -поговор -поговор -поговор -поговор -погогочут -погод -погод -погод -погод -погод -погод -погод -погод -погод -погож -погон -погон -погон -погорд -погорел -погорельц -погорельц -погорячат -погоряч -погоряч -погост -погреб -погреб -погреба -погреба -погребальн -погребальн -погреб -погреб -погребл -погребл -погроз -погроз -погроз -погрозн -погромч -погружа -погружа -погружа -погружа -погружа -погруж -погруж -погруж -погружен -погружен -погруз -погруз -погруз -погруз -погруз -погруз -погруз -погруз -погруз -погруз -погруст -погруст -погуб -погуб -погуб -погуб -погубл -погуля -погуля -погуля -погуля -погуля -погущ -под -подава -подава -подава -подава -подава -подава -подав -подав -подав -подавлен -подавлен -подавлен -подавлен -подавл -подавля -подавля -подавл -подавн -подагр -подагрик -подагр -подагр -подагр -подад -подад -подадут -пода -пода -пода -пода -пода -пода -пода -пода -пода -подальш -под -пода -пода -пода -пода -подарен -подарен -подар -подар -подар -подар -подар -подар -подарк -подарк -подарк -подарок -подар -подаст -подат -пода -подач -подачк -подаш -пода -пода -пода -пода -подаян -подбег -подбегут -подбежа -подбежа -подбежа -подбер -подбива -подбира -подбира -подбира -подбира -подбира -подбир -подбит -подбит -подбородк -подбородк -подбородок -подбочен -подброс -подва -подвал -подвальн -подвальн -подвальн -подведет -подведеш -подвел -подвел -подвел -подверга -подверга -подверга -подверга -подверга -подверга -подвергнут -подверн -подвернувш -подвернул -подвернул -подвест -подвиг -подвиг -подвига -подвига -подвига -подвига -подвиг -подвиг -подвиг -подвиг -подвигл -подвиг -подвиг -подвижник -подвижн -подвинет -подвинув -подвинул -подвинул -подвинул -подвинул -подвинул -подвинут -подвластн -подвод -подвод -подвод -подвод -подвод -подвод -подвож -подворотн -подвох -подвяза -подгад -подгад -подгиба -подгиба -подгиб -подглядел -подглядыва -подгоня -подгорел -подгор -подгорюн -подготовк -подготовлен -подготовл -подготовл -подготовля -подготовля -подгреб -подгуля -поддава -поддава -поддад -поддад -подда -поддакива -поддакива -поддакива -поддакива -поддакив -поддакнул -подда -подда -подда -подд -поддаст -подда -поддева -поддевк -поддел -поддела -поддела -подделыва -подделыва -подделывател -поддержан -поддержа -поддерж -поддержива -поддержива -поддержива -поддержива -поддержива -поддержива -поддержива -поддержив -поддерж -поддержк -поддразнива -поддразнива -поддразнива -подействова -подействова -подействова -подействова -подействова -подейств -подела -подел -подел -подел -подержа -подер -подернул -подернул -подернут -подернут -подернут -подернут -подерут -подешевл -поджа -поджат -поджег -поджига -поджига -поджида -поджида -поджида -поджида -поджима -поджим -подзадорив -подзатыльник -подземел -подземн -подземн -подземн -подзыва -подзыва -под -подив -подив -под -подкараул -подкараульт -подкат -подкинут -подкипят -подкладк -подкладк -подкладк -подкладыва -подкладыва -подкладыв -подк -подколенк -подколодн -подкос -подкрадет -подкрадут -подкреп -подкрепл -подкрепля -подкуп -подлажив -подл -подл -подл -подл -подл -подл -подл -подленьк -подлец -подлец -подлец -подлец -подлец -подлец -подливк -подл -подлин -подлин -подлича -подл -подл -подл -подлож -подл -подлост -подлост -подл -подл -подл -подл -подман -подмахнет -подмахн -подмахнул -подмест -подмет -подмет -подметк -подметок -подмигива -подмигива -подмигива -подмигив -подмигнув -подмигнул -подмонтирова -подмыва -подмыва -подмышк -подмышк -поднадул -поднадут -поднес -поднест -подн -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -поднима -подним -подним -подним -поднимет -подн -поднимут -подноготн -поднос -поднос -поднос -поднос -поднос -поднос -подня -подня -подня -подня -подня -подня -подня -подня -подня -подня -подня -подня -подн -поднят -подня -подня -под -подоб -подоб -подобн -подобн -подобн -подобн -подобн -подобн -подобн -подобн -подобн -подобн -подобостраст -подобострастнича -подобострастн -подобра -подобра -подобра -подобра -подобра -подобра -подобр -подогнут -подогрева -подогрет -пододвинул -пододвинул -подожгл -подожда -подожда -подожда -подожд -подождет -подождеш -подожд -подожд -подожд -подожм -подозва -подозрева -подозрева -подозрева -подозрева -подозрева -подозрева -подозрева -подозрева -подозрева -подозрева -подозрев -подозрен -подозрен -подозрен -подозрен -подозрен -подозрен -подозрен -подозрител -подозрительн -подозрительн -подозрительн -подозрительн -подозрительн -подозрительн -подозрительн -подойдет -подойдеш -подойд -подойд -подойд -подойт -подоконник -подоконник -подол -подолг -подол -подольст -подольща -подонк -подонкихотствова -подопрет -подосадова -подосла -подоспеет -подоспел -подоткнул -подох -подошв -подошедш -подошедш -подошедш -подошел -подошл -подошл -подошл -подошл -подпева -подпева -подпева -подпер -подперет -подп -подпира -подпир -подписа -подписа -подписа -подписа -подписа -подписа -подпис -подписк -подписк -подписк -подписыва -подписыва -подписыва -подписыва -подписыва -подписыва -подписыв -подп -подпис -подпишет -подпишет -подпишеш -подпиш -подпиш -подполза -подполз -подползл -подполковник -подпол -подпоручик -подпруг -подпрыгива -подпрыгива -подпрыгив -подпрыгнул -подпуска -подрагива -подража -подразделен -подразделен -подразн -подразумева -подра -подра -подра -подраста -подреза -подреза -подробн -подробн -подробнича -подробн -подробн -подробн -подробн -подробн -подробн -подробн -подробн -подробн -подробн -подрос -подросл -подруг -подруг -подруг -подруг -подруг -подруг -подруг -подруж -подруж -подряд -подряд -подряд -подрядчик -подрядчик -подрядчик -подряжа -подсвечник -подсвечник -подсвистыва -подсека -подсекл -подсекл -подсел -подскаж -подсказа -подсказыва -подсказыва -подсказыва -подсказыв -подскакива -подскоч -подскоч -подслеповат -подслеп -подслужива -подслуша -подслуша -подслуша -подслушива -подслушива -подслушива -подслушива -подслушива -подсматрива -подсмеива -подсмотрет -подсоб -подсочинен -подстав -подстав -подстав -подставля -подставля -подставл -подстерега -подстерега -подстерега -подстереч -подстил -подстрекательн -подстрелен -подстрел -подстрел -подстрига -подступ -подступ -подсудим -подсудим -подсудим -подсудим -подсунул -подсунул -подталкива -подталкива -подтверд -подтверд -подтверд -подтверд -подтвержда -подтвержда -подтвержда -подтвержда -подтвержда -подтвержда -подтвержда -подтвержда -подтвержден -подтвержден -подтверж -подтибр -подтыка -подтянут -подув -подуван -подув -подул -подума -подума -подума -подума -подума -подума -подума -подума -подума -подума -подума -подума -подума -подума -подумыва -подумыва -подурнел -подурнел -подустро -подушек -подушечк -подушк -подушк -подушк -подушк -подушк -подхват -подхват -подхват -подхват -подхват -подхват -подхват -подхватыва -подхватыва -подхватыв -подхлопыва -подход -подход -подход -подход -подход -подход -подход -подход -подход -подходн -подход -подход -подходя -подходя -подходя -подхож -подчас -подчеркнул -подчинен -подчинен -подчинен -подчин -подчин -подчин -подчин -подчиня -подшиван -подшива -подшучива -подъезд -подъезжа -подъезжа -подъ -подъем -подъемлют -подъемн -подъеха -подыма -подыма -подыма -подыма -подыма -подыма -подыман -подыма -подыма -подым -подым -подым -подыскива -подыша -подыш -под -подьяческ -подьяч -подьяч -подьяч -поед -поедемт -поедет -поедет -поедеш -поединк -поединк -поед -поедут -поед -поезд -поезд -поезд -поездк -поездк -поездк -поездк -поезд -поезд -поезжа -поезжа -поел -по -поест -поест -поет -поет -поет -поеха -поеха -поеха -поеха -поеш -пожа -пожа -пожа -пожал -пожалеет -пожалееш -пожал -пожал -пожалел -пожалел -пожалел -пожа -пожалова -пожалова -пожалова -пожалова -пожалова -пожал -пожалуйст -пожалуйств -пожал -пожар -пожар -пожар -пожар -пожарищ -пожарн -пожарн -пожар -пожар -пожар -пожат -пожат -пожа -пожела -пожела -пожела -пожела -пожела -пожелан -пожела -пожела -пожела -пожелтевш -пожелтел -пожелтел -пожертвова -пожертвова -пожертвован -пожертвова -пожертв -пожертвует -пожертв -пожива -пожива -пожив -пожив -поживеш -пожил -пож -пожил -пожил -пожил -пожил -пожима -пожима -пожима -пожим -пожина -пожира -пожира -пожира -пожир -пож -пожм -пожмет -позабав -позабот -позабот -позаб -позаб -позабыт -позавидова -позавидова -позавтрака -позавтрака -позавтрака -позавтрака -позавчер -позад -позаимствова -позаня -поз -позва -позва -позва -позвал -позва -позва -позволен -позволен -позвол -позвол -позвол -позвол -позвол -позвол -позволительн -позволительн -позволительн -позвол -позвол -позвольт -позвол -позволя -позволя -позволя -позвол -позволя -позволя -позволя -позволя -позвон -позвон -позвякива -поздн -поздн -поздн -поздн -поздн -поздн -поздн -поздн -поздорова -поздорова -поздорова -поздорова -поздоров -поздоров -поздрав -поздрав -поздравлен -поздравля -поздравля -поздравля -поздравля -поздравля -поздрав -поз -позевыв -позж -позиц -позл -позна -познава -позна -позна -позна -познаком -познаком -познаком -познаком -познаком -познакомл -познаком -позна -позна -познан -познан -познан -позначительн -позовет -позов -позов -позовут -позолот -позолот -позор -позор -позорищ -позорн -позорн -позорн -позорн -позор -поз -поз -поз -позыв -позьм -по -поигра -по -по -поимен -поиска -поиска -поиска -поиск -поистин -по -по -поищ -поищ -поищ -по -пойд -пойдемт -пойдет -пойдет -пойдеш -пойд -пойдут -пойма -пойма -пойма -пойма -пойма -пойма -пойма -пойма -пойма -пойма -пойма -пойма -пойм -поймет -поймет -поймеш -пойм -пойм -пойм -поймут -пойт -пок -покажет -покажет -покажет -покаж -покаж -покаж -покажут -покажут -показа -показа -показа -показа -показа -показа -показа -показа -показан -показан -показан -показан -показан -показа -показа -показа -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыва -показыв -покамест -поката -поката -поката -покат -покат -покат -покат -покат -покатыва -покат -покача -покача -покача -покача -покачива -покачив -покачнул -покачнул -пока -покаян -покаян -покиван -покида -покида -покида -покида -покида -покида -покида -покид -покинет -покинеш -покин -покинув -покинул -покинут -покинут -поклад -покладыва -поклаж -поклаж -покла -поклон -поклон -поклонен -поклонен -поклонен -поклон -поклон -поклон -поклон -поклон -поклон -поклонник -поклонник -поклонник -поклонник -поклонник -поклонник -поклон -поклон -поклон -поклон -поклоня -поклоня -поклоня -поклон -поклоня -поклон -покля -покля -покля -поклян -пок -поко -поко -поко -поко -поко -поко -поко -поко -поко -поко -пок -покойн -покойн -покойн -покойник -покойник -покойник -покойник -покойник -покойник -покойниц -покойниц -покойниц -покойн -покойн -покойн -покойн -покойн -покойн -покойн -покойн -покойн -покойн -покойн -покойн -пококетнича -поколеба -поколеба -поколеба -поколен -поколен -поколен -поколен -поколот -поколот -покомфортн -поконч -покончен -поконч -поконч -поконч -поконч -поконч -поконч -поконч -покор -покорен -покор -покор -покорм -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покорн -покороб -покороб -покороч -покорств -покоря -покоря -покоря -покос -покос -пок -пок -поко -поко -поко -покоя -покрадут -покраж -покраж -покрасн -покрасневш -покраснеет -покраснел -покраснел -покрашен -покрепч -покрив -покрив -покрикива -покрич -покровител -покровител -покровительств -покровительств -покровительствова -покровительств -покровительств -покров -покр -покрупн -покрут -покр -покрыва -покрыва -покрыва -покрыва -покрыва -покрывал -покрыв -покр -покр -покр -покр -покрыт -покрыт -покрыт -покрыт -покрыт -покр -покрышк -покуд -покупа -покупа -покупа -покупа -покупател -покупа -покупк -покупк -покупк -покупк -покупк -покупк -покупн -покураж -покур -покус -покуша -покуша -покуша -покушен -покушен -покушен -покушен -покушен -пол -пол -полага -полага -полага -полага -полага -полага -полага -полаг -полаком -поласков -полатв -полбутылк -полведр -полгод -полгород -полден -полдневн -полдн -полдорог -полдюжин -пол -полев -полегоньк -полегч -поледенел -полежа -полежа -полежа -полеж -полеж -полез -полеза -полез -полезет -полезл -полезл -полезн -полезн -полезн -полезн -полезн -полезн -полезн -полезн -полезн -полезн -полезн -полезн -пол -пол -пол -полен -полен -полен -поленьк -поленьк -поленьк -полет -полет -полетел -полетел -полетел -полетел -полетет -полет -полет -полет -полет -полечива -полечк -полечк -полечк -полечк -полеч -полжизн -полза -полза -полза -полза -ползет -ползуч -ползущ -ползущ -полз -полива -полива -пол -полин -полин -полин -полин -полиня -полиня -полиня -полиня -полинял -полинял -полинял -полис -политик -политик -политик -политик -политик -политическ -политическ -политическ -политическ -политическ -политическ -политическ -полицейск -полицейск -полицейск -полициан -полиц -полиц -полиц -полиц -полиц -полишинел -полк -полк -полкан -полк -полк -полк -полковник -полковник -полковник -полковнич -полковнич -полководц -полков -полков -полкомнат -полк -полмиллион -полминут -полн -полн -полн -полн -полн -полнет -полн -полноводн -полн -полн -полн -полнокровн -полн -полност -полнот -полнот -полнот -полноч -полночн -полночн -полночн -полноч -полн -полн -полн -полн -полн -полн -полн -полн -пол -половецк -половик -половин -половин -половинк -половинк -половин -половин -половин -половинчат -половин -полов -полов -полов -половч -полов -полог -полог -полож -положат -полож -полож -положен -положен -положен -положен -положен -положен -положен -положен -положен -положен -положен -положен -полож -полож -полож -полож -полож -полож -полож -полож -полож -положительн -положительн -положительн -положительн -положительн -положительн -положительн -полож -полож -полож -полож -полож -пол -полок -пол -полома -поломойн -полон -полонен -полонск -полос -полосат -полоска -полоск -полоск -полоск -полоск -полоск -полоснет -полос -полос -полост -полост -полос -полотенц -полотенц -полотн -полотн -полотн -полотнищ -полотн -полоумн -полоумн -полоумн -полоумн -полощет -полощут -полпивн -полпивн -полслов -полсотн -полстака -полстраниц -полсутк -полтинник -полтинник -полтинник -полтин -полтор -полтор -пол -полубезумн -полубессмыслен -полубог -полубред -полувесел -полугод -полугор -полудворянск -полуден -полудн -полудн -полудремот -полукруг -полумгл -полумертв -полумрак -полумрак -полун -полуноч -полуночн -полунощн -полуотворен -полуотворен -полуотворен -полуотворен -полуоткрыт -полупоклон -полупрезрен -полупрезрен -полупросып -полупьян -полуразвал -полуразрушен -полуслов -полусн -полусознан -полустрадн -полусумасшедш -полусумасшедш -полутон -полутор -полуформен -получа -получа -получа -получа -получа -получа -получа -получа -получа -получа -получас -получа -получа -получ -получен -получен -получен -получен -получен -получен -получен -получен -получен -получ -получ -получ -получ -получ -получ -получ -получ -получимш -получиновнич -получ -получ -получ -получ -получ -получш -полушепот -полуштоф -полушубк -полушубок -полчас -полчасик -полчищ -полшаг -пол -полым -полым -полын -полын -полыхнет -польз -пользова -пользова -пользова -пользова -пользова -польз -польз -пользует -пользуеш -польз -пользу -польз -польк -польк -польск -польск -польск -польск -польск -польст -польст -польш -польш -польш -польщ -пол -полюб -полюб -полюб -полюб -полюб -полюб -полюб -полюб -полюбл -полюбопытствова -полюб -полюс -полюс -пол -поляк -поляк -поляк -поляк -пол -пол -полян -поля -полярн -пол -полячишк -полячк -полячк -полячк -полячок -помадк -помад -помад -помаленьк -помал -помахив -помашет -помедл -помедл -помедл -помедл -помел -помен -помен -поменьш -поменя -поменя -помер -померанцев -померанцев -померанцев -померанц -померет -померещ -померещ -померзл -померк -померка -померкл -померкл -померкш -померл -помертв -помертвевш -помертвевш -помертвевш -помертвевш -помертвевш -помертвел -помертвел -померя -помест -помест -помест -помест -помест -поместительн -помест -помесячн -помех -помечен -помечта -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помеша -помешательств -помешательств -помешательств -помеша -помеша -помеша -помеща -помеща -помеща -помеща -помещен -помещен -помещен -помещен -помещик -помещик -помещик -помещик -помещик -помещиц -помещич -помещ -помещьч -помил -помил -помил -помим -помин -помина -помина -помина -помина -помина -помина -поминк -поминк -поминк -поминок -помин -поминутн -поминутн -помира -помир -помир -помир -помир -помир -помн -помн -помн -помн -помн -помн -помн -помн -помн -помн -помн -помн -помн -помн -помн -помня -помня -помня -помог -помога -помога -помога -помога -помога -помога -помога -помог -помог -помог -помогл -помогл -помогл -помог -помогут -поможет -помойн -помойн -помол -помол -помол -помол -помолодел -помолодел -помолож -помолча -помолча -помолча -помолча -помолча -помолч -помолч -помол -поморщ -поморщ -помоч -помоч -помоч -помоч -помощ -помощ -помощник -помощник -помощник -помощниц -помощниц -помощ -помощ -помо -помо -помрача -помрач -помрачен -помрачен -помрач -помрет -помудрен -помут -помутневш -помуча -помуч -помыка -помысл -помысл -помысл -помысл -помышлен -помышлен -помышля -помягч -помянет -помян -помян -помянул -помянут -помянут -помят -помя -понаведа -понадея -понадея -понадея -понадоб -понадоб -понадоб -понадоб -понадоб -понадобл -понадоб -понапрасн -понасажа -понатуж -поневол -понедельник -понедельник -понедельник -понелеп -понемног -понемножк -понес -понес -понесет -понесет -понесл -понесл -понесл -понесут -пониж -пониж -понижен -пониз -пониз -поник -поникнув -понима -понима -понима -понима -понима -понима -понима -понима -понима -пониман -пониман -пониман -пониман -понима -понима -понима -понима -понима -понима -поним -понм -понов -понос -поношен -поношен -поношен -поношен -понош -понрав -понрав -понрав -понрав -понрав -понрав -понуд -понужда -понука -понукан -понук -понур -понын -понюха -понюха -понюха -понюха -понюха -понюха -поня -поня -поня -поня -поня -поня -пон -понят -понят -понят -понят -понят -понят -понят -понятлив -понятн -понятн -понятн -понятн -понятн -понятн -понятн -понятн -понят -поня -пообеда -пообеда -пообеда -пообеда -пообеда -пообеда -пообеда -пообтер -поодал -поочередн -поощря -поощря -попа -попа -попада -попада -попада -попада -попада -попада -попада -попада -попада -попада -попада -попад -попадет -попадет -попадеш -попадеш -попа -попа -попа -попа -попа -попа -попа -попа -поп -попаст -попахива -поперек -поперемен -поперечн -поперечн -попестр -попечен -попира -попиран -пописыва -поплавок -поплака -поплачет -поплачут -поплевыва -поплевыв -поплел -поплел -поплотн -поплывут -поп -попович -попозж -попойк -попол -пополз -поползет -поползл -поползновен -пополнел -пополн -пополудн -попользова -попомн -попон -попорт -попотчева -поправ -поправ -поправ -поправ -поправ -поправим -поправ -поправ -поправ -поправк -поправк -поправк -поправл -поправля -поправля -поправля -поправля -поправл -поправочк -поправ -поправьт -поправ -попрека -попрека -попрека -попрека -попрека -попрекнул -попрек -попридержа -попридерж -поприщ -поприщ -поприщин -поприщ -попробова -попробова -попробова -попроб -попроб -попроб -попрозорлив -попрос -попрос -попрос -попрос -попрос -попрос -попрос -попрос -попрос -попрост -попрос -попрош -попуга -попудр -попуст -попутчик -попыта -попыта -попыта -попытк -попытк -попыток -попят -пор -пор -поработа -поработа -порабощен -поравня -поравня -поравня -порадова -порадова -порад -поража -поража -поража -пораж -пораж -поражен -поражен -поражен -поражен -поражен -поражен -поражен -пораж -поражен -пораз -пораз -пораз -пораз -пораз -поразительн -пораз -пораньш -пораспотрош -порастет -пор -порва -порва -порва -порва -порвет -пор -пореш -пореш -пореш -пореш -пореш -порица -порицан -порица -поровня -поровня -порог -порог -порог -порог -порог -пород -пород -пород -пород -порожда -порожда -порожн -пор -порок -порок -порок -порок -поросенк -поросл -поросл -поросят -порох -порох -порохов -порохов -порох -порох -пороч -порочн -порочн -порочн -порочн -порочн -порошк -порошк -порошок -порошочек -пор -портер -портер -портер -порт -порт -порт -порт -портмон -портних -портних -портних -портн -портн -портн -портн -портн -портрет -портрет -портретик -портрет -портфел -портьер -пор -порубк -поруга -поруган -поруга -поруган -поруган -порумян -поручат -поруча -поручен -поручен -поручен -поручен -поручен -поручен -поручен -поруч -поруч -поручик -поручик -поручик -поручик -поручиков -поручик -поручик -поруч -поруч -поруч -поруч -поруч -поруч -поруч -порфир -порфир -порфир -порфир -порфир -порха -порха -порхнул -порхнул -порц -порч -пор -пор -порыв -порыва -порыва -порыва -порыва -порыв -порыван -порыван -порыван -порыва -порыв -порывист -порывист -порывист -порывист -порыв -порыв -порыв -пор -пор -порыска -порядк -порядк -порядк -порядк -порядк -порядк -порядок -порядочн -порядочн -порядочн -порядочн -порядочн -порядочн -порядочн -порядочн -порядочн -посад -посад -посад -посад -посад -посад -посад -посад -посад -посажен -посажен -посаж -посвата -посвата -посвата -посвеж -посвистыв -посвят -посвят -посвяща -посвяща -посвяща -посвящ -посвящен -пос -поседевш -посекут -посел -посел -посел -посел -посел -посел -пос -посередин -посет -посет -посетител -посетител -посетител -посетител -посетител -посетител -посет -посет -посеч -посеща -посеща -посеща -посеща -посеща -посеща -посеща -посеща -посеща -посещен -посещен -посещен -посещен -посещен -посея -посид -посидел -посидет -посид -посид -посид -посид -посид -посижива -посиж -посильн -посильн -посильн -посимпатичн -посиневш -поскака -поскачет -поскольк -поскон -поскон -поскор -поскор -посла -посла -посла -посла -посла -послан -посланник -посланник -посла -посла -посл -последк -последн -последн -последн -последн -последн -последн -последн -последн -последн -последн -последн -последн -последн -последова -последова -последова -последова -последова -последовательн -последовательн -последова -последств -последств -последств -последств -последств -послед -послед -послед -послезавтр -послеобеден -послеобеден -послеобеден -пословиц -пословиц -послуж -послуж -послуж -послуж -послуж -послуша -послуша -послуша -послуша -послуша -послуша -послуша -послуша -послуша -послуша -послуша -послуша -послушан -послушан -послушан -послуша -послуша -послушн -послушн -послушн -послушн -послушн -послушн -послушн -послыша -послыша -послыша -послыша -послыша -послышат -послыш -послыш -посматрива -посматрив -посме -посмеет -посмеет -посмеива -посмеива -посмел -посмел -посмет -посмеш -посмеют -посмея -посмея -посмирн -посмотр -посмотрел -посмотрел -посмотрел -посмотрел -посмотрет -посмотр -посмотр -посмотр -посмотр -посмотр -посмотр -посмотр -поснима -пособ -пособ -посовест -посовест -посоветова -посоветова -посоветова -посоветова -посовет -посовет -посолидн -посол -посоловел -посольств -посох -поспа -поспа -поспева -поспева -поспева -поспеет -поспел -поспет -поспеша -поспеша -поспеш -поспеш -поспеш -поспеш -поспеш -поспеш -поспешн -поспешн -поспешн -поспешн -поспешн -поспеш -посп -посп -посплетнича -поспор -посред -посредин -посредник -посредник -посредств -посредств -поссор -поссор -поссор -пост -постав -постав -постав -постав -постав -постав -постав -постав -поставл -поставлен -поставлен -поставлен -поставля -поставц -постав -поставьт -постав -постара -постара -постара -постара -постара -постара -постара -постаревш -постарел -постарел -постарел -постарет -постарш -постел -постел -постельк -постельк -постельн -постел -постел -постепен -постепен -постепен -постепен -постепен -постиг -постига -постигнет -постигнеш -постигнут -постила -постил -постич -постла -постла -постла -постла -постн -постн -постн -пост -постойт -постольк -пост -посторон -посторон -посторон -посторон -посторон -посторон -посторон -посторон -посторон -посторон -посторон -посторонн -посторон -постоя -постоя -постоя -постоя -постоял -постоя -постоя -постоя -постоя -постоя -постоя -постоя -постоя -постоя -постоя -постоянств -постоя -пострада -пострада -пострада -постраща -пострел -постреленок -пострич -построек -постро -построен -построен -построж -постро -постро -постро -постро -постройк -постройк -постройк -постройк -пост -постукива -постукиван -постукива -постукива -поступа -поступа -поступа -поступа -поступа -поступа -поступ -поступ -поступ -поступ -поступ -поступ -поступ -поступ -поступк -поступк -поступк -поступк -поступк -поступк -поступк -поступк -поступк -поступл -поступок -поступ -поступ -постуча -постуча -постуча -постуча -постуч -постуч -постыд -постыд -постыд -постыдн -постыл -пост -постыл -постыл -посуд -посудинк -посудинк -посуд -посуд -посуд -посуд -посует -посуществен -посыла -посыла -посыла -посыла -посыла -посыла -посыла -посыла -посыла -посыла -посыла -посылк -посыльн -посыпа -посяга -пот -пот -потаен -потанчик -потапыч -потаска -потаска -потаскун -потаскун -поташ -потащ -потащ -потащ -потащ -пот -потекл -потекл -потекут -потемневш -потемневш -потемн -потемнел -потемок -потепл -потер -потер -потер -потер -потерпел -потерп -потерт -потерт -потер -потер -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потеря -потесн -потех -потеш -потеш -потеш -потешник -потешн -потира -потира -потиран -потир -потихоньк -потиш -поток -поток -поток -поток -потолк -потолк -потолков -потолк -потолку -потолок -потолоч -потолстеет -пот -потом -потомк -потомк -потомок -потомств -пот -потонет -потонул -потонут -потонут -потораплива -поторгова -потороп -потоскова -потрат -потраф -потрач -потреблен -потребн -потребн -потребн -потребн -потребн -потребова -потребова -потребова -потребова -потребова -потреб -потреб -потреб -потребуеш -потреб -потревож -потрепа -потрепа -потрепа -потрепа -потрепещут -потрет -потрогив -потрох -потрох -потруд -потруд -потрут -потряс -потряса -потряса -потряса -потряса -потряс -потряс -потрясен -потрясен -потрясл -потрясл -пот -потуг -потуп -потуп -потуп -потуп -потуп -потуплен -потупля -потупл -потуп -потуп -потускл -потускнел -потух -потуха -потухш -потухш -потухш -потуш -потуш -потуш -потчеван -потчеван -потчева -потч -потягива -потягива -потягив -потянет -потян -потянул -потянул -потянул -потянул -поубав -поубра -поудал -поужина -поужина -поужина -поумн -поумнича -поутр -поуча -поучен -поучительн -поуч -пофанфарон -пофилософствова -пофилософствова -пофилософству -пофилософствуеш -пофорс -похажив -похва -похва -похвал -похвал -похвал -похвал -похвал -похвал -похвал -похвальб -похвальн -похвальн -похвальн -похваста -похваста -похва -похит -похитител -похища -похищен -похлопота -похлопоч -похлопыв -похмел -похмел -похмел -поход -поход -поход -поход -поход -поход -поход -поход -поход -походимт -поход -поход -поход -походк -походк -походк -походк -походн -поход -поход -похож -похож -похож -похожден -похож -похож -похож -похож -похож -похож -похож -похож -похож -похож -похозяйнича -похолод -похолодел -похолодел -похолодел -похолодел -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорон -похорошел -похот -похотлив -похудевш -похудевш -похудееш -похудел -похудел -похудел -похудел -похуж -поцелова -поцелова -поцелова -поцелова -поцелу -поцелу -поцелу -поцелу -поцел -поцелу -поцел -поцел -поцел -поцелу -поцелу -почавка -почат -почащ -почв -почв -почв -почв -почел -поч -поч -почерк -почерневш -почернел -почернел -почерпа -почерпнеш -почерпнут -почерпнут -почеса -почест -почест -почесыва -почесыв -почетн -почетн -почетн -почетн -почет -почива -почива -почива -почива -почива -почиет -поч -почин -починива -почин -почин -починк -починков -починк -почин -почист -почита -почита -почита -почита -почита -почитател -почита -почита -почищ -почищ -почиющ -почл -почмока -почт -почт -почтальон -почтальон -почтамт -почт -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почтен -почт -почт -почтительн -почтительн -почтительн -почтительн -почтительн -почтительн -почтительн -почтительн -почт -почтмейстер -почт -почтов -почтов -почтов -почтов -почтов -почтов -почт -почт -почт -почувствова -почувствова -почувствова -почувствова -почувств -почуд -почуд -почуд -почуд -почу -пошалива -пошар -пошар -пошатнет -пошатнул -пошатыва -пошатыв -пошевел -пошевелива -пошевел -пошевел -пошевел -пошевел -пошевел -пошевел -пошевел -пошевел -пошевел -пошел -пошепта -пошепчут -пошл -пошл -пошл -пошл -пошленьк -пошленьк -пошленьк -пошлет -пошлеш -пошл -пошл -пошл -пошл -пошл -пошл -пошлост -пошлост -пошлост -пошл -пошл -пошл -пошл -пошляк -пошляк -пошляк -пошляческ -пошт -пошт -пошут -пошут -пошут -пощад -пощад -пощад -пощад -пощекота -пощекота -пощелка -пощелкива -пощупа -поэз -поэз -поэз -поэм -поэм -поэм -поэт -поэт -поэт -поэтическ -поэтическ -поэтическ -поэтическ -поэтическ -поэтическ -поэтическ -поэтическ -поэтичн -поэтичн -поэт -поэт -поэт -по -поют -поющ -появ -появ -появ -появ -появ -появлен -появлен -появлен -появлен -появля -появля -появля -появля -появля -поярч -пояс -пояс -пояс -поясн -пояснен -поясн -пояс -по -прав -прав -прав -прав -прав -прав -правд -правд -правдив -правд -правдоподоб -правдоподобн -правдоподобн -правд -правд -правд -прав -праведн -праведн -праведн -прав -правел -прав -прав -правил -правил -прав -правильн -правильн -правильн -правильн -правильн -правильн -правильн -правильн -правильн -прав -правительств -правительств -правител -правлен -правнук -прав -правовед -прав -прав -прав -прав -православн -православн -православн -православн -правосуд -прав -прав -прав -прав -прав -прав -прав -прадед -прадед -прадедушк -празд -праздн -праздник -праздник -праздник -праздник -праздник -праздник -праздник -праздник -праздник -праздничн -праздничн -праздничн -праздничн -праздн -праздн -праздн -праздн -празднолюбц -праздн -праздн -праздност -праздност -праздност -праздн -праздн -праздн -празелен -практик -практик -практик -практикова -практик -практическ -практическ -практическ -практическ -практическ -практическ -практическ -праотц -праотц -прасков -прасков -прасков -прах -прах -прах -прах -прачк -прачк -преавенантненьк -преблагополучн -пребудет -пребуд -пребыва -пребыван -пребыв -превесел -превозмога -превозмоч -превознос -превознос -превосходительств -превосходительств -превосходительств -превосходн -превосходн -превосходн -превосходн -превосходн -превосходн -превосходн -превосходств -преврат -преврат -преврат -преврат -преврат -превратн -превраща -превраща -превраща -превраща -превраща -превращен -превыша -превыша -преглуп -преград -преград -преград -преград -преград -пред -предава -предава -предава -преда -преда -пред -пред -преда -преда -предан -предан -предан -предан -предан -преда -предан -предан -предан -преда -преда -преда -предан -предан -предаст -предател -предательств -преда -преда -предварительн -предварительн -предварительн -предвестник -предвест -предвечн -предвеща -предвзят -предвзят -предвидел -предвидел -предвидел -предвидел -предвиден -предвиден -предвидет -предвид -предвид -предвид -предвиж -предводител -предел -предел -предел -предзнаменован -предислов -предк -предлага -предлага -предлага -предлага -предлага -предлага -предлага -предлага -предлага -предлага -предлага -предлага -предлаг -предлог -предлог -предлог -предлог -предлог -предлог -предложат -предлож -предложен -предложен -предложен -предложен -предложен -предложен -предложен -предлож -предлож -предлож -предлож -предлож -предлож -предмест -предмет -предмет -предмет -предмет -предмет -предмет -предмет -предмет -предмет -предназнач -предназначен -предназначен -преднамерен -преднамерен -пред -предопределен -предопределен -предорог -предостав -предостав -предоставля -предоставля -предостерега -предостерега -предостережен -предостережен -предостережен -предостереч -предосторожн -предотвращен -предохраня -предписа -предписан -предписа -предписа -предписа -предписыва -предполага -предполага -предполага -предполага -предполага -предполага -предполага -предполага -предполага -предполага -предполага -предполаг -предположен -предположен -предположен -предположен -предполож -предполож -предполож -предполож -предполож -предположительн -предполож -предпосла -предпочел -предпочита -предпочит -предпочл -предпочтен -предпочтет -предпримет -предпринима -предпринима -предпринима -предприня -предприят -предприят -предприят -предприят -предприят -предприят -предрассудк -предрассудк -предрассудк -предрассудк -предрассудк -предрассудк -предрассудок -предрассудочн -предрассудочн -предрек -председател -председател -председательств -председател -предсказа -предсказан -предсказыв -предсмертн -предсмертн -представа -представ -представ -представ -представ -представ -представ -представ -представительниц -представ -представ -представ -представлен -представлен -представлен -представл -представля -представля -представля -представля -представля -представля -представля -представля -представля -представля -представля -представля -представля -представля -представл -представ -представьт -представ -предста -предстанет -предста -предсто -предстоя -предстоя -предстоя -предстоя -предстоя -предстоя -предстоя -предстоя -предстоя -предубежден -предубежден -предубежден -предуведом -предуведомл -предугада -предугада -предугадыва -предуготовительн -предузна -предупред -предупред -предупред -предупредительн -предупред -предупрежда -предупрежда -предупрежд -предусмотрел -предусмотрительн -предчувств -предчувств -предчувств -предчувств -предчувств -предчувств -предчувствова -предчувствова -предчувствова -предчувствова -предчувствова -предчувствова -предчувствова -предчувств -предчувств -предчувств -предчувству -предшественник -предшествова -предшествова -предъявля -предыдущ -предыдущ -предыдущ -предыдущ -предыдущ -прежд -преждевремен -преждевремен -прежн -прежн -прежн -прежн -прежн -прежн -прежн -прежн -прежн -прежн -прежн -прежн -президент -презира -презира -презира -презира -презира -презира -презира -презира -презира -презира -презира -презир -презревш -презрен -презрен -презрен -презрен -презрен -презрен -презрен -презрен -презрительн -презрительн -презрительн -презрительн -презрительн -презрительн -преимуществ -преимуществ -преимуществ -преимуществен -преимуществ -преимуществ -преимуществ -преисподн -преисполн -преисполн -преклон -преклон -преклон -преклон -преклон -преклоня -прекомическ -прекослов -прекрас -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрасн -прекрат -прекрат -прекрат -прекрат -прекраща -прекраща -прел -прелест -прелестн -прелестн -прелестн -прелестн -прелестн -прелест -прелест -прелом -преломля -прельст -прельща -прелюбопытн -прем -премудр -премудрств -премудр -премудр -пренаивн -пренебрег -пренебрега -пренебрега -пренебрег -пренебрежен -пренебрежен -пренебрежен -преоблада -преоблада -преобража -преобраз -преобраз -преобразован -преогромн -преодолел -преодолет -преподаван -препода -препода -препода -препочтен -препровожда -препровож -препьян -препятств -препятств -препятств -препятств -препятств -препятствова -препятств -прерва -прерва -прерва -прерва -прерва -прерва -прерва -прер -прерыва -прерыва -прерыва -прерыва -прерыва -прерыва -прерыва -прерыва -прерыва -прерыв -прерывист -прерывист -пресвят -пресекл -пресекл -пресек -пресекш -пресин -прескладн -преследова -преследова -преследован -преследова -преслед -преслед -преслед -пресмыка -преспокойн -пресс -преставл -престарел -престарел -престарел -престол -престра -преступа -преступа -преступлен -преступлен -преступлен -преступлен -преступлен -преступлен -преступлен -преступленьиц -преступлен -преступн -преступн -преступник -преступник -преступник -преступник -преступник -преступник -преступник -преступник -преступниц -преступн -преступн -преступн -преступн -претендует -претенд -претенду -претенз -претенз -претенз -претенз -претенз -претерпел -прет -преткновен -преткнул -претрудн -прет -преувеличен -преувеличен -преувеличен -преувеличен -преувелич -преувелич -преувеличива -преувеличива -преувеличива -преувелич -преувелич -преувелич -преумножа -преуспеян -преуспеян -прехитр -прехорошеньк -пречистенк -прещ -при -прибав -прибав -прибав -прибав -прибав -прибав -прибав -прибав -прибав -прибав -прибавк -прибавк -прибавл -прибавлен -прибавлен -прибавлен -прибавл -прибавл -прибавля -прибавля -прибавля -прибавля -прибавля -прибавля -прибавля -прибавля -прибавочн -прибав -прибавьт -прибега -прибега -прибега -прибег -прибегнул -прибежа -прибежа -прибежа -прибежа -прибеж -приберегл -приберет -прибереш -приб -приб -приб -прибил -прибира -прибира -прибира -прибира -прибит -приближа -приближа -приближа -приближа -приближа -приближ -приближен -приблиз -приблиз -приблиз -приблизительн -приб -прибор -прибо -прибра -прибра -прибра -прибра -прибрежн -прибреж -прибудет -прибудут -приб -прибыва -приб -приб -приб -прибыт -приб -прибьет -прибьют -привал -приватн -приватн -приведен -привед -приведет -привед -привед -приведут -привез -привезет -привез -привезл -привезл -привезт -привезт -привез -привезут -привел -привел -привел -привел -привел -привес -привест -привет -приветлив -приветлив -приветн -приветств -приветств -приветств -приветств -привеча -привеш -привиден -привиден -привиден -прив -привилег -привилег -прив -привлек -привлека -привлека -привлекательн -привлека -привлека -привлекл -привлеч -привод -привод -привод -привод -привод -привод -привоз -привоз -привол -привол -привол -привскоч -привскоч -привста -привста -привста -привста -привстанет -привык -привыка -привыка -привыкл -привыкл -привыкнет -привыкнет -привыкнеш -привыкн -привыкнут -привыкш -привыкш -привычек -привычк -привычк -привычк -привычк -привычк -привычк -привычк -привычн -привычн -привычн -привычн -привычн -привычн -привяж -привяжут -привяза -привяза -привяза -привяза -привяза -привязан -привязан -привязан -привязан -привяза -привяза -привязк -привязчив -привязыва -пригвожд -приглажива -приглас -приглас -приглас -приглас -приглас -приглас -приглаша -приглаша -приглаша -приглаша -приглаша -приглаша -приглаша -приглашал -приглаша -приглаша -приглаша -приглаш -приглаш -приглашен -приглашен -приглашен -приглашен -приглаш -приглашен -приглядет -пригляд -приглядыва -приглядыва -приглядыва -приглядыв -приглядыв -приглянут -пригнул -пригнул -пригнул -пригнул -приговарива -приговарива -приговарив -приговарнва -приговор -приговор -приговорен -приговорен -приговор -приговорк -приговор -приговор -пригод -пригод -пригод -пригодн -пригод -пригорк -пригорк -пригорк -пригорок -пригорюн -пригорюн -приготов -приготов -приготов -приготов -приготов -приготов -приготов -приготовл -приготовлен -приготовлен -приготовлен -приготовлен -приготовлен -приготовлен -приготовл -приготовл -приготовля -приготовля -приготовля -приготовля -приготовля -приготовл -приготов -пригрез -пригроз -придава -придава -придава -придава -придава -придав -придав -придав -придав -придав -придавл -придавлив -прида -прида -прид -прида -придан -придан -придаст -придаток -прида -придач -придвиг -придвинул -придвинул -придворн -прид -придержа -придержа -придержа -придержива -придержива -придержива -придержива -придержива -придержива -придержив -придержив -придет -придет -придет -придеш -прид -придира -придира -придирк -придирч -прид -придорожн -прид -придума -придума -придума -придума -придума -придума -придума -придума -придумыва -придумыва -придумыва -придумыв -придут -придут -прид -приед -приедет -приедет -приедеш -приед -приедут -приезд -приезд -приезд -приезд -приезд -приезжа -приезжа -приезжа -приезжа -приезжа -приезжа -приезжа -приезжа -приезжа -приезжа -приезж -приезж -приезж -приезж -приезж -при -прием -прием -прием -прием -приемлеш -приемл -приемн -приемн -приемн -прием -при -прием -приеха -приеха -приеха -приеха -приеха -приеха -прижа -прижа -прижа -прижа -прижа -прижа -прижат -прижат -прижива -приживал -приж -прижима -прижима -прижима -прижима -прижима -прижим -прижим -прижмеш -прижм -прижм -призадума -призва -призван -призван -призван -призван -призва -призва -призна -признава -признава -признава -признава -признава -признава -признава -признава -признав -признав -призна -призна -призна -призна -призна -признак -признак -признак -признак -признак -признак -признак -признак -призна -призна -призна -призна -признан -признан -признан -признан -призна -призна -признан -признательн -признательн -призна -призна -призна -призна -призовет -призовеш -призрак -призрак -призрак -призрак -призрак -призрак -призрак -призрачн -призрен -призрен -приз -призыва -призыва -призывающ -призыва -призыв -призыв -призывн -призывн -приидет -приид -приид -прииска -приискан -прииска -приискива -приищет -прийт -прикажет -прикажет -прикажеш -прикаж -приказ -приказа -приказа -приказа -приказа -приказан -приказан -приказан -приказан -приказан -приказан -приказа -приказа -приказн -приказчик -приказчик -приказчик -приказчик -приказыва -приказыва -приказыва -приказыва -приказыва -приказыва -приказыва -приказыва -прикаплива -прикаса -прикас -прикидыва -прикинеш -прикинул -прикинут -прикладыва -прикладыва -прикладыв -прикле -приклон -приключа -приключен -приключен -прикова -приковыва -приколот -прикомандирова -прикосновен -прикосновен -прикоснул -прикоснул -прикоснул -прикоснут -прикрас -прикрасн -прикреп -прикрут -прикр -прикрыва -прикрыва -прикрыва -прикрыв -прикр -прикр -прикр -прикрыт -прикрыт -прикрыт -прикрыт -прикрыт -прикрыт -прикр -прикуп -прикус -прилага -прилад -прилад -прилажен -прилажива -прилажива -приласка -приласка -приласка -прилег -прилега -прилежан -прилежн -прилежн -прилеп -прилеп -прилеп -прилеплива -прилепля -прилет -прилет -прилеч -прил -прилив -прилива -прилив -прилив -прилив -прилив -прилип -прилипчив -прилипш -прилич -прилич -прилич -прилич -приличн -приличненьк -приличн -приличн -приличн -приличн -приличн -приличн -приличн -приличн -приличн -приличн -прилож -приложат -прилож -приложен -прилож -прилож -прилож -прилож -прилож -прилуков -прильнет -прильнув -прильнул -прильнул -прильнут -прильпн -приляг -приляжет -приманива -примачива -примелька -прим -примен -примен -примен -применя -пример -пример -пример -примерива -примерив -пример -пример -примерн -пример -пример -пример -примерчик -примерчик -пример -примеря -примеря -примес -примет -примет -примет -примет -примет -примет -примет -примет -примет -приметн -приметн -приметн -приметн -приметн -приметн -приметн -примет -примет -примет -примеча -примечательн -примеча -примешива -примешива -примешива -прим -примирен -примирен -примирительн -примирительн -примирительн -примир -примир -прим -примолв -примолв -примолк -примолкл -примолкл -примочк -примочк -прим -примут -примут -примыка -примят -принагнувш -принадлежа -принадлежа -принадлежа -принадлежа -принадлежа -принадлежа -принадлежа -принадлежа -принадлежат -принадлежа -принадлежа -принадлежа -принадлеж -принадлеж -принадлежн -принадлежн -принадлежн -принадлеж -принаряд -принес -принесен -принесен -принесен -принесен -принесен -принес -принес -принесет -принесет -принесеш -принес -принес -принесл -принесл -принесл -принест -принес -принесут -прин -принижа -принижен -принижен -принижен -принижен -приниж -приник -приникл -приникш -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -принима -приним -приним -принос -принос -принос -принос -приносим -принос -принос -принос -приношен -принош -принуд -принуд -принуд -принуд -принужда -принужд -принужд -принужден -принужден -принужден -принц -принцип -принцип -принципиальн -принцип -принцип -приня -приня -приня -приня -приня -приня -приня -приня -приня -прин -принят -принят -принят -принят -принят -принят -приня -приня -приобрел -приобрел -приобрест -приобрест -приобрета -приобрета -приобрета -приобрета -приобрета -приобрета -приобрета -приобрета -приобрет -приобретен -приобретен -приобретен -приобретен -приобща -приодел -приостанов -приостанов -приотвор -приотворен -приотвор -приотвор -приоткрыт -припа -припада -припад -припад -припадк -припадк -припадк -припадк -припадк -припадк -припадок -припадочек -припадочн -припадочн -припа -припа -припас -припас -припас -припас -припас -припахива -припев -припеваюч -припер -приписа -приписа -приписыва -приписыва -приписыва -приписыва -приплюснут -приподнима -приподнима -приподнима -приподним -приподним -приподня -приподня -приподня -приподня -приподня -приподня -приподня -приподня -приподнят -приподня -приподня -припомаж -припомина -припомина -припомина -припомина -припомина -припомина -припомин -припомн -припомн -припомн -припомн -припомн -припомн -припомн -припомн -припомн -припомн -припомн -припрыгнул -припрята -припрята -припрята -припуска -припута -припухл -припухш -припухш -припухш -припухш -припухш -прираста -приращен -приревн -природ -природ -природн -природн -природн -природн -природ -природ -природ -прирожден -прирос -приросл -приросл -прируч -присвата -присватыва -присвистнул -присво -прис -приседа -приседа -приседа -присед -присел -присел -присест -прискорб -прискорб -присла -присла -присла -присла -присла -присла -присла -прислонен -прислон -прислон -прислон -прислон -прислуг -прислуг -прислуг -прислуг -прислужива -прислужива -прислужниц -прислуша -прислуша -прислуша -прислушива -прислушива -прислушива -прислушива -прислушива -прислушива -прислушива -прислушив -присматрива -присмиреет -присмирел -присмирел -присмирел -присмотр -присмотр -присн -присн -присн -присн -присн -присн -присовокуп -присочин -приспел -приспособ -приспособ -приспособ -приспособл -приста -пристав -пристава -пристава -пристава -приставан -пристава -пристав -пристав -приставл -приставлен -пристав -приста -приста -приста -приста -приста -пристальн -пристальн -пристальн -пристальн -пристальн -пристальн -пристальн -пристальн -пристанет -пристан -пристанищ -пристан -приста -пристрастн -пристро -пристро -пристро -пристро -пристройк -пристукнул -приступ -приступ -приступ -приступ -пристяжн -присужд -присужд -присутствен -присутствен -присутствен -присутствен -присутствен -присутствен -присутств -присутств -присутств -присутств -присутствова -присутствова -присутствова -присутствова -присутствова -присутств -присутств -присутств -присыла -присыла -присыла -присыла -присыла -присылк -присягнул -присяг -присядет -присяд -присяд -присядьт -присяжн -прита -прита -прита -прита -притащ -притащ -притащ -притащ -прит -притвор -притвор -притвор -притвор -притвор -притвор -притвор -притвор -притвор -притворн -притворн -притворств -притворств -притворщик -притворя -притворя -притворя -притворя -притвор -прит -притихл -притихл -притихнет -прит -притон -приторн -приторн -притрогива -притуп -притуплен -притуш -притягива -притягив -притязан -притянут -приудар -приумножа -приун -приуч -приуч -приуч -прихлопнут -прихлынувш -прихлынул -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приход -приходя -прихож -прихож -прихож -прихож -прихот -прихот -прихотлив -прихотлив -прихотлив -прихрамыва -прицелива -прицеп -прицеп -прицеп -причал -причаст -причастн -причащен -прич -причеса -причеса -причеса -причеса -причеса -причеса -причеса -причеса -прическ -прическ -прическ -прическ -причесыва -причесыва -причешут -причин -причин -причин -причин -причин -причин -причин -причин -причислен -причисл -причисля -причита -причита -причита -причитан -причита -причтет -причуд -причуд -пришедш -пришедш -пришедш -пришедш -пришел -пришел -пришива -пришив -приш -приш -пришл -пришл -пришлет -пришл -пришл -пришл -пришл -пришл -пришл -пришлют -пришол -пришпор -прищелкива -прищур -прищур -прищур -прищур -прищур -приют -приют -приют -приют -приятел -приятел -приятел -приятел -приятельниц -приятельниц -приятельниц -приятельск -приятел -приятел -приятел -приятел -приятел -прият -приятн -приятн -приятн -приятн -приятн -приятн -приятн -приятн -приятн -приятност -приятн -приятн -приятн -приятн -приятн -приятн -приятн -про -пробавля -пробавля -пробалтыва -пробега -пробега -пробега -пробега -пробег -пробежа -пробежа -пробежа -пробежа -пробеж -пробива -пробива -пробива -пробива -пробива -проб -проб -проб -проб -пробира -пробира -пробира -пробира -пробир -проб -проб -пробк -проблеск -проблеск -пробова -пробова -пробова -пробо -пробок -проболта -проболта -пробор -пробормота -пробормота -пробормота -пробор -пробочк -пробра -пробра -пробра -проб -пробудет -пробуд -пробуд -пробуд -пробуд -пробуд -пробуд -пробужда -пробужда -пробужда -пробужда -пробужден -пробужден -пробужден -пробу -проб -проб -проб -провал -провалива -провал -провал -провал -прова -провал -провал -провал -проваля -провал -проведа -провед -провед -проведен -проведен -проведен -проведет -провед -провед -провезут -провел -провел -провер -провер -провесн -провест -проветр -провиантск -провиантск -провиантск -провидел -провиден -провиден -провиден -провид -провиж -провиз -провиз -провинциалк -провинциальн -провинциальн -провинц -провинц -провод -провод -провод -провод -провод -провод -провод -провод -проводим -провод -провод -провод -провод -провожа -провожа -провожа -провожа -провожа -провожа -провожа -провожа -провожа -провожа -провож -провожден -провож -провозглас -провоз -провоз -провоз -проволок -провор -проворкова -проворн -проворн -проворн -проворн -проворон -проворств -проворча -проворча -проворчат -провра -провспомина -проглот -проглот -проглоч -проглядел -проглядыва -проглядыва -проглянул -прогна -прогна -прогна -прогнал -прогна -прогнева -проговарива -проговарива -проговарив -проговор -проговор -проговор -проговор -проговор -проговор -проговор -проговор -проговор -проговор -проголода -прогон -прогон -прогон -прогон -прогоня -прогон -прогоня -программ -программ -программ -прогресс -прогресс -прогрессивн -прогрессивн -прогрессивн -прогрессист -прогрессист -прогрессист -прогресс -прогресс -прогулива -прогулив -прогулк -прогулк -прогулк -прогулк -прогулок -прогуля -прогуля -прогуля -прода -продава -продава -продава -продава -продава -продавец -продав -продавлен -продавц -продадут -прода -прода -прода -прода -продаж -продаж -продажн -продаж -прода -прода -прода -прода -прода -прода -прода -продаст -прода -продаш -прода -прода -продева -продева -продева -продев -проделк -проделк -продержа -продикт -продикт -продира -продл -продл -продл -продовольств -продовольств -продолговат -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолжа -продолж -продолж -продолжен -продолжен -продолжен -продолжен -продолж -продолж -продолжительн -продолжительн -продолжительн -продолжительн -продолжительн -продолж -продра -продра -продувн -продувн -продувн -продукт -продукт -продукт -продума -продума -проедет -проед -проезд -проезд -проезжа -проезжа -проезжа -проезжа -проезжа -проезж -проезж -проект -проект -проел -проеха -проеха -проеха -проеха -прожда -прожег -прожектор -прожж -прожжет -прожива -прожива -прожива -прожива -прожива -прожива -прожива -прожива -прожив -проживет -проживет -проживеш -прожив -проживут -прож -прож -прож -прожит -прожит -прожиток -прожит -прож -прожит -прожорлив -прожужж -прозва -прозва -прозван -прозвенел -прозвуча -прозвуча -прозвуч -проз -прозира -прозорл -прозорлив -прозор -прозоров -прозоров -прозрачн -прозрачн -прозрачн -прозрачн -прозрачн -прозрева -прозрен -прозрет -прозяба -прозяба -проигра -проигра -проигра -проигра -проигра -проигрыш -произвед -произвед -произведен -произведен -произведен -произведен -произведен -произведен -произведен -произвед -произведет -произвел -произвел -произвел -произвел -произвест -производ -производ -производ -производ -производ -производ -производительн -производ -производ -производ -произвол -произвол -произвольн -произнес -произнесен -произнес -произнес -произнесл -произнест -произнос -произносим -произнос -произнос -произн -произнос -произойдет -произойт -произошел -произошл -произошл -произошл -происход -происход -происход -происход -происход -происход -происход -происход -происходя -происхожден -происхожден -происшедш -происшедш -происшеств -происшеств -происшеств -происшеств -происшеств -пройд -пройдемт -пройден -пройдет -пройдет -пройдет -пройдеш -пройд -пройд -пройдох -пройдох -пройд -пройд -пройдут -пройд -пройд -пройт -проказ -проказ -проказ -проказ -проказник -прокарка -прокат -прокатимт -прокат -прокат -проклина -проклина -проклина -проклина -проклина -прокля -проклянеш -прокляст -прокл -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проклят -проконсул -прокорм -прокорм -прокормл -прокоф -прокофьич -прокофьич -прокофьич -прокрича -прокрича -прок -прокурор -пролегл -пролежа -пролежа -пролежа -пролежа -пролеж -пролез -пролеза -пролеза -пролез -пролезт -прол -пролета -пролета -пролетар -пролетар -пролетевш -пролетевш -пролетел -пролетел -пролет -пролетк -прол -пролива -пролива -пролив -проливн -прол -прол -пролит -пролит -пролит -пролог -пролог -проложат -пролож -пролож -пролюб -промалчива -пром -промах -промахнул -промах -промедлен -промедл -промеж -промежутк -промежутк -промежуток -промежуточн -промелькнет -промелькнувш -промелькнул -промелькнул -променя -променя -променя -променя -промете -промозгл -промозол -промокш -промолв -промолв -промолв -промолв -промолча -промолча -промоч -промуч -промысл -промысл -промыча -промыч -промышленник -промышленник -промышленник -промышля -промышля -промышля -промямл -пронес -пронесет -пронесет -пронесл -пронесл -пронесл -пронесл -пронес -пронес -пронза -пронза -пронза -пронза -пронзен -пронзен -пронзен -пронз -пронз -пронз -пронз -пронзил -пронзительн -пронзительн -пронзительн -прониза -пронизыва -проник -проника -проника -проника -проникл -проникнет -проникнув -проникнут -проникнут -проникнут -проникнут -проник -проникш -проница -проницательн -проницательн -проницательн -проницательн -проница -пронос -пронос -пронос -пронос -пронося -пронюха -пронюха -пропаганд -пропаганд -пропагандирова -пропагандн -пропада -пропада -пропада -пропада -пропада -пропада -пропада -пропада -пропада -пропада -пропадет -пропадет -пропадеш -пропад -пропадут -пропа -пропа -пропа -пропа -пропаст -пропаст -пропаст -пропаст -пропаст -пропаст -пропа -пропа -проп -пропека -пропел -пропел -пропел -пропеллер -пропет -пропива -проп -прописа -прописа -прописыва -пропита -пропита -пропита -пропита -проплака -проплывет -пропл -пропл -проповедова -проповедова -проповед -проповед -пропоет -проползет -пропуска -пропуска -пропуска -пропуск -пропуст -пропуст -пропуст -пропуст -пропуст -пропуст -пропуст -пропущен -пропылен -пропьет -пропят -прорв -прорва -прорва -проревел -прорезыва -прорепетирова -прорех -прорех -прорех -пророк -пророк -пророк -пророн -пророн -пророн -пророн -пророчат -пророческ -пророческ -пророческ -пророчеств -пророчеств -пророч -проруб -прорыва -прорыв -прорыва -прорыв -просвата -просвет -просвет -просветлевш -просветлеет -просветлел -просветлен -просвечива -просвещен -просвещен -просвещен -просвещен -просвещен -просвещен -просвирн -просеван -просед -просеет -проселк -проселок -просид -просидел -просидел -просидел -просидет -просид -просижива -просижива -прос -прос -прос -прос -прос -просил -прос -просим -просипел -прос -прос -просител -просител -просительн -прос -прос -прос -прос -просия -проскака -проскакива -просквоз -проскользнет -проскользнул -проскользнул -проскользнут -проскрежета -проскуча -прослав -прославлен -прослед -проследова -прослез -прослез -прослез -прослуж -прослуж -прослуж -прослуша -прослуша -прослуша -прослыша -прослыша -прослыша -просмотрел -просмотрет -просмотр -проснет -проснет -проснеш -просн -просн -проснувш -проснувш -проснувш -проснувш -проснул -проснул -проснул -просн -проснут -прос -проспа -проспа -проспа -проспект -проспект -проспект -проспект -просрочен -просрочен -просрочен -просроч -прост -прост -простаков -прост -простегива -прост -прост -прост -простенк -простеньк -простер -простерл -простерт -простерт -простерш -прост -прост -прост -прост -прост -прост -прост -прост -простира -простира -простира -простир -прост -прост -простительн -проститутк -прост -прост -прост -прост -простоват -простоват -простоват -простоват -простоволос -простоволос -прост -простодуш -простодуш -простодуш -простодушн -простодушн -простодушн -простодушн -прост -прост -простокваш -простокваш -простолюдин -прост -простона -простона -простонародн -простонарод -простонет -простор -простор -простор -просторн -просторн -просторн -просторн -просторн -простор -простот -простот -простот -простот -простот -простот -прост -простоя -простоя -простоя -простра -пространств -пространств -пространств -пространствова -прострел -прострет -простуд -простуд -простуд -простуд -простуд -простуд -простуд -простуд -простужива -простуж -проступа -проступок -простучат -прост -прост -прост -прост -прост -прост -простын -простын -простын -простын -простын -простын -прост -прост -просунет -просунул -просунул -просунут -просуш -просыпа -просыпа -просыпа -просыпа -просыпа -просыпа -просыпа -просыпа -просыпа -просыпа -просыпа -просыпл -просьб -просьб -просьб -просьб -просьбиц -просьб -просьб -просьб -про -прос -прос -прос -протанцева -протанцева -протанцева -протащ -протека -протекл -протекц -протекш -протер -протерет -протерпел -протерт -протесн -протесн -протесн -протесня -протесн -протесн -протест -протестова -протестова -протестова -протест -протест -протест -протест -прот -против -против -противн -противн -противник -противник -противник -противн -противн -противн -противн -противн -противн -противн -противоестествен -противоположн -противоположн -противоположн -противоположн -противоположн -противоположн -противоположн -противоположн -противоположн -противопостав -противореч -противореч -противореч -противореч -противореч -противореч -противореч -противореч -противореч -противуположн -против -протискив -протиснул -проткнет -протокол -протолкнул -протолкуеш -протопоп -протопопов -протопопов -протопта -протор -протягива -протягива -протягива -протягива -протягива -протягива -протягив -протяж -протяжн -протяжн -протянет -протянеш -протян -протян -протянув -протянувш -протянувш -протянул -протянул -протянул -протянул -протянут -протянут -протянут -протянут -протянут -протянут -протянут -протянут -протянут -протянут -проулок -профессор -профессор -профессор -профессор -профессорск -профессор -профессорш -профил -профил -профил -прохажива -прохажива -прохажива -прохват -прохватыва -прохлад -прохладн -прохладн -прохладн -прохладн -прохладн -прохладн -прохлад -прохлад -проход -проход -проход -проход -проход -проход -проход -проход -проход -проход -проходимц -проход -проход -проход -проход -проходн -проходн -проход -проход -проход -проходя -прохож -прохож -прохож -прохож -прохож -прохож -прохож -прохож -прохож -прохор -прохрипел -процвета -процвета -процвета -процед -процедур -процежив -процент -процент -процентн -процент -процентщиц -процентщиц -процентщиц -процент -процесс -процесс -процесс -процесс -процесс -процесс -процесс -проч -проч -проч -проч -прочел -прочест -проч -проч -проч -проч -прочита -прочита -прочита -прочита -прочита -прочита -прочита -прочита -прочитыва -проч -прочл -прочн -прочн -прочн -прочност -прочт -прочтен -прочтен -прочтет -прочтет -прочтеш -прочт -прочт -прочт -прочт -проч -прошагнул -прошедш -прошедш -прошедш -прошедш -прошедш -прошедш -прошедш -прошел -прошел -прошепта -прошепта -прошепта -прошибет -прошипел -прошл -прошл -прошл -прошл -прошлогодн -прошлогодн -прошлогодн -прошлогодн -прошл -прошл -прошл -прошл -прошл -прошл -прошл -прошл -прошля -прошмыгнул -прошмыгнут -прош -прошумевш -прошумел -проща -проща -проща -проща -проща -проща -проща -прощальн -прощальн -прощан -прощан -прощан -прощан -проща -проща -проща -проща -проща -прощ -прощ -прощ -прощен -прощен -прощен -прощ -прощен -прощипа -прощ -прояв -прояв -прояв -проявлен -проявлен -проявлен -проявлен -проявля -проявля -проявля -проявля -проявля -прояснел -прояснел -проясн -проясн -проясн -проясня -проясня -проясня -пруд -пруд -пруд -пруд -пруд -прудов -пруд -пружин -пружин -пружин -пружин -пружин -прусск -прусск -прыг -прыга -прыга -прыга -прыга -прыга -прыга -прыга -прыган -прыга -прыга -прыг -прыгнул -прыгнут -прыжк -прыжк -прыжок -прынцесс -прыска -прыснет -прыснул -прыснут -прыт -прыт -прядет -пряд -пряжк -прям -прямехоньк -прям -прям -прям -прямодуш -прямодуш -прямодушн -прям -прям -прям -прям -прям -прям -прям -прям -прям -пряничн -прян -прян -пряност -прянул -прян -прята -прята -прята -прята -прята -прята -прята -пряч -пряч -прячет -прячет -прячеш -прячут -прячут -прячущ -пса -псам -психическ -психоз -психолог -психологическ -психологическ -психологическ -психологическ -психологическ -психологическ -психологическ -психологическ -психолог -психолог -психолог -психолог -психопат -псом -псу -псы -птенц -птиц -птиц -птиц -птиц -птиц -птиц -птиц -птиц -птичек -птич -птичк -птичк -птичк -птичниц -птич -птич -птич -пуант -публик -публик -публик -публик -публик -публичн -публичн -публичн -публичн -публичн -публичн -публичн -публичн -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуга -пуг -пуглив -пуглив -пуглив -пуглив -пуглив -пуглив -пуговиц -пуговиц -пуговиц -пуговк -пуд -пуд -пуд -пудинг -пуд -пудр -пудр -пужлив -пузат -пузат -пузырек -пузыр -пул -пульс -пульс -пульхер -пульхер -пульхер -пульхер -пул -пул -пул -пулярк -пункт -пункт -пункт -пункт -пункт -пункт -пункт -пункт -пункт -пунш -пунш -пуп -пуританск -пурпуров -пуска -пуска -пуска -пуска -пуска -пуска -пуска -пуска -пуска -пуска -пуска -пуска -пуска -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пуст -пустот -пустот -пустот -пустот -пустош -пустош -пуст -пуст -пуст -пуст -пуст -пуст -пустын -пустын -пустын -пустын -пустын -пустын -пустын -пустын -пустын -пустын -пустын -пустын -пустын -пустыр -пустыр -пустыр -пуст -пуст -пустяк -пустяк -пустяк -пустяк -пустяк -пуст -пустячк -пустяшн -пустяшн -пустяшн -пута -пута -пута -путаниц -путаниц -пута -пута -пута -пута -пут -путеводител -путеводительн -путеводн -пут -пут -путешественник -путешественник -путешеств -путешеств -путешеств -путешеств -путешеств -путешеств -пут -путилк -путилк -путилк -путник -путник -путн -путн -пут -пут -пут -пуф -пух -пух -пухленьк -пухл -пухл -пухов -пухов -пух -пучат -пучин -пучин -пучк -пушечн -пушист -пушист -пушк -пушк -пушкин -пушкин -пушкинск -пушкин -пушкиньянц -пушк -пушок -пуща -пущ -пущен -пущен -пущ -пхайл -пчелк -пчеловодств -пчел -пшениц -пшеницын -пшеницын -пшеницын -пшеницын -пшеницын -пшла -пшол -пыжиков -пыл -пыла -пыла -пыла -пыла -пыла -пыла -пыл -пыл -пыл -пылинк -пылинк -пылк -пылк -пылк -пыл -пыл -пыл -пыльн -пыльн -пыльн -пыльн -пыльн -пыльн -пыльн -пыльн -пыл -пыл -пыта -пыта -пыт -пыт -пытк -пытк -пытк -пытк -пытлив -пытлив -пытлив -пытлив -пыток -пыхт -пышн -пышн -пышн -пышн -пышн -пышн -пышн -пышн -пышут -пьан -пьедеста -пьем -пьер -пьес -пьес -пьес -пьес -пьес -пьет -пьет -пьеш -пью -пьют -пьющ -пьющ -пьющ -пьян -пьян -пьян -пьяненьк -пьяненьк -пьяненьк -пьян -пьяне -пьяниц -пьяниц -пьяниц -пьяниц -пьяниц -пьян -пьян -пьян -пьян -пьянств -пьянств -пьянствова -пьянствова -пьянств -пьянств -пьян -пьян -пьян -пьян -пьян -пьян -пэб -пял -пял -пяст -пятак -пятак -пятак -пятак -пятак -пят -пятачк -пятачк -пятачок -пят -пят -пятер -пят -пятидесят -пятидесятилетн -пятидесятилетн -пятидесятирублев -пятидесят -пятилетн -пятилетн -пятиминутн -пятипроцентн -пятипроцентн -пятипроцентн -пятипудов -пятисот -пятист -пят -пятиэтажн -пятк -пятк -пятн -пятнадцат -пятнадцатилетн -пятнадцат -пятнадца -пятн -пятн -пятн -пятниц -пятниц -пятниц -пятниц -пятн -пятн -пятнышк -пятнышк -пят -пят -пят -пят -пяточк -пят -пят -пят -пят -пятьдес -пятьсот -пят -пят -р -ра -раб -раб -раб -раб -раб -раб -работ -работ -работа -работа -работа -работа -работа -работа -работа -работа -работа -работа -работа -работ -работ -работа -работ -работа -работа -работ -работник -работник -работник -работник -работник -работник -работ -работ -работ -рабоч -рабоч -рабоч -рабоч -рабоч -рабск -рабск -рабск -рабств -раб -равен -равеннск -равенств -равенств -равн -равнин -равнин -равн -равновес -равновес -равновес -равнодуш -равнодуш -равнодуш -равнодуш -равнодуш -равнодуш -равнодушн -равнодушн -равнодушн -равнодушн -равнодушн -равнодушн -равнодушн -равн -равномерн -равносильн -равн -равн -равн -равня -равня -равня -равня -равня -рагулин -рад -рад -радехонек -рад -радикальн -радикальн -радиус -радищ -рад -радова -радова -радова -радова -радост -радост -радостн -радостн -радостн -радостн -радостн -радостн -радостн -радостн -радост -радост -радост -радост -рад -радуеш -радужн -радужн -радуш -радуш -радуш -радушн -радушн -рад -раду -рад -раз -раз -разбавля -разбега -разб -разберет -разбереш -разбер -разбер -разберут -разберут -разбива -разбива -разбива -разбива -разб -разб -разб -разб -разб -разб -разбира -разбира -разбиран -разбира -разбир -разб -разбит -разбит -разбит -разбит -разбит -разбит -разбит -разб -разблаготвор -разбогатевш -разбогател -разбогатет -разб -разбойник -разбойник -разбойник -разбойник -разбойник -разбойник -разбойнич -разбойн -разболел -разболел -разболта -разболта -разболта -разбор -разборч -разбор -разбран -разбрасыва -разбредут -разбрел -разброса -разброса -разброса -разброса -разброса -разброса -разброса -разбуд -разбуд -разбуд -разбуд -разбуд -разбуд -разбуд -разбуд -развалива -развал -развал -развал -развал -развал -развалин -развалин -развалин -разв -развед -разведыва -развел -развел -развел -разверза -разверза -развернув -развернувш -развернул -развернул -развернул -развернут -развернут -развернут -развернут -развернут -развертыва -развертыв -развесел -развесел -развесел -развесел -развест -развешива -развешива -развешива -развива -развива -развива -развива -развива -развива -развива -развива -развива -разв -разв -разв -разв -развинт -разв -развит -развит -развит -развит -развит -развит -развит -развит -развит -развит -разв -развлека -развлека -развлек -развлечен -развлеч -развод -развод -развозим -разворчат -разврат -разврат -разврат -разврат -развратник -развратник -развратнича -развратн -развратн -развратн -разврат -развращен -развращен -развяжеш -развяж -развяза -развяза -развяза -развяза -развяза -развяз -развязк -развязк -развязк -развязк -развязн -развязн -развязн -развязн -развязн -развязн -развязыва -разгада -разгада -разгадк -разгадк -разгадк -разгадк -разгар -разгиба -разглад -разглад -разглажива -разгляд -разглядел -разглядел -разглядел -разглядет -разгляд -разгляд -разгляд -разглядыва -разглядыва -разглядыва -разглядыва -разглядыва -разглядыв -разгнева -разговарива -разговарива -разговарива -разговарива -разговарива -разговарива -разговарива -разговарив -разгове -разговен -разговор -разговор -разговор -разговор -разговор -разговор -разговор -разговор -разговор -разговор -разговорчив -разговор -разговор -разгоня -разгора -разгоревш -разгорел -разгор -разгорожен -разгоряч -разгоряч -разгоряч -разгул -разгулива -разгульн -разгульн -разгуля -разгуля -раздава -раздава -раздава -раздава -раздав -раздав -раздав -раздавл -раздавл -раздавлен -раздавлен -разда -разда -разда -разда -разда -разда -раздар -раздаст -разда -раздвига -раздвига -раздвиг -раздвинув -раздвинул -раздвинул -раздвинул -раздвинут -разд -раздева -раздева -раздева -раздева -раздев -раздевш -раздел -раздела -раздела -разделен -раздел -раздел -раздел -раздел -раздел -раздельн -раздельн -разделя -разделя -разделя -разделя -разделя -разделя -разделя -разделя -разден -раздет -раздет -раздира -раздол -раздол -раздор -раздор -раздосадова -раздража -раздража -раздража -раздража -раздража -раздража -раздража -раздража -раздража -раздража -раздража -раздраж -раздраж -раздраж -раздражен -раздражен -раздражен -раздражен -раздражен -раздражен -раздражен -раздражен -раздражен -раздражен -раздражен -раздражен -раздраж -раздраж -раздраж -раздраж -раздраж -раздражител -раздражительн -раздражительн -раздражительн -раздражительн -раздражительн -раздражительн -раздражительн -раздражительн -раздражительн -раздражительн -раздражительн -раздраж -раздразн -раздробл -раздробл -раздробля -раздува -раздува -раздува -раздув -разду -раздул -раздума -раздума -раздумчив -раздумыва -раздумыва -раздумыва -раздумыв -раздум -раздум -раздум -раздут -раздушен -разев -разжа -разжалоб -разжалоб -разжалова -разжига -раззадор -разик -разин -разинув -разинул -разинул -разинут -разинут -разин -раз -разлаком -разлаком -разлаком -разлег -разл -разлет -разлет -разл -разлива -разлива -разлива -разлив -разлива -разлив -разливн -разл -разл -разл -разл -разлит -разлит -разлит -разлит -различа -различа -различа -различа -различ -различ -различ -различ -различн -различн -различн -различн -различн -разложен -разложен -разлож -разложен -разлома -разлук -разлук -разлук -разлуча -разлуч -разлуч -разлуч -разлюб -разлюб -разлюб -разлюб -разлюбл -разлюб -размазыва -размара -разм -размах -размах -размахива -размахива -размахива -размахива -размахив -размахнувш -размахнул -размах -размашист -разм -разменива -разменя -разменя -разменя -разменя -разменя -разменя -размер -размер -размер -размер -размерен -размер -размер -размета -размечта -размина -размина -размнож -размозж -размолвк -размуч -размышлен -размышлен -размышлен -размышля -размышля -размышля -размышл -размягч -размягч -разн -разнеж -разнеж -разнесет -разнесет -разнесл -разнесш -разн -разнима -разниц -разниц -разниц -разновеков -разн -разн -разнокалиберн -разноличн -разнообраз -разнообраз -разнообраз -разнообразн -разнообразн -разнообразн -разнообразн -разнообразн -разнообразн -разнообраз -разнородн -разнорядиц -разнос -разнос -разнос -разнос -разност -разносчик -разносчик -разнофасон -разнохарактерн -разноцветн -разноцветн -разн -разн -разн -разн -разн -разн -раз -разобидел -разобиж -разобра -разобра -разобра -разобра -разобра -разобра -разобра -разобьют -разовьют -разогна -разогна -разодет -разодет -разодет -разодет -разодра -разодра -разожжен -разозл -разозл -разозл -разойд -разойт -разольет -разольет -раз -разомкнут -разорва -разорва -разорва -разорва -разорва -разорва -разорва -разорва -разорва -разорва -разорва -разорв -разорен -разор -разор -разор -разор -разор -разоря -разоря -разостла -разостла -разочарова -разочарован -разочарован -разочарова -разочарова -разочарова -разочаровыва -разочек -разошл -разошл -разработа -разработк -разработыван -разраз -разраз -разраз -разраз -разраз -разраз -разреж -разреза -разреша -разреша -разреша -разреша -разреша -разреша -разрешен -разрешен -разреш -разрешен -разреш -разреш -разреш -разреш -разреш -разреш -разреш -разреш -разреш -разрознен -разроня -разросл -разруша -разруша -разруша -разруша -разруша -разруша -разруша -разруша -разруш -разрушен -разрушен -разрушен -разрушен -разруш -разруш -разрушител -разрушительн -разрушительн -разрушител -разруш -разр -разрыв -разрыва -разрыва -разрыва -разрыва -разрыв -разрыв -разрыв -разряд -разряд -разряд -разряд -разряд -разряд -разряжен -разряжен -раз -разубед -разубежда -разубра -разувер -разувер -разувер -разуверя -разудал -разузнава -разузна -разузна -разузнамш -разузна -разузна -разукрашен -разукрашен -разукрашен -разум -разум -разумеет -разумеет -разумееш -разумел -разумел -разумел -разумен -разумихин -разумихин -разумихин -разумихин -разумихин -разумн -разумн -разумн -разумн -разумн -разумн -разум -разуч -разъединен -разъезд -разъезд -разъезд -разъезжа -разъезж -разъеха -разъеха -разъеш -разъяснен -разъяснен -разъяснен -разъясн -разъясн -разъясн -разъясн -разъясн -разъясня -разыгра -разыгра -разыгра -разыгра -разыгра -разыгрыва -разыгрыва -разыгрыва -разыгрыва -разыгрыва -разыгрыва -разыгрыва -разыска -разыска -разыска -разыска -разыскива -разыскиван -разыскива -разыскива -разыщ -разя -ра -райск -райск -райск -рак -раковин -раковин -рам -рам -рамк -рамк -рамк -рам -рамочк -рамп -рам -ран -ран -ран -раневск -раневск -ран -ран -ран -ранен -ранешеньк -ран -ран -ран -ран -ран -ран -ран -ран -ран -ран -ран -ран -ран -ран -ран -раньш -ран -рапорт -раска -раска -раскаива -раскаива -раскаива -раскаив -раскален -раскален -раскален -раскат -раскат -раскачнувш -раская -раскаян -раскаян -раскаян -раскаян -раская -раскида -раскинет -раскинув -раскинул -раскинул -раскинул -раскинут -раскладыва -раскладыва -раскладыва -раскланива -раскланя -раскл -расколдуеш -расколот -расколот -раскольник -раскольников -раскольников -раскольников -раскольников -раскольников -раскольнич -раскрасавиц -раскрасневш -раскрасневш -раскраснел -раскрича -раскрич -раскрыва -раскрыва -раскрыва -раскрыва -раскрыв -раскр -раскр -раскр -раскр -раскр -раскрыт -раскрыт -раскрыт -раскр -раскус -раскус -раскус -распа -распар -распахива -распахнувш -распахнул -распахнул -распахнул -распахнут -распашк -распечата -распечата -распечатыва -распечатыва -распечатыв -распивочн -распивочн -распивочн -распивочн -распивочн -распивошн -распира -расписа -расписа -расписан -расписк -расписок -расписочк -расписыва -расписыва -расплака -расплат -расплат -расплат -расплат -расплат -расплачут -расплевыва -расплеска -расплест -расплод -расплыва -расплыва -расплыв -распл -расплюев -распн -распознава -распозна -располага -располага -располага -располага -располага -располага -располза -расползл -располнел -располож -расположен -расположен -расположен -располож -располож -распомажен -распоряд -распоряд -распоряд -распорядительниц -распорядительн -распорядительн -распоряд -распоряд -распорядок -распоряд -распоряжа -распоряжа -распоряжа -распоряжа -распоряжен -распоряжен -распоряжен -распоряжен -распоряжен -распоряж -расправ -расправ -расправ -расправл -расправ -распредел -распр -распрода -распростерл -распростерл -распростерт -распростерш -распространен -распространен -распростран -распростран -распростран -распростран -распростран -распространя -распространя -распр -распуга -распуска -распуска -распуска -распуска -распуска -распуст -распуст -распуст -распуст -распуст -распуст -распуст -распута -распутиц -распухш -распущен -распущен -распущ -распыла -распя -распят -распя -рассад -рассаж -рассвет -рассвет -рассвет -рассветет -рассвет -рассвиреп -рассвирепел -рассеет -рассел -рассерд -рассерд -рассерд -рассерд -рассерд -рассерд -рассерд -рассерд -рассерд -рассерд -рассерж -рассержен -рассерж -рассеч -рассея -рассея -рассеян -рассея -рассеян -рассеян -рассеян -рассеян -рассея -рассея -рассея -рассея -рассея -расскажет -расскажет -расскажеш -расскаж -расскаж -расскаж -расскаж -расскажут -рассказ -рассказ -рассказа -рассказа -рассказа -рассказа -рассказ -рассказ -рассказа -рассказа -рассказа -рассказ -рассказ -рассказ -рассказ -рассказ -рассказчик -рассказчиц -рассказ -рассказыва -рассказыва -рассказыва -рассказыва -рассказыва -рассказыва -рассказыва -рассказыва -рассказыва -рассказыва -расслаблен -расслаблен -расслаблен -расследова -расслуша -расслуша -расслыша -расслыша -расслыша -расслыша -рассматрива -рассматрива -рассматрива -рассматрива -рассматрива -рассматрива -рассматриван -рассматрива -рассматрива -рассматрив -рассмеет -рассмешат -рассмеш -рассмеш -рассмеш -рассмеш -рассмея -рассмея -рассмея -рассмотр -рассмотрен -рассмотрет -рассор -расспрашива -расспрашива -расспрашива -расспрашива -расспрашива -расспрашив -расспрос -расспрос -расспрос -расспрос -расспрос -расспрос -расстава -расстав -расстав -расстав -расстав -расставл -расставля -расста -расста -расста -расста -расста -расстан -расстановист -расстановк -расстановк -расста -расста -расстегнул -расстегнут -расстелет -расстила -расстила -расстила -расстоян -расстоян -расстоян -расстраива -расстро -расстро -расстроен -расстроен -расстроен -расстроен -расстроен -расстро -расстро -расстроива -расстро -расстро -расстро -расстро -расстро -расстро -расстройств -расстройств -расстройств -расступ -рассуд -рассуд -рассуд -рассуд -рассуд -рассуд -рассуд -рассудительн -рассудительн -рассудительн -рассудительн -рассуд -рассудк -рассудк -рассудкин -рассудк -рассудок -рассужда -рассужда -рассужда -рассужда -рассужда -рассужда -рассужда -рассужд -рассужден -рассужден -рассужден -рассужден -рассужден -рассчита -рассчита -рассчита -рассчита -рассчита -рассчита -рассчитыва -рассчитыва -рассчитыва -рассчитыва -рассчитыва -рассчитыва -рассчитыва -рассчитыва -рассчитыв -рассыпа -рассыпа -рассыпа -рассыпа -рассыпа -рассыпчат -расталкива -расталкива -растая -раствор -растворен -раствор -раствор -раствор -раствор -раствор -растен -растен -растерза -растеря -растеря -растеря -растеря -растеря -растеря -растеря -растеря -растеря -растеря -растеря -растет -раст -растлел -растолка -растолкова -растолкова -растолковыва -растолк -растолк -растопа -растопчет -растопырен -расторопн -расторопн -расточа -расточа -расточа -расточ -расточител -расточительн -растравля -растревож -растреклят -растреклят -растрепа -растрепа -растрепа -растрога -растрога -растрога -растрога -растут -растущ -растущ -растягива -растянет -растянул -растянул -расфранчен -расфуфырен -расхажива -расхажива -расхищен -расхлебыва -расхляба -расход -расход -расход -расход -расход -расходн -расход -расход -расход -расхохота -расхохота -расцвел -расцвел -расцвет -расцвета -расцвета -расцветан -расцветан -расцвет -расцветш -расчеса -расчеса -расчесыва -расчесыв -расчет -расчет -расчет -расчет -расчетлив -расчет -расчет -расчет -расчет -расчища -расчувствова -расшал -расшата -расшевел -расшевел -расшиб -расшибан -расшибет -расшибет -расширен -расшир -расширя -расширя -расшир -расщедр -расщедр -рат -рат -раут -рафаэлев -рафаэлевск -рафаэл -рац -рациональн -рациональн -рациональн -рачител -рачительн -ра -ра -рвал -рвал -рвал -рван -рван -рван -рванул -рванул -рванул -рванут -рван -рват -рват -рвен -рвет -рвет -рвеш -рвеш -рву -рдеет -рдел -рдеют -рде -реализм -реализм -реальн -ребенк -ребенк -ребенк -ребенк -ребенок -ребеночек -ребер -ребр -ребр -реб -ребят -ребятишек -ребятишк -ребятишк -ребятишк -ребяческ -ребяческ -ребячеств -ребяч -ребяч -рев -ревел -реверанс -рев -ревизор -ревматизм -ревматизм -ревнив -ревнив -ревнив -ревнив -ревнив -ревнова -ревнова -ревнова -ревност -ревност -ревност -ревн -ревну -револьвер -револьвер -революц -революцион -революц -рев -ревущ -регистраторш -регистраторш -регр -регулирова -регулярн -редактор -редакц -редакц -редакц -редеет -редет -редк -редк -редк -редк -редк -редк -редк -редк -редк -редк -редкост -редкост -редьк -редьк -редьк -реет -реж -режет -реж -реза -реза -реза -резв -резв -резв -резв -резвост -резв -резв -резв -резв -резед -резед -резед -резиденц -резинов -резк -резк -резк -резк -резк -резк -резк -резк -резк -резкост -резн -резн -резок -резон -резон -результат -результат -результат -результат -результат -результат -резц -резч -резюм -рейнгольд -рейт -рек -рек -рек -рекам -рек -рек -рек -рекомендац -рекомендац -рекомендац -рекомендова -рекомендова -рекоменд -рекоменд -рекоменд -рекоменду -рекорд -рек -ректор -рек -религ -религ -религ -религиозн -рельефн -рельс -рельс -рельс -реляц -реляц -ремен -ремесл -ремесленник -ремесленник -ремеслен -ремесл -ремн -ремн -ренегат -реникс -рен -рент -реомюр -репетитор -реплик -реп -реп -репутац -репутац -репутац -репутац -реп -ресниц -ресниц -ресниц -ресниц -рессл -рессорн -рестора -рестора -ресторан -ретив -ретирова -реторт -ретроград -ретроградн -рефлекс -реформ -реформ -рехнул -рехнул -рецепт -рецепт -рецепт -реч -реч -реч -реч -речист -речк -речк -речк -речк -речк -речн -реч -реч -реша -реша -реша -реша -реша -реша -реша -реша -реша -реша -реша -решат -реша -реша -реша -реш -реш -реш -решен -решен -решен -решен -решен -решен -решен -решен -реш -решетк -решетчат -решетчат -решетчат -решетчат -реш -реш -реш -реш -реш -реш -реш -реш -реш -реш -реш -реш -реш -решим -решим -решим -реш -реш -решител -решительн -решительн -решительн -решительн -решительн -решительн -решительн -решительн -решительн -решительн -реш -реш -реш -решотк -реш -реш -рея -ржав -ржав -ржав -ржав -ржан -ржи -риз -риз -рим -рим -римлян -римск -ринет -ринул -ринут -ринут -рис -риск -риск -рискнул -рискнул -рискнул -риск -рисова -рисова -рисова -рисова -рисова -рисован -рисова -рисов -рис -рис -рисуеш -рисунк -рисунк -рисунок -рис -рис -рису -ритм -ритм -ритмическ -ритм -риторик -риторик -рифм -рифмова -ро -робел -робел -робел -робенок -роберт -робеют -робе -робк -робк -робк -робк -робк -робк -робк -робк -робк -робок -робост -робост -робост -робч -ровесник -ровн -ровн -ровнехоньк -ровн -ровн -ровн -ровн -ровн -ровн -ровн -ровня -рог -рог -рог -рог -рогат -рогат -рог -рогов -рогож -род -род -род -род -род -роденьк -род -род -род -род -род -род -родименьк -родим -родим -родин -родин -родин -родин -родин -родион -родион -родион -родион -родионыч -родител -родител -родител -родительск -родительск -родительск -родительск -родител -родител -род -род -родн -родн -родн -родн -родн -родн -родн -родн -родн -родн -родн -родн -родн -родн -родн -родн -род -род -родств -родственник -родственник -родственник -родственник -родственник -родственник -родственниц -родственниц -родственниц -родственниц -родствен -родствен -родствен -родствен -родствен -родствен -родствен -родств -род -родьк -родьк -родькин -родэ -род -род -род -род -ро -роет -роеш -рож -рож -рожда -рожда -рожда -рожда -рожда -рожда -рожда -рожда -рожда -рожда -рожден -рожден -рожден -рожден -рожден -рожден -рождеств -рождеств -рождествен -рождеств -рождеств -рождеств -рож -рож -рожк -рожок -рож -рож -рож -роз -роз -роза -роз -розн -розн -розн -розовеет -розовеют -розове -розов -розов -розов -розов -розов -розов -розов -роз -розоперст -роз -роз -ро -ро -рок -рок -роков -роков -роков -роков -роков -роков -рокот -рокотан -рокот -рокот -рокот -роланд -рол -рол -рол -ром -рома -рома -роман -роман -романист -романическ -романическ -романическ -роман -романович -романович -романович -романовн -романовн -романовн -романовн -романовн -романс -романс -романчик -рома -романыч -романыч -романыч -романыч -роме -ром -роня -роня -роня -рон -ропот -ропот -ропта -ропта -ропта -ропщ -рос -рос -рос -росинк -росист -роскош -роскошн -роскошн -роскошн -роскошн -роскошн -роскошн -роскошн -роскошн -роскош -роскош -росл -росл -росл -росн -росписн -росс -росс -российск -росс -росс -россияд -россиянин -рост -рост -рост -ростовщик -ростовщиц -рост -рост -рос -рот -рош -рощ -рощ -рощ -рощ -рощ -рощ -роют -роют -роял -роял -роял -роял -ро -роя -рт -рта -ртам -ртом -рту -рты -руб -рубах -рубах -рубашек -рубашечк -рубашечн -рубашк -рубашк -рубашк -рубашк -рубашк -рубашк -рубашонк -рубеж -рубеж -рубец -руб -руб -рубикон -руб -руб -рубин -рубин -рубинштейн -руб -руб -рубищ -рубищ -рубиян -рубл -рублев -рубл -рублик -рубл -рубл -рубл -рубл -рубл -рубл -рубнут -рубц -руга -руга -руга -руга -руга -руга -руган -ругательск -ругательск -ругательств -ругательств -ругательств -руга -руга -руга -руг -руг -ругнул -руд -рудник -руж -руж -руж -рук -рук -рука -рукав -рукав -рукав -рук -рук -рук -рук -рук -руководител -руководител -руковод -руководств -руководств -руководствова -руководств -руководству -рук -рукомесл -рукомойник -рукопис -рукоп -рукоплескан -рукопожат -рукопожат -рук -рук -рул -румя -румян -румянец -румян -румян -румян -румян -румян -румянц -румянц -румян -румян -рун -рус -русак -русалк -русалк -русалк -русалоч -рус -русл -русск -русск -русск -русск -русск -русск -русск -русск -русск -русск -русск -русск -русск -русс -рус -рус -ру -рус -рутин -рутин -рутинер -рутин -рухляд -рухнул -рухнул -рухнул -рухнул -рухнут -руц -руча -руча -руча -руч -рученьк -ручищ -ручк -ручк -ручк -ручк -ручк -ручн -ручн -ручонк -ручонк -ручонк -руч -руч -руч -руч -рушат -руш -руш -рыб -рыбак -рыбак -рыбач -рыбинск -рыб -рыб -рыб -рыб -рыда -рыда -рыда -рыда -рыда -рыда -рыдан -рыдан -рыдан -рыдан -рыдан -рыда -рыда -рыда -рыд -рыж -рыжеват -рыж -рыжик -рыка -рыл -рыл -рыл -рыл -рынк -рынк -рынк -рынк -рынок -рысак -рытвин -рыт -рыхл -рыцар -рыцар -рыцар -рычаг -рычан -рычан -рыщет -рыщ -рьян -рю -рюмк -рюмк -рюмк -рюмк -рюмк -рюмочк -рюмочк -рюш -ряб -ряб -рябин -ряб -рябчик -рябчик -рябчик -ряб -ряд -ряд -ряд -ряд -ряд -ряд -ряд -рядышк -ряд -ряжен -ряжен -рязанск -с -сабл -сабл -сабл -сава -саван -савинов -савич -савич -савишн -саврас -савраск -савраск -савраск -сад -сад -сад -садик -садик -садик -сад -сад -сад -сад -сад -сад -сад -садк -сад -садовник -садовник -садовник -садов -садовск -садовск -садов -садов -садов -сад -сад -сад -сад -садя -сажа -сажа -сажа -сажа -сажа -сажа -саж -саж -сажен -сажен -сажен -саж -сайк -сайк -саксон -саксонск -саксонск -салазк -салат -сал -сал -сал -салом -саломе -салон -салон -салон -салон -салоп -салоп -салоп -салоп -салоп -салоп -салфетк -салфетк -сальн -сальн -сальн -сам -сам -сам -сам -сам -сам -сам -самовар -самовар -самовар -самовар -самовар -самоварчик -самовлюблен -самовольн -сам -самодержавн -самодовольн -самодур -сам -самозабвен -самозабвен -самозабвен -сам -самойл -самоличн -самолюб -самолюбив -самолюбив -самолюбив -самолюбив -самолюбив -самолюб -самолюб -самолюб -сам -самомал -самомнен -сам -самонаслажден -самонужн -самоотвержен -самоотвержен -самоотвержен -самопожертвован -самосознан -самосохранен -самостоятельн -самостоятельн -самостоятельн -самостоятельн -самостоятельн -самостоятельн -самоубийств -самоубийств -самоубийств -самоубийств -самоубийц -самоуверен -самоуверен -самоуверен -самоуверен -самоуверен -самоунижен -самоуправств -сам -сам -сам -сам -сам -сам -сам -сан -сандал -сан -санк -санкт -сановник -сапог -сапог -сапог -сапог -сапог -сапог -сапог -сапог -сапог -сапожник -сапожн -сара -сара -сара -сара -саранч -сарат -сарафан -сар -сара -сара -сарказм -сарказм -сарказм -саркастическ -саркастическ -саркофаг -саркофаг -сатанинск -сатир -сатир -сатир -сатир -сатир -сатир -сафья -сафьян -сахар -сахарн -сахарниц -сахарниц -сахарн -сахар -сбавк -сбавк -сбалмошн -сбега -сбега -сбега -сбега -сбега -сбега -сбега -сбежа -сбежа -сбежа -сбежа -сбережен -сбережен -сбережет -сбереч -сбива -сбива -сбива -сбива -сбива -сбива -сбива -сбива -сбива -сбива -сбив -сбивчив -сбивчив -сбивш -сбивш -сбивш -сбил -сбил -сбил -сбил -сбил -сбира -сбира -сбит -сбит -сбит -сбит -сбит -сближа -сближа -сближен -сближен -сближен -сблиз -сбок -сболтнул -сборник -сборник -сборн -сбрасыва -сбрасыв -сбред -сбрил -сбрил -сброд -сброс -сброс -сброс -сброс -сбро -сбру -сбру -сбудет -сбыва -сбыва -сбыва -сбывш -сбыл -сбыл -сбыт -сбыт -сбыт -сва -свадеб -свадьб -свадьб -свадьб -свадьб -свадьб -свалива -свалива -свал -свал -свал -свал -свал -свал -сваля -свал -свар -свар -свата -свата -сват -сватовств -сватовств -све -сведен -сведен -сведен -сведен -сведет -свед -сведущ -свеж -свеж -свеж -свеж -свеж -свеж -свеж -свеж -свежеодет -свежепросолен -свежест -свежест -свежест -свеж -свеж -свеж -свеж -свеж -свеж -свеж -свезт -свез -свезут -свел -свел -свергнут -сверк -сверка -сверка -сверка -сверка -сверкан -сверкан -сверка -сверка -сверка -сверка -сверкнет -сверкнув -сверкнувш -сверкнувш -сверкнул -сверкнул -сверкнул -сверкнул -сверкнут -сверля -свернет -свернет -свернул -свернул -свернул -свернул -свернут -свернут -свертк -свертыва -свертыва -свертыва -сверх -сверх -сверхъестествен -сверхъестествен -сверчок -сверша -сверша -сверш -сверш -сверш -сверш -сверш -сверш -сверш -свер -свес -свест -свет -свет -света -света -свет -светел -светелк -свет -светик -свет -свет -свет -свет -свет -свет -свет -свет -свет -светл -светл -светл -светл -светлел -светленьк -светленьк -светлиц -светлиц -светл -светловыбрит -светл -светл -светл -светл -светл -светл -светл -светл -светл -светл -светл -светл -светляк -светов -светозарн -свет -светопреставлен -светск -светск -светск -светск -светск -светск -светск -свет -свет -свет -светя -свеч -свеч -свеч -свеч -свеч -свечк -свечк -свечк -свечк -свечк -свечн -свеч -свеч -свешива -свива -свидан -свидан -свидан -свидан -свидан -свидан -свидан -свидетел -свидетел -свидетел -свидетел -свидетел -свидетельниц -свидетельск -свидетельств -свидетельств -свидетельств -свидетельствова -свидетельствова -свидетельств -свидетельств -свидетельств -свидетельству -свидетел -свидетел -свидетел -свидригайл -свидригайлов -свидригайлов -свидригайлов -свидригайлов -свидригайлов -свидригайлов -свинец -свинкин -свинств -свинств -свинтус -свинцов -свинцов -свинц -свин -свин -свин -свирб -свирел -свирел -свиреп -свиреп -свиреп -свирепств -свиса -свист -свист -свистел -свист -свист -свистк -свистнет -свистнул -свисток -свист -свит -свиток -свит -свищеш -свобод -свобод -свобод -свободн -свободн -свободн -свободн -свободн -свободн -свободн -свободн -свободн -свободн -свободн -свободн -свободн -свобод -свобод -свод -свод -свод -свод -свод -свод -свод -сводн -свод -сво -своевольн -своевол -своевремен -своевремен -сво -сво -сво -сво -сво -своз -сво -сво -сво -сво -сво -свойск -свойств -свойств -свойств -свойств -свойств -свойствен -свойствен -свойствен -свойствен -свойствен -свойствен -свойств -сворачива -сворот -сворот -свороч -сво -сво -свысок -свыш -свяж -свяж -связа -связа -связа -связа -связа -связа -связа -связа -связа -связа -связ -связ -связк -связн -связыва -связыва -связыва -связ -связ -связ -связ -свят -свят -святк -святк -свят -свят -свят -свят -святок -свят -свят -свят -свят -свят -святын -святын -святын -свят -священ -священник -священник -священник -священник -священ -священ -священ -священ -священ -сгиб -сгиба -сгинеш -сгинул -сгинут -сгин -сглажива -сглаз -сглаз -сглуп -сглуп -сгнил -сгниют -сговарива -сговарива -сговор -сговор -сговор -сговор -сговор -сговор -сгон -сгоня -сгоня -сгора -сгора -сгор -сгорблен -сгорблен -сгорел -сгорел -сгорел -сгорет -сгор -сгоряч -сготов -сгреб -сгруппирова -сгуб -сгуб -сгуб -сгуб -сгуща -сгуща -сгуща -сгуща -сдав -сдав -сдает -сдает -сдал -сдан -сдат -сдач -сдач -сдач -сдач -сда -сдают -сдвига -сдвинеш -сдвинув -сдвинул -сдвинул -сдвинул -сдвинул -сдвин -сдвинут -сдвинут -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сдела -сделк -сдержа -сдержа -сдержа -сдержа -сдержа -сдержа -сдержан -сдержан -сдержа -сдержа -сдержа -сдержа -сдержива -сдержива -сдержива -сдержива -сдержива -сдержива -сдержива -сдержива -сдержив -сдержив -сдерж -сдернет -сдернул -сдерут -сде -сдобн -сдруж -сдует -сдур -се -себ -себ -себятешен -севастопол -севастопол -севастьяныч -сев -север -север -северн -северн -северн -север -севш -сегидил -сег -сегодн -сегодняшн -сегодняшн -сегодняшн -сегодняшн -сегодняшн -сед -седет -седеют -седе -седл -седл -сед -сед -сед -седок -седок -сед -сед -сед -сед -сед -сед -седьм -седьм -седьм -седьм -сеет -сезон -се -сейчас -сек -секир -секрет -секрет -секретар -секретарш -секретарш -секретар -секретар -секретар -секрет -секретн -секретн -секрет -секрет -секрет -сектант -секунд -секундант -секунд -секунд -секут -секуч -секущ -сел -сел -селадон -сел -сел -селедк -селедк -селедк -селен -селен -сел -сел -сел -сел -сельд -сельск -сельск -сельтерск -сельц -селянк -сем -семафор -семафор -семг -семейн -семейн -семейн -семейн -семейн -семейн -семейн -семейн -семейн -семейств -семейств -семейств -семейств -семейств -семейств -сем -сем -семен -семен -семен -семен -семенович -семенович -семенович -семенович -семенович -семеновн -семеновн -семеновн -семеновн -семеновн -семен -семен -семеныч -семеныч -сем -семидесят -семидесят -семик -семик -семилетн -семинар -семинарист -семинарист -семинарист -семицветн -семнадцат -семнадца -сем -сем -сем -сем -семьдес -сем -сем -сем -семьсот -сем -сем -семьянин -сем -сен -сен -сенат -сенат -сенатор -сенатор -сенатск -сенатск -сенат -сен -сен -сен -сен -сен -сен -сен -сен -сенова -сенова -сеновал -сеновал -сенокос -сен -сентенц -сентенц -сентенциозн -сентенц -сентенц -сентиментальн -сентябр -сентябр -сентябр -сен -сен -сен -септим -сер -серафим -сер -сервирова -сервирова -сергевн -сергевн -сергевн -сергеевич -сергеевн -сергеевн -сергеевн -сергеевн -сергеич -серг -сердечк -сердечн -сердечн -сердечн -сердечн -сердечн -сердечн -сердечн -сердечн -серд -серд -серд -серд -серд -сердит -сердит -серд -сердит -серд -сердит -серд -серд -сердобольн -сердолик -сердц -сердц -сердц -сердц -сердц -сердц -серд -серебр -серебр -серебрист -серебрист -серебр -серебр -серебряк -серебряков -серебряков -серебрян -серебряник -серебрян -серебрян -серебрян -серебрян -серебрян -серебрян -серег -серед -середин -середин -середин -середин -середин -серед -сережк -сережк -сер -сереньк -серж -сер -сер -сероват -сер -сер -сер -сер -серп -сер -серча -сер -сер -сер -сер -сер -серьг -серьг -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -серьезн -сестер -сестр -сестр -сестр -сестрин -сестрин -сестриц -сестриц -сестриц -сестриц -сестриц -сестриц -сестр -сестр -сестр -сест -сет -сетк -сетк -сетк -сетова -сеттинья -сет -сет -сечет -сеч -сеч -се -сеют -се -сжав -сжавш -сжал -сжал -сжал -сжал -сжал -сжал -сжал -сжал -сжал -сжал -сжат -сжат -сжат -сжат -сжат -сжат -сжева -сжег -сжеч -сжига -сжима -сжима -сжима -сжима -сжима -сжима -сжима -сжим -сзад -сибар -сибарит -сибир -сибирк -сибир -сивиллин -сиволап -сигар -сигарет -сигар -сигар -сигар -сига -сигна -сидевш -сидевш -сидевш -сидевш -сидевш -сидел -сидел -сидел -сидел -сидел -сиден -сидет -сид -сид -сид -сид -сид -сид -сид -сид -сидя -сидя -си -си -сиенск -сиенск -сиж -сиз -сиз -сиз -сикстинск -сил -сил -сил -сил -сил -силач -сил -сил -сил -сил -сил -сил -сил -сил -силушк -силуэт -сил -сильв -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сильн -сил -сим -символ -символ -символизм -символизм -символизм -символист -символическ -симеон -симеонов -симеонов -сим -симметрическ -симметричн -симпат -симпат -симпатич -симпатичн -симпатичн -симпатичн -симпатичн -симпат -симпат -симплон -симптом -синев -синев -синев -син -син -син -син -синеньк -синеньк -синеньк -синеок -синечерн -синеющ -син -син -син -син -син -синодальн -синодальн -синоним -синтаксис -син -синьор -синьор -син -синяк -син -сипел -сипен -сипен -сипет -сипл -сипл -сипл -сипл -сипл -сиренев -сиренев -сиренев -сирен -сирен -сирен -сирин -сириус -сироп -сирот -сирот -сирот -сиротк -сиротлив -сиротлив -сиротск -сиротск -сиротск -сирот -сист -систем -систематическ -систем -сист -систем -сит -ситх -ситцев -ситцев -ситцев -ситцев -ситцев -ситц -сих -си -си -сия -сия -сия -сия -сия -сия -сиян -сиян -сиян -сиян -сиян -сиян -сиян -сиятельств -сия -сия -сия -сия -сия -сия -сия -сия -скабрезн -скаж -скажет -скажет -скажеш -скаж -скаж -скаж -скажут -сказ -сказа -сказа -сказа -сказа -сказа -сказа -сказа -сказал -сказан -сказан -сказа -сказа -сказа -сказа -сказа -сказа -сказа -сказа -сказк -сказк -сказк -сказк -сказк -сказк -сказк -сказок -сказочник -сказочн -сказыва -сказыва -сказыва -сказыва -сказыва -сказыва -сказыва -скака -скака -скакан -скакан -скакан -скака -скакнет -скакнут -скал -скал -скалдырничеств -скал -скалист -скал -скал -скалк -скал -скал -скал -скал -скальд -скал -скамеечк -скамеечк -скамеечк -скам -скамейк -скамейк -скамейк -скамейк -скам -скам -скам -скам -скам -сканда -скандалезн -скандалезн -скандализиру -скандальн -скандальн -скандиру -сканирова -скаредн -скаредн -скаредн -скатерт -скатерт -скатерт -скат -скач -скачет -скачк -скачк -скважин -скважин -сквер -скверн -скверн -скверн -скверн -скверн -скверн -скверн -скверност -скверн -скверн -скверн -скверн -сквоз -сквоз -сквоз -сквозн -сквозняк -сквоз -сквоз -сквозя -скворц -скворц -скворц -скелет -скептик -скидыва -ски -скинет -скинут -скиньт -скит -скита -скита -скита -скитальц -скитальц -скитальц -скитан -скита -скит -скит -склад -склад -склад -складен -складк -складк -складк -складк -складк -складк -складн -складн -складок -складыва -складыва -складыв -склеп -склон -склон -склон -склонен -склон -склон -склон -склон -склон -склон -склон -склон -склон -склон -склон -склон -склон -склонност -склон -склон -склон -склоня -склоня -склоня -склоня -склон -склоня -склоня -склоня -склон -склуб -склянк -склянк -склянк -скобк -скобк -сковород -сковород -сковород -сковородк -сковород -сковород -сковыва -ског -ско -сколот -сколочен -сколочен -скол -скольз -скольз -скольз -скользк -скользк -скользк -скользнет -скользнул -скользнул -скользнул -скользнут -скольз -скольз -скользя -скользя -скольк -скольк -скольк -ском -скомка -скомка -скомка -скомпрометирова -сконфужен -сконфужен -сконфуж -сконфуз -сконфуз -сконфуз -сконфуз -сконфуз -сконфуз -сконфуз -сконча -скоп -скоп -скоп -скоплен -скопл -скорб -скорбет -скорб -скорб -скорбн -скорбн -скорбн -скорбн -скорбн -скорб -скорб -скорб -скор -скор -скореньк -скорлуп -скорлуп -скорлуп -скорняк -скор -скор -скороговорк -скороговорк -скор -скор -скор -скор -скоропостижн -скорч -скор -скор -скор -скос -скот -скот -скотин -скотинин -скотин -скотниц -скотниц -скотн -скотоводств -скотт -скошен -скош -скрадыва -скрас -скребет -скребл -скрежет -скрежет -скрежета -скрежещ -скрежещущ -скреп -скреп -скреп -скрест -скрест -скрив -скрив -скрив -скрив -скрижа -скрижал -скрип -скрипач -скрипел -скрипел -скрип -скрип -скрипк -скрипк -скрипк -скрипк -скрипк -скрипк -скрипнул -скрипок -скрип -скрип -скрипуч -скрипуч -скрипуч -скрип -скро -скро -скроет -скроет -скром -скромн -скромн -скромн -скромност -скромн -скромн -скромн -скромн -скрут -скруч -скрыв -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыва -скрыв -скрыв -скрыл -скрыл -скрыл -скрыл -скрыл -скрыл -скрып -скрыт -скрыт -скрытн -скрытн -скрыт -скрыт -скрыт -скрыт -скрыт -скрыт -скрыт -скрыт -скрыт -скрыт -скрюч -скрюч -скряг -скуд -скудн -скудн -скудн -скудн -скудн -скует -скук -скук -скук -скук -скук -скул -скулист -скульптор -скуп -скуп -скупа -скупа -скуп -скупост -скупост -скупц -скуп -скуча -скуча -скуча -скуча -скуча -скуча -скуча -скуча -скуча -скуча -скуч -скуч -скучен -скучищ -скучн -скучн -скучн -скучн -скучн -скучн -скучн -скучн -скучн -скучн -скучн -скучн -скучн -скуша -ску -слаб -слаб -слаб -слаб -слабеет -слабел -слабеньк -слабеньк -слабеньк -слабе -слаб -слаб -слаб -слаб -слаб -слабонервн -слабосил -слабост -слабост -слабост -слабост -слаб -слаб -слаб -слаб -слаб -слаб -слаб -слав -слав -слав -слав -славн -славненьк -славн -славн -славн -славн -славн -славн -славн -слав -слав -слав -славяноф -славянск -славянск -слага -слага -слад -слад -сладк -сладк -сладк -сладк -сладк -сладк -сладк -сладк -сладк -сладок -сладостн -сладостн -сладостн -сладостн -сладостраст -сладостраст -сладострастн -сладострастн -сладост -сладчайш -сладчайш -слаж -слажен -сласт -сласт -слат -слащ -слев -слег -слегк -слегл -след -след -след -след -след -след -след -след -след -след -след -след -след -следова -следова -следова -следова -следовател -следовател -следовател -следовательн -следовател -следовател -следовател -следова -следствен -следствен -следств -следств -следств -след -след -след -след -след -след -след -след -следу -след -след -след -следя -слеж -слез -слез -слез -слез -слез -слезинк -слезинк -слезл -слезн -слез -слезш -слез -слезьм -слеп -слеп -слепнут -слеп -слеп -слеп -слеп -слепот -слепот -слеп -слеп -слеп -слепя -слесарн -слесар -слесар -слета -слета -слета -слетел -слетел -слетел -слетет -слет -слив -слива -слива -слива -слива -слив -сливк -сливк -сливок -сливочк -сливш -слил -слил -слипа -слит -слит -слит -слич -слишк -слиян -слов -слов -слов -слов -словар -слов -слов -словесн -словесн -словечк -словечк -словечк -словечк -словн -слов -слов -словоохотлив -словоохотлив -словоохотн -слов -словц -слог -слог -слог -слог -сло -сло -слож -слож -слож -сложен -сложен -сложен -сложен -сложен -сложен -слож -слож -слож -слож -слож -слож -слож -слож -сложил -слож -слож -слож -сложн -сложн -сложн -сложн -сложн -слоист -слоист -слома -слома -слома -слома -слома -слома -слома -слом -слом -слом -слом -слонов -слоня -сло -сло -слуг -слуг -слуг -слуг -слуг -слуг -служак -служак -служанк -служанк -служанк -служанк -служат -служа -служа -служб -служб -служб -служб -служб -служб -служебн -служен -служен -служ -служ -служ -служ -служ -служив -служ -служ -служ -служ -служ -служ -служ -служ -служ -служ -слух -слух -слух -слух -слух -случ -случа -случа -случа -случа -случа -случа -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случайн -случа -случа -случа -случа -случа -случ -случа -случа -случ -случ -случ -случ -случ -случ -случ -случ -случ -случ -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слуша -слушател -слушател -слушател -слушательниц -слушател -слушател -слуша -слуша -слуша -слуша -слуша -слуш -слыв -слыл -слыл -слыха -слыха -слыха -слыха -слыха -слыха -слыха -слыхива -слыхива -слыхива -слых -слыш -слыша -слыша -слыша -слыша -слыша -слыша -слыша -слышамш -слыша -слыша -слыша -слышат -слышат -слыша -слыш -слыш -слыш -слыш -слыш -слыш -слышн -слышн -слышн -слышн -слышн -слышн -слышн -слыш -слыш -слюб -сляг -слякот -смаза -смаза -смаза -смаза -смазлив -смазн -смак -смастер -сматыва -смахнет -смахнул -смахнул -смеет -смеет -смеет -смеет -смееш -смееш -смежен -смеж -смежн -сме -сме -смейт -смейт -смека -смекнул -смел -смел -смел -смел -смел -смел -смел -смел -смелост -смелост -смел -смел -смел -смел -смел -смел -смен -смен -смен -смен -смен -смен -смен -смен -смен -сменя -сменя -сменя -сменя -сменя -сменя -сменя -смерд -смер -смерка -смерка -смеркл -смерт -смертельн -смертельн -смертельн -смертельн -смерт -смерт -смертн -смертн -смертн -смертн -смертн -смертн -смертн -смертоубийств -смерт -смерт -смерч -смест -сме -смета -смета -сметан -сметан -смета -смет -сметлив -смет -смет -смет -смех -смех -смех -смех -смех -смеша -смеша -смеша -смеша -смеша -смеша -смеша -смешен -смешива -смешива -смешива -смешив -смеш -смеш -смеш -смешл -смешлив -смешлив -смешлив -смешн -смешн -смешн -смешн -смешн -смешн -смешн -смешн -смешн -смешн -смешн -смешон -сме -сме -смеют -смеют -смеющ -смеющ -смеющ -смеющ -сме -смея -смея -смея -смея -сме -смея -смигнув -смир -смирен -смирен -смирен -смирен -смирен -смирен -смир -смирительн -смир -смир -смирн -смирн -смирн -смирн -смирн -смир -смиря -смиря -смиря -смог -смогл -смогл -смог -смоет -смож -сможет -смол -смоленск -смолист -смолк -смолка -смолка -смолка -смолкл -смолкнет -смол -смолол -смолча -смольн -смор -смор -сморка -сморка -смородин -смородин -смородин -смородин -смородин -смородиновк -смородинов -смородинов -смороз -сморщен -сморщ -сморщ -сморщ -смотр -смотревш -смотревш -смотревш -смотревш -смотрел -смотрел -смотрел -смотрел -смотрел -смотрет -смотр -смотр -смотр -смотр -смотрител -смотр -смотр -смотр -смотр -смотр -смоч -смочен -смоч -смо -смрад -смрадн -смрадн -смрад -смугл -смугловат -смугл -смугл -смугл -смугл -смугл -смугл -смугл -смут -смут -смут -смут -смут -смут -смутн -смутн -смутн -смутн -смутн -смутн -смутн -смутн -смут -смуща -смуща -смуща -смуща -смуща -смуща -смуща -смуща -смуща -смуща -смуща -смуща -смуща -смущ -смущ -смущ -смущен -смущен -смущен -смущен -смущен -смущен -смущен -смущен -смущен -смущен -смыва -смыва -смыв -смыка -смык -смысл -смысл -смысл -смысл -смысл -смысл -смысл -смысл -смысл -смысл -смыт -смыт -смычк -смычк -смычок -смягча -смягча -смягч -смягчен -смягч -смягч -смягч -смял -смят -смятен -смятен -смятен -смятен -смят -смят -смят -сна -снабжа -снадоб -снам -снам -снаруж -снаст -снах -снача -сне -снег -снег -снег -снегов -снегов -снегов -снегов -снег -снег -снеда -снеда -снед -снежинок -снежк -снежк -снежк -снежн -снежн -снежн -снежн -снежн -снежн -снежн -снежн -снежн -снес -снес -снесеш -снес -снес -снесл -снест -снизойт -снизошл -сниз -снил -снил -снил -снил -снима -снима -снима -снима -снима -снима -снима -снима -снима -сним -снимет -сним -сним -снисходител -снисходительн -снисходительн -снисходительн -снисходительн -снисходительн -снисходительн -снисходительн -снисходительн -снисходительн -снисходительн -снисхожден -снисхожден -снисхожден -снит -снит -снов -снов -снова -снова -сновиден -сновидц -сном -сноп -сноп -сноровк -снос -снос -сносн -сносн -сносн -сносн -сношен -сношен -сношен -сну -снурк -снурк -снурок -снуют -снующ -сны -снюха -снял -снял -снял -снят -снят -снят -снят -снят -со -собак -собак -собак -собак -собак -собак -собак -собач -собачк -собачонк -собачонк -собачонок -собач -собач -собач -соберет -соберет -собер -собер -соберут -собеседник -собеседник -собеседник -собеседник -собира -собира -собира -собира -собира -собира -собира -собира -собира -собира -собира -собирательн -собирател -собира -собира -собира -собира -собир -соблазнен -соблазнител -соблазнительн -соблазнительн -соблазнительн -соблазнительн -соблазнительн -соблазнительн -соблазнительн -соблазнительн -соблазнител -соблазн -соблазня -соблазня -соблазня -соблазн -соблюда -соблюда -соблюден -соблюст -соб -соболезнован -соболезну -собор -собор -собор -собор -соб -собра -собра -собра -собра -собра -собра -собра -собра -собра -собра -собра -собран -собран -собран -собран -собран -собрат -собра -собра -собствен -собствен -собствен -собствен -собствен -собствен -собствен -собственноручн -собственноручн -собствен -собствен -собствен -собствен -собствен -собствен -собствен -событ -событ -событ -событ -событ -событ -событ -собьет -собьеш -собьеш -собьют -сов -сова -сова -соверша -соверша -соверша -соверша -соверша -соверша -соверша -соверша -соверша -соверша -совершен -совершен -совершен -совершен -совершен -совершен -совершен -совершеннолет -совершен -совершен -совершен -совершен -совершен -совершен -совершен -соверш -совершенств -совершенств -совершенству -соверш -соверш -соверш -соверш -соверш -соверш -совест -совест -совест -совестлив -совестн -совест -совест -совет -совет -совет -совет -советник -советник -советник -советник -советник -совет -советова -советова -советова -советова -советова -советова -совет -совет -совет -совет -совет -совет -совеща -совещан -совеща -совин -совлада -совладет -совлечет -совмеща -совокупн -совокупн -совпада -совпада -совпаден -совпаден -совпаден -совпа -совра -совра -совра -совра -современ -современ -современ -современ -современ -совреш -совс -совьет -согб -согбен -соглас -соглас -соглас -соглас -соглас -соглас -соглас -соглас -соглас -соглас -соглас -соглас -согласн -согласн -согласн -согласн -согласн -соглас -соглаша -соглаша -соглаша -соглаша -соглаша -соглаша -соглаша -соглашен -соглашен -соглаш -соглядата -согна -согнет -согнув -согнувш -согрева -согрева -согрел -согрет -согрет -согрет -согреш -согреш -согр -содержа -содержан -содержан -содержан -содержан -содержател -содержа -содерж -сод -содра -содрога -содрога -содроган -содроган -содрогнет -содрогнул -содрогнут -сод -соединен -соединен -соедин -соедин -соедин -соедин -соедин -соединя -сожалел -сожален -сожален -сожален -сожален -сожален -сожалет -сожал -сожале -сожгл -сожж -сожж -сожжен -сожжен -сожж -сожител -сожительниц -сожител -сожмет -созва -созва -созвезд -созвуч -создава -создава -созда -созда -созда -созда -создан -создан -создан -создан -созда -созда -созда -созда -созда -созда -созда -созда -созда -создан -создан -создательниц -созда -созда -созда -созерцан -созерцан -созерцан -созерцательн -созерца -созна -сознава -сознава -сознава -сознава -сознава -сознав -созна -созна -созна -созна -созна -созна -созна -созна -сознан -сознан -сознан -сознан -сознан -сознан -сознан -сознан -сознательн -сознательн -сознательн -сознательн -сознательн -сознательн -созна -созна -созна -созна -созна -созрева -созрева -созревш -созреет -созрел -созрел -созрел -созрел -созрет -созыва -сойд -сойдет -сойдет -сойдеш -сойд -сойд -сойдут -сойд -сойт -сойт -сок -сок -сок -сокол -соколин -сокол -сокол -сократ -сокраща -сокращен -сокращен -сокращ -сокровен -сокровен -сокровен -сокровищ -сокровищ -сокровищ -сокр -сокруша -сокрушен -сокрыт -солга -солга -солг -солдат -солдат -солдат -солдатк -солдат -солдатск -солдатск -солдатск -солдат -солен -солен -солен -солен -солен -солен -солен -солжет -сол -солидн -солидн -солидн -солидн -солидн -солидн -солидн -солидн -солидн -солнечн -солнечн -солнечн -солнечн -солнечн -солнечн -солнц -солнц -солнц -солнц -солнышк -солов -солов -солов -соловьин -соловьин -соловьин -соловьин -солов -солом -солом -соломен -соломинк -солон -солонин -солонин -солонк -солонк -солонк -сол -сольнес -сольнес -сол -сольют -сом -сомкнет -сомкн -сомкнут -сомкнут -сомнева -сомнева -сомнева -сомнева -сомнева -сомнев -сомнен -сомнен -сомнен -сомнен -сомнен -сомнен -сомнител -сомнительн -сомнительн -сомнительн -сон -сон -сон -сонетк -сонечк -сонечк -сонечк -сонечкин -сонечкин -сонечкин -сонечк -сонечк -сон -сонин -сонлив -сонлив -сонм -сонм -сон -сонник -сон -сон -сон -сон -сон -сон -сон -сон -сон -сон -сон -сон -сон -сон -сонюшк -сон -сообража -сообража -сообража -сообража -сообража -сообража -соображ -соображен -соображен -соображен -соображен -соображен -сообраз -сообраз -сообраз -сообраз -сообраз -сообраз -сообраз -сообраз -сообразн -сообразн -сообразн -сообраз -сообща -сообща -сообща -сообща -сообща -сообща -сообщ -сообщен -сообщ -сообществ -сообщ -сообщ -сообщ -сообщ -сообщ -сообщ -сообщ -сообщительн -сообщительн -сообщ -сообщ -соответствен -соответствова -соответств -соответств -соперник -соперник -соперник -соперниц -сопернича -сопет -соп -сопл -сопляк -сопостав -сопоставлен -сопоставлен -сопоставля -соприкаса -соприкосновен -соприкосновен -сопричастн -сопровожда -сопровожда -сопровожда -сопровожда -сопровожда -сопровожда -сопровожда -сопровожда -сопровожда -сопровожда -сопровожда -сопровожден -сопротивлен -сопротивлен -сопротивля -сопротивля -сопротивля -сопряжен -сопутник -сопутствова -сопутств -соп -сор -соразмеря -соратник -сорва -сорва -сорва -сорва -сорва -сорва -сорва -сорванец -сорва -сорва -сорвет -сорвет -сор -сор -сорин -сорин -сорин -сорин -сор -сорн -сорок -сорок -сорокалетн -сороков -сороков -сор -соромник -сорт -сортировок -сорт -сор -соса -сосед -сосед -сосед -сосед -соседн -соседн -соседн -соседн -соседств -соседств -соседств -сосед -сосед -сос -сосет -сос -соскандал -соскоч -соскоч -соскуч -соскуч -соскуч -соскуч -сосла -сослов -сослуживец -сослуживц -сослуживц -сослуживц -сосновк -сосновк -сосновк -соснов -сосн -соснул -соснут -сосн -сосредоточен -сосредоточен -сосредоточен -сосредоточен -сосредоточен -сосредоточен -сосредоточен -сосредоточ -сосредоточива -сосредоточива -сосредоточив -сосредоточ -сосредоточ -сосредоточ -сосредоточ -сосредоточ -сосредоточ -соста -состав -состав -состав -состав -состав -состав -состав -состав -составл -составля -составля -составля -составля -составля -составля -составля -составля -состав -состар -состар -состар -состар -состар -состар -состо -состо -состо -состо -состо -сост -состоя -состоя -состоя -состоя -состоя -состоя -состоя -состоян -состоян -состоян -состоян -состоян -состоян -состоя -состоя -сострада -сострадан -сострадан -сострадан -состр -состряпа -состряпа -состяза -сосуд -сосуд -сосульк -сосчита -сосчита -сосчита -сосчита -сосчита -сосчита -сот -сот -сотвор -сотка -соткут -сотн -сотн -сотр -сотряса -сотряса -сотряс -сотрясен -сот -соус -соусник -соус -соус -соф -соф -соф -софистик -соф -софочк -софочк -софочк -соф -соф -соф -соф -соф -сохнут -сохранен -сохранен -сохран -сохран -сохран -сохран -сохран -сохран -сохран -сохран -сохран -сохран -сохран -сохран -сохраня -сохраня -сохраня -сохраня -сохраня -сохраня -сохраня -сохран -сох -социалист -социальн -социальн -социальн -социальн -социальн -социальн -соцьялизм -сочета -сочета -сочин -сочинен -сочинен -сочинен -сочинен -сочинен -сочин -сочинил -сочинител -сочинител -сочинител -сочинител -сочин -сочиня -сочиня -сочиня -сочиня -сочл -сочл -сочн -сочн -сочт -сочтет -сочт -сочувствен -сочувств -сочувств -сочувств -сочувствова -сочувствова -сочувств -сочувств -сочувству -сошедш -сошел -сошел -сошл -сошл -сошлет -сошл -сошл -сошл -сошл -сошлют -сошьет -сош -сощур -сощур -спавш -спавш -спада -спада -спад -спадет -спазм -спал -спал -спал -спален -спал -спал -спал -спальн -спальн -спальн -спальн -спальн -спальн -спан -спан -спарж -спарж -спарж -спас -спаса -спаса -спаса -спас -спас -спасен -спасен -спасен -спасен -спасен -спас -спасен -спасен -спасет -спас -спасиб -спас -спасительн -спасительниц -спасительн -спасительн -спасительн -спасительн -спас -спаст -спаст -спас -спасш -спат -спая -спб -спектакл -спектакл -спекулянт -спел -спеленут -спел -спел -сперв -сперед -сперл -спермацетн -сперт -спесив -спет -специальн -специальн -спеш -спешат -спеша -спеш -спеш -спеш -спеш -спеш -спеш -спеш -спеш -спеш -спи -спим -спин -спин -спинк -спинк -спинк -спинк -спин -спин -спин -спин -спин -спин -спира -спира -спирал -спиридоныч -спиридоныч -спирт -спирт -спирт -спирт -спирт -списк -списк -список -спит -спит -спит -спит -спит -спиц -спиц -спич -спичек -спичк -спичк -спиш -сплав -сплел -сплел -сплест -сплет -сплетен -сплетен -сплетн -сплетн -сплетник -сплетн -сплетут -сплин -сплошн -сплош -сплю -спляш -сподручниц -сподряд -спо -споемт -споет -спо -спойт -споко -спок -спокойн -спокойн -спокойн -спокойн -спокойн -спокойн -спокойн -спокойн -спокойн -спокойн -спокойн -спокойств -спокойств -спокойств -спокойств -спокойств -сполетск -сполз -сполза -сполза -сполз -сполн -спор -спор -спор -спор -спор -спор -спор -спор -спор -спор -спор -спорн -спор -спор -спор -спор -спор -спор -способ -способ -способ -способ -способн -способн -способн -способн -способн -способн -способн -способн -способн -способн -способн -способн -способн -способн -способн -способн -способ -способствова -способствова -способствова -способствова -способств -способ -споспешествован -спотка -споткнул -споткнул -спотык -спохват -спохват -спо -справ -справедлив -справедлив -справедлив -справедлив -справедлив -справедлив -справедлив -справедлив -справедлив -справедлив -справедлив -справ -справ -справ -справ -справк -справля -справля -справля -справля -справля -справок -справочк -справьт -справ -спрашива -спрашива -спрашива -спрашива -спрашива -спрашива -спрашива -спрашива -спрашива -спрашива -спрашива -спрашив -спро -спровад -спрос -спрос -спрос -спрос -спрос -спрос -спрос -спрос -спрос -спрос -спрос -спросон -спрос -спрош -спрут -спрыгн -спрыгнувш -спрыгнул -спрята -спрята -спрята -спрята -спрята -спрята -спрята -спрята -спрята -спрята -спрята -спрята -спрята -спрячет -спряч -спрячьт -спугнет -спугнув -спугнул -спугнут -спуск -спуска -спуска -спуска -спуска -спуска -спуска -спуска -спуска -спуска -спуск -спуск -спуст -спуст -спуст -спуст -спуст -спуст -спуст -спуст -спуст -спута -спута -спута -спутник -спутник -спутник -спутник -спущ -спущ -спьян -спьян -спят -спят -спящ -спящ -спящ -спящ -спящ -спящ -спящ -сравн -сравнен -сравнен -сравнен -сравнива -сравн -сравнительн -сравн -сража -сража -сражен -сражен -сраз -срам -срам -срам -срам -срам -срам -срам -сребреник -сребрист -сребрист -сребрист -сред -сред -сред -сред -средиземн -средин -средин -средн -средн -средн -средн -средн -средн -средн -сред -средств -средств -средств -средств -средств -средств -средств -средств -сред -сред -сред -среза -среза -среза -среза -сродн -срок -срок -срок -срок -срок -срок -сруб -сруб -срыва -срыва -срыва -срыв -срыв -сряд -ссад -ссин -ссор -ссор -ссор -ссор -ссор -ссор -ссор -ссор -ссор -ссор -ссор -ссор -ссыла -ссыла -ссыла -ссыл -ссылк -ссылк -ссылк -ссылк -ссылк -ссыльн -ссыльн -ссыпа -ста -став -става -став -став -став -став -став -став -став -ставк -ставл -ставн -ставн -ставн -ставш -став -ставьт -став -став -став -стад -стад -стадвадцатипятирублев -стад -ста -стака -стака -стакан -стакан -стакан -стакан -стаканчик -стаканчик -стаканчик -стаканчик -стаканчик -стака -стакнул -стал -стал -стал -сталкива -сталкива -сталкива -сталкива -сталкив -стал -стал -стал -стальн -стальн -стальн -стальн -стальн -стал -стам -стан -стан -стан -стан -станет -станет -станет -станеш -станислав -станк -станов -станов -станов -станов -станов -станов -станов -станов -становитц -станов -станов -становл -станов -станов -станов -стан -стан -станут -станц -станц -станц -станц -стан -станьт -стар -стар -стара -стара -стара -стара -стара -старан -старан -старан -старан -стара -стара -стара -стар -стар -стар -старе -старе -стареньк -старец -стареющ -стареющ -старик -старик -старик -старик -старик -старик -старик -стар -старин -старин -старин -старин -старин -старин -старин -старин -старин -старин -старин -старин -старин -старин -стар -старичк -старичк -старичк -старичок -старичонк -стар -стар -стар -стар -стар -стар -старост -старост -старост -старост -старост -старост -старост -стар -старух -старух -старух -старух -старухин -старухин -старухин -старухин -старухин -старухин -старухин -старух -старух -старушеч -старушеч -старушк -старушк -старушк -старушк -старушк -старушк -старушонк -старушонк -старушонк -старушонк -старушонок -стар -старц -старц -старц -старческ -старческ -старческ -старш -старш -старш -старшеньк -старш -старш -старш -старш -старш -стар -стар -стар -стар -стар -стар -стаскива -стат -статейк -статейк -статейк -стат -стат -статистик -статн -статочн -статск -статск -статск -статск -стат -стат -стату -стат -стат -стат -стат -стат -стат -стат -сташн -стащ -стащ -стащ -стащ -ста -ста -ствол -ствол -стебл -стеган -стегнул -стез -стека -стекл -стекл -стекл -стекл -стекл -стекл -стекл -стекля -стекля -стекля -стекля -стекля -стеклярус -стелет -стелющ -стел -стемнел -стен -стен -стен -стен -стенан -стен -стен -стенк -стенк -стенк -стен -стен -стен -стен -стен -степанид -степанид -степан -степен -степен -степен -степен -степ -степн -степн -степн -степн -степн -степн -степ -степ -степ -степ -стер -стерв -стерегл -стерегл -стерегут -стережет -стереотипн -стереотипн -стерет -стереч -стерляж -стерпел -стерт -стерт -стеснен -стеснен -стеснен -стеснен -стеснен -стесн -стесн -стесн -стеснительн -стесн -стесня -стесня -стесня -стесня -стесня -стесня -стесн -стесн -сти -стил -стилистическ -стил -стимер -стира -стира -стира -стира -стира -стирк -стискива -стиснув -стиснул -стиснул -стих -стих -стиха -стих -стих -стих -стих -стих -стих -стихийн -стих -стих -стихл -стих -стихотворен -стихотворен -стихотворц -стлал -стлал -стлив -сто -стог -стог -сто -сто -сто -сто -сто -сто -сто -сто -стоическ -сто -сто -стойк -стойк -стойл -стойт -стол -стол -стол -стол -столб -столб -столбик -столбняк -столбняк -столб -столбов -стол -столет -столет -столетн -столечк -столик -столик -столик -столик -столик -столик -столик -столиц -столиц -столиц -столиц -столичн -столкновен -столкнувш -столкнул -столкнул -столкнул -столкова -стол -столов -столов -столов -столов -столов -стол -столп -столп -столп -столп -столп -стол -стол -столыпин -стол -стольк -стольк -стольк -столяр -стон -стон -стона -стона -стон -стон -стонет -стон -стон -стонут -стон -стоп -стопта -стопта -стоп -сторгова -сторож -сторож -сторожев -сторож -сторож -сторож -сторож -сторон -сторон -сторон -сторон -сторон -сторон -сторонк -сторонк -сторон -сторон -сторон -сторублев -сторублев -стотысячн -стотысячн -стошн -сто -сто -стоя -стоя -стоя -стоя -стоя -стоя -стоя -стоя -стоя -стоя -стоя -сто -стоя -стояч -стояч -стоя -стоя -страв -страда -страда -страда -страда -страда -страда -страда -страдальн -страдальческ -страдальческ -страдан -страдан -страдан -страдан -страдан -страдан -страдан -страдан -страдан -страданьиц -страдан -страдан -страда -страда -страда -страда -страд -страж -страж -страж -страж -страж -стран -стран -стран -стран -стран -страниц -страниц -страниц -страниц -страниц -страниц -стран -стран -странник -странник -стран -стран -стран -стран -стран -стран -странност -странност -странност -стран -стран -стран -стран -стран -стран -стран -стран -стран -странств -странствова -странству -стран -страст -страст -страстишек -страст -страстн -страстн -страстн -страстн -страстн -страстн -страстн -страстн -страстн -страстн -страстн -страстн -страстн -страст -страст -страст -страст -страусов -страусов -страх -страх -страх -страх -страх -страх -страх -страх -страш -страш -страш -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страшн -страща -страща -стрекоз -стрекоз -стрекочет -стрел -стрел -стрел -стрелк -стрел -стрелочник -стрел -стрельб -стрельб -стреля -стреля -стреля -стреля -стреля -стреля -стремгла -стрем -стрем -стремительн -стремительн -стрем -стрем -стремлен -стремлен -стремлен -стремлен -стремлен -стрем -стрем -стрем -стрижен -стрижен -стриндберг -стрич -строг -строг -строг -строг -строг -строг -строг -строг -строг -строг -строг -строг -строг -строг -строгост -строгост -строгост -строгост -строг -строг -строев -строев -стро -стро -строж -строител -стро -стро -стро -стройк -стройк -стройк -стройн -стройн -стройн -стройн -стройн -строк -строк -строк -строк -строк -строптив -строч -строчк -строчк -строчк -стро -стро -строя -стру -стру -стру -стру -стру -струйк -струйк -струн -струн -струн -струн -струн -струн -струн -струс -струс -струс -струс -струс -струс -стру -стру -стру -струя -струя -стрясл -стряхива -стряхнул -стряхнут -сту -студенист -студен -студент -студент -студент -студентик -студент -студент -студент -студенческ -студенческ -студенческ -студенческ -студен -стуж -стуж -стуж -стуж -стук -стук -стука -стука -стука -стукан -стукан -стука -стук -стукнет -стукнеш -стукнув -стукнувш -стукнул -стукнул -стукнул -стукнул -стукнут -стук -стук -стул -стул -стул -стул -стул -стул -стул -стул -стул -ступа -ступа -ступа -ступа -ступа -ступен -ступен -ступен -ступеньк -ступеньк -ступеньк -ступеньк -ступеньк -ступен -ступ -ступ -ступ -ступ -ступ -ступк -ступк -стуч -стуча -стуча -стуча -стуча -стуча -стуча -стуча -стуч -стучат -стучат -стуча -стуча -стуч -стуч -стуч -стуч -стуч -стуч -стушева -стушевыва -стыд -стыд -стыд -стыд -стыд -стыд -стыд -стыд -стыд -стыдл -стыдлив -стыдлив -стыдлив -стыдлив -стыдлив -стыдлив -стыдлив -стыдлив -стыдлив -стыдлив -стыдн -стыдн -стыд -стыд -стыд -стыд -стыдя -стыдя -стыж -стыж -стыл -стынет -стяг -стяг -стягива -стягива -стяжа -стянул -стянут -стянут -су -суббот -суббот -суббот -субъект -субъект -субъект -сугроб -сугроб -сугуб -сугуб -суд -суд -судак -сударын -судар -суд -судеб -судебн -судебн -судебн -судебн -судейск -судейск -судейск -суд -суд -суд -суд -суд -суд -судк -суд -судопроизводств -судопроизводств -судорог -судорог -судорог -судорог -судорог -судорожн -судорожн -судорожн -судорожн -суд -судыр -судьб -судьб -судьб -судьбинск -судьб -судьб -судьб -судьб -суд -суд -суд -суд -суевер -суевер -суеверн -суеверн -суеверн -сует -сует -сует -сует -сует -сует -сует -суетлив -суетлив -суетлив -сует -сует -сует -сует -суеш -суеш -сужд -сужден -сужден -сужден -сужден -сужден -сужден -сужд -сужд -сужив -суж -суздальц -суз -су -сукн -сукн -сукон -сул -сул -сул -султа -сул -суля -сумароков -сумасброд -сумасброд -сумасшедн -сумасшедш -сумасшедш -сумасшедш -сумасшедш -сумасшедш -сумасшедш -сумасшедш -сумасшедш -сумасшедш -сумасшеств -сумасшеств -сумасшеств -сумасшеств -сумасшествова -сумасшеств -суматох -суматох -суматох -суматох -сумеет -сумееш -сумел -сумел -сумел -сумерк -сумерк -сум -сумеют -сумк -сумк -сумлен -сумлен -сумлен -сумм -сумм -сумм -сумм -сумм -сумочк -сумрак -сумрак -сумрак -сумрач -сумрачн -сумрачн -сумрачн -сундук -сундук -сундук -сундук -сундук -сундук -сундучок -сунет -сунув -сунул -сунул -сунут -суп -суп -суп -супруг -супруг -супруг -супруг -супруг -супруг -супружеск -супружеск -супружеск -супружеств -супружеств -супружеств -суп -сургуч -сургуч -сургуч -сурдин -сурм -сур -суров -суров -суров -суров -суров -суров -суров -суров -суров -суров -суров -суров -суров -суров -сурок -сусальн -сусл -сутк -сутк -суток -суточн -суточн -суточн -сутуловат -сут -сутяжничеств -суфлер -сух -сухар -сухар -сухарик -сухарик -сухар -сухар -сухар -сух -сух -сух -сух -сух -сух -сух -сух -сухост -сух -сучок -суч -сушен -сушен -сушен -суш -суш -сушильн -суш -сущ -сущ -существ -существ -существ -существен -существен -существен -существ -существова -существова -существован -существован -существован -существован -существован -существова -существ -существ -существу -существ -существует -существ -существ -существ -существ -существ -сущност -сущност -сфер -сфер -сфер -сфер -сфер -сфер -сфер -сфер -сфинкс -сфинкс -схват -схват -схват -схват -схват -схват -схват -схват -схват -схват -схватк -схватыва -схватыва -схватыва -схватыв -схват -схвач -схвач -схимник -схитр -схитр -схлебнув -сход -сход -сход -сход -сход -сход -сход -сход -сход -сход -сход -сход -сход -сходк -сходк -сходк -сходн -сходн -сход -сходств -сходств -сходствова -сходств -сход -сход -сход -сход -сход -схож -схож -схож -схоластик -схорон -схорон -схорон -схорон -схорон -сцен -сцен -сцен -сцен -сцен -сцен -сцеп -сцеп -сцеплен -счаст -счаст -счаст -счаст -счаст -счастл -счастлив -счастлив -счастлив -счастлив -счастлив -счастливец -счастлив -счастлив -счастлив -счастлив -счастлив -счастлив -счастливц -счастлив -счастлив -счастлив -счастлив -счастлив -счастлив -счаст -счаст -счаст -счаст -счаст -счел -счест -счет -счет -счет -счет -счет -счет -счет -счет -счет -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счита -счит -сшедш -сшиб -сшил -сшит -сшит -съеда -съеда -съеда -съед -съедет -съед -съеж -съеж -съезд -съезд -съезд -съезд -съезд -съезд -съезжа -съезжа -съезжа -съезжа -съезжал -съезжа -съезжа -съезжа -съезж -съел -съел -съем -съест -съестн -съестн -съестн -съестн -съест -съеха -съеха -съеха -съеш -сыворотк -сыгра -сыгра -сыгра -сыгра -сыгра -сыгра -сыгра -сыгра -сызмалетств -сызнов -сын -сын -сын -сын -сынк -сын -сыновн -сыновн -сын -сын -сын -сыпа -сыпа -сыпа -сыплет -сыплющ -сыпн -сыр -сыр -сыр -сыр -сыр -сыр -сыр -сырост -сырост -сырост -сыр -сыр -сыр -сыр -сыска -сыска -сыска -сыскн -сыт -сыт -сыт -сытост -сыт -сыт -сыт -сычих -сычуг -сыщ -сыщет -сыщеш -сыщ -сыщик -сыщик -сыщност -сыщ -сыщут -сь -сю -сюд -сюжет -сюрприз -сюрпризик -сюрприз -сюртук -сюртук -сюртук -сюртучишк -сюртучок -сяд -сядет -сяд -сядут -сяд -сядьт -сяк -сяк -сям -т -та -табак -табакерк -табакерк -табакерк -табак -табак -табачн -табачн -табачок -таблиц -таблиц -таблиц -табун -тавариществ -таверн -тает -таз -та -та -та -та -та -та -та -таин -таинств -таинствен -таинствен -таинствен -таинствен -таинствен -таинствен -таинствен -таинствен -таинствен -таинствен -таинств -та -тайк -тайн -тайн -тайн -тайн -тайн -тайник -тайн -тайн -тайн -тайн -тайн -тайн -тайн -тайн -тайн -тайн -тайн -тайн -тайн -тайт -так -так -так -такж -так -так -так -так -так -так -таков -таков -таков -таков -таковск -таков -таков -таков -так -так -так -так -так -так -таксомотор -такт -такт -тактик -такт -так -так -талант -талант -талант -талантл -талантлив -талантлив -талантлив -талантлив -талантлив -талантлив -талант -талант -талант -талер -тал -тал -тал -тал -тал -тал -тал -тальк -тальм -тальмочк -тальм -тал -там -там -тамар -тамошн -тамошн -тамошн -танец -танц -танц -танц -танц -танц -танцева -танцева -танцевальн -танцева -танц -танц -танцу -танц -тар -тарака -таракан -таракан -таракан -тарака -тарантас -тарант -тарантьев -тарантьев -тарантьев -тарантьев -тарар -тарас -тарас -тараск -тараск -таращ -таращат -таращ -тарелк -тарелк -тарелк -тарелк -тарелк -тарелк -тарелк -тарелок -таска -таска -таска -таскал -таска -таска -тас -татар -татарв -татарин -татарск -татарск -татарск -татарск -тат -татья -тафт -тащ -тащ -тащ -тащ -тащ -тащ -тащ -тащ -тащ -тащ -та -тают -тающ -та -тая -тая -таян -та -та -твар -твар -твар -тверд -тверд -твердеют -тверд -тверд -тверд -тверд -тверд -тверд -тверд -тверд -тверд -тверд -тверд -тверд -твердост -твердост -твердост -тверд -тверд -тверд -тверд -тверд -тверез -тверж -твер -тво -тво -тво -тво -тво -тво -тво -тво -тво -тво -тво -творен -творец -твор -твор -твор -творим -твор -твор -творог -творц -творческ -творческ -творческ -творческ -творческ -творчеств -твор -тво -тво -те -театр -театр -театр -теб -теб -текл -текл -текл -текст -текст -текут -текущ -текущ -тел -тел -тел -телег -телег -телег -телег -телегин -телегин -телеграмм -телеграмм -телеграмм -телеграф -телеграф -телеграф -телеграфирова -телеграфирова -телеграфир -телеграфистк -телеграфн -телеграфн -телеграфн -телег -тележк -тележк -тележк -тележн -телемак -телесн -телефон -телефон -тел -тел -тел -тельц -телят -телятин -телятин -телятин -телятин -тем -тем -тем -темен -темен -тем -темляк -темн -темн -темневш -темневш -темн -темн -темнел -темненьк -темнеют -темнеющ -темнеющ -темн -темновлас -темн -темн -темн -темнолик -темн -темнот -темнот -темнот -темнот -темн -темн -темн -темн -темн -темн -темн -темн -температур -тем -тем -тем -тен -тен -тенист -тенист -тенист -тенист -тенист -тенор -тен -тен -теодор -теоретик -теоретическ -теор -теор -теор -теорийк -теор -теор -теор -теор -тепел -теперешн -теперешн -теперешн -теперешн -теперешн -теперешн -теперешн -теперешн -теперешн -теперешн -теперич -тепер -тепл -тепл -тепл -тепл -тепл -тепл -тепл -теплиц -тепл -тепл -тепл -тепл -тепл -теплот -теплот -теплот -тепл -тепл -тепл -тепл -тепл -тер -тереб -теребьев -теребьев -тереб -тер -терет -терза -терза -терза -терза -терза -терза -терза -терза -терза -терзан -терзан -терза -терза -терз -термин -терпевш -терпел -терпел -терпелив -терпелив -терпелив -терпен -терпен -терпен -терпен -терпет -терп -терп -терп -терп -терпл -терп -террас -террас -террас -террас -террас -террас -теря -теря -теря -теря -теря -теря -теря -теря -теря -теря -теря -теря -теря -теря -теря -тер -тесемк -тесемочк -тес -тесн -тесн -тесн -тесн -тесн -тесн -тесн -тесн -тесн -теснот -тесн -тесн -тесн -тесн -тесн -тесн -тесня -тесов -тест -тест -тестов -тесьм -тесьм -тет -тетеньк -тетив -тетив -тетк -тетк -тетк -тетк -тетк -теток -тетрад -тетрад -тетрадк -тетрадк -тетрадк -тетрадк -тетрадк -тетрад -тетрад -тетушк -тетушк -тет -тех -техник -технолог -технолог -течен -течен -течен -течен -течет -тешат -тешат -теш -теш -теш -теш -тещ -тещ -тиатр -тигр -тик -тил -тимофеевн -тип -типограф -типограф -тип -тирад -тирад -тира -тиран -тирол -тирольск -тиск -тиск -тит -тита -титулярн -титулярн -тиф -тиф -тих -тих -тих -тих -тих -тих -тих -тих -тих -тих -тих -тих -тих -тихоновн -тихоньк -тихоньк -тих -тих -тициа -тиш -тиш -тишин -тишин -тишин -тишин -тишин -тишин -тиш -тка -ткал -ткан -ткан -ткан -ткет -ткнул -тко -тлеет -тлеющ -то -тоб -тоб -товар -товар -товарищ -товарищ -товарищ -товарищ -товарищ -товарищ -товарищ -товариществ -товарищ -товарищ -товарн -товар -товар -товар -товар -тогд -тогдашн -тогдашн -тогдашн -тогдашн -тогдашн -тог -тож -то -токар -токм -толк -толка -толка -толка -толка -толкал -толк -толка -толка -толк -толка -толк -толк -толкл -толкл -толкнув -толкнул -толкнул -толкнут -толк -толкова -толкова -толкован -толкова -толков -толков -толков -толкотн -толк -толк -толкует -толк -толкуч -толкуч -толкуч -толк -толк -толоч -толп -толп -толп -толп -толп -толп -толп -толп -толп -толп -толп -толп -толп -толп -толст -толст -толст -толстеет -толстеньк -толстеньк -толстоват -толст -толстогуб -толст -толстот -толст -толст -толст -толст -толст -толст -толстяк -толч -толчен -толчет -толчк -толчк -толчк -толчок -толщин -тольк -том -том -том -том -том -томик -том -том -том -том -том -том -том -томительн -томительн -том -том -том -том -том -томлен -томлен -томлен -томлен -томлен -томлен -томлен -томл -томн -томн -томн -томн -томноок -томн -томн -томн -томн -томн -том -том -том -том -том -томя -тон -тон -тон -тоненьк -тоненьк -тоненьк -тоненьк -тоненьк -тоненьк -тоненьк -тоненьк -тонет -тонк -тонк -тонк -тонк -тонк -тонк -тонк -тонк -тонк -тонк -тонкост -тонкост -тонкост -тонк -тон -тонок -тон -тон -тонул -тонул -тонут -тончайш -тончайш -тончайш -тончайш -тон -тон -топ -топа -топ -топ -топ -топ -топлив -топнув -топнул -топнул -тополев -тополев -топол -топол -топол -топол -топор -топор -топор -топор -топорн -топор -топор -топорщ -топот -топочет -топта -топта -топчеш -топч -топчут -топ -топ -торг -торг -торгова -торгова -торгова -торгова -торгова -торговк -торговк -торговл -торговл -торгов -торгов -торгов -торговц -торговц -торгов -торг -торг -торг -торжеств -торжеств -торжеств -торжествен -торжествен -торжествен -торжествен -торжествен -торжествен -торжествен -торжествен -торжествен -торжествен -торжеств -торжествова -торжествова -торжеств -торжеств -торжеств -торжеств -торжествующ -торжеств -торжеству -тороват -тороп -тороп -тороп -тороп -тороп -тороп -тороп -тороп -тороп -тороп -тороплив -тороплив -тороплив -тороплив -тороплив -тороплив -тороплив -тороплив -торопл -тороп -тороп -тороп -торт -торт -торф -торча -торча -торча -торча -торча -торчат -торч -торчк -тоск -тосканск -тосканск -тоск -тоск -тосклив -тосклив -тосклив -тосклив -тосклив -тоскова -тоскова -тоскова -тоск -тоск -тоск -тоску -тоск -тоскуеш -тоск -тоск -тоск -тоск -тоску -тот -тотчас -точ -точек -точ -точ -точ -точк -точк -точк -точк -точк -точк -точн -точн -точнехоньк -точн -точн -точн -точн -точност -точност -точност -точн -точн -точн -точ -тошн -тошн -тошнот -тощ -тощ -тощ -тощ -то -тра -трав -трав -трав -трав -трав -травк -травк -травл -трав -трав -трав -трагед -трагед -трагед -трагик -трагик -трагическ -трагическ -трагическ -трагическ -трагическ -трактат -трактир -трактир -трактир -трактир -трактиришк -трактиришк -трактирн -трактирн -трактирн -трактир -трактир -трактир -трам -трамва -транспарант -трат -трат -трат -трат -трат -трат -трат -трат -трат -трат -трат -траур -траур -траур -траурн -траурн -траурн -траурн -траурн -траурн -траурн -трахтир -трач -требова -требова -требова -требова -требова -требован -требован -требован -требован -требован -требова -треб -требуем -треб -треб -требуеш -треб -треб -требух -треб -треб -треб -треб -требу -тревог -тревог -тревог -тревог -тревог -тревог -тревог -тревог -тревог -тревож -тревож -тревожат -тревож -тревож -тревож -тревож -тревож -тревож -тревож -тревож -тревож -тревож -тревож -тревожн -тревожн -тревожн -тревожн -тревожн -тревожн -тревожн -тревожн -тревожн -тревож -тревож -тревож -тревожьт -треволнен -треволнен -трезв -трезв -трезв -трезв -трезвон -трезв -трезв -трезор -треклят -треклят -трельяж -трем -тремяст -тренька -трепа -трепан -трепан -трепа -трепет -трепет -трепета -трепета -трепета -трепета -трепета -трепета -трепетан -трепетан -трепет -трепетн -трепетн -трепетн -трепет -трепет -трепещ -трепещет -трепещут -трепещущ -трепещущ -трепещущ -трепещущ -трепещущ -трепещущ -трепещущ -трепл -треплев -треплев -треплев -треплет -треплют -треплют -трепл -треск -треска -треск -треск -трескотн -трескотн -трескуч -трет -трет -третн -трет -трет -трет -третьегодичн -третьегодичн -третьегодн -трет -трет -трет -трет -трет -трет -трет -трет -трефов -трех -трехлетн -трехлетн -трехлетн -трехрублев -трехрублев -трехрыбн -трехсот -трехст -трехударн -трехэтажн -трещ -треща -треща -треща -треща -трещат -треща -трещин -трещин -трещин -трещ -три -трибун -трибун -тригорин -тригорин -тригорин -тригорин -тридцат -тридцатипятилетн -тридцатирублев -тридца -тридцат -трижд -тризн -тринадцат -тринадцатилетн -тринадцат -тринадца -трист -триумф -трихин -трога -трога -трога -трога -трога -трога -трога -трога -трога -трогательн -трогательн -трогательн -трогательн -трога -трога -трога -трог -тро -троек -троекратн -троекратн -троекратн -троекратн -трож -тро -тро -тро -троиц -троицын -тройк -тройк -тройк -тройн -тронет -тронет -тронеш -тронул -тронул -тронут -тронут -тронут -тронут -тронут -трон -троньт -троп -троп -тропинк -тропинк -тропинк -тропинк -троп -троп -троп -тросточк -трост -трост -троттуар -троттуар -тротуар -тротуар -тротуар -тротуар -тротуар -тротуар -тротуар -трофим -трофимов -трофимович -трофимов -трофимов -трофимыч -трофимыч -троюродн -тррреклят -труб -труб -труб -труб -труб -трубк -трубк -трубк -трубк -трубк -трубк -трубн -трубн -трубочист -трубочк -труб -труб -труд -труд -труд -труд -труд -труд -труд -труд -труд -труд -труд -труд -трудн -трудн -трудн -трудн -трудн -трудн -трудност -трудност -трудн -трудн -трудн -трудн -трудн -труд -трудов -трудов -трудов -трудов -трудолюбив -трудолюбив -трудолюбив -трудолюб -трудолюб -труд -труд -труд -труд -труд -труженическ -труж -труп -трупн -труп -труп -трус -трус -трус -трус -трусишк -трусл -труслив -труслив -труслив -трусоват -трусост -трын -трюфел -тряпк -тряпк -тряпк -тряпк -тряпок -тряп -тряп -трясет -трясл -трясл -трясл -тряс -трясут -тря -тряс -тряхнул -тс -тсс -тся -ту -туалет -туалет -туалетн -туалет -туг -туг -туд -туж -туж -туз -тузенб -тузенбах -тузенбах -тузенбах -туз -туз -туз -туловищ -туловищ -тулон -тулон -тулуп -тулуп -тульск -тума -тума -туман -туман -туман -туман -туман -туман -тума -тума -тума -тума -тума -тума -тума -тума -тума -туман -туман -тума -туман -тумб -тумб -тунеядств -туп -тупеет -туп -тупик -тупиц -туп -туп -туп -тупост -тупоум -тупоумн -туп -туп -тур -тур -турген -тургенев -тургеневск -турецк -турецк -турецк -турецк -турист -турк -тускл -тускл -тускл -тускл -тускл -тускл -тускл -тускнел -тут -туфл -туфл -туфл -туфл -тухл -тухл -туч -туч -туч -туч -туч -туч -туч -тучк -тучк -тучк -тучн -туч -туш -тушат -туш -туш -тш -тщательн -тщательн -тщеслав -тщеслав -тщеслав -тщеслав -тщеславн -тщет -тщетн -тщетн -ты -ты -тыка -тыкв -тысяч -тысяч -тысяч -тысяч -тысяч -тысяч -тысячелет -тысячелет -тысячелетн -тысяч -тысячн -тысяч -тысяч -тысящ -тычет -тычут -тьма -тьме -тьмо -тьму -тьмы -тьфу -тюк -тюлев -тюмен -тюменев -тюремн -тюремн -тюремн -тюрьм -тюрьм -тюрьм -тюрьм -тюрьм -тюрьм -тютчев -тюфяк -тягл -тяг -тягост -тягостн -тягостн -тягостн -тягостн -тягост -тяготеют -тягот -тягот -тягот -тягот -тягот -тягот -тяготя -тяг -тяжб -тяжб -тяжебн -тяжел -тяжел -тяжел -тяжел -тяжел -тяжеленьк -тяжел -тяжел -тяжеловес -тяжел -тяжел -тяжел -тяжел -тяжел -тяжел -тяжел -тяжел -тяжел -тяжел -тяжел -тяжест -тяжест -тяжк -тяжк -тяжк -тяжк -тяжк -тяжк -тянет -тянет -тянул -тянул -тянул -тянул -тянул -тянут -тянут -тяп -у -у -уайльд -убав -убав -убаюка -убаюкива -убаюкива -убега -убега -убега -убега -убег -убег -убед -убед -убед -убедительн -убедительн -убедительн -убедительн -убед -убед -убед -убед -убежа -убежа -убежа -убежа -убежда -убежд -убежд -убежд -убежден -убежден -убежден -убежден -убежден -убежден -убежден -убежден -убежден -убежден -убежден -убежден -убежд -убежден -убеж -убеж -уб -уб -убережеш -уберет -убереч -убереш -убер -убер -уб -убива -убива -убива -убива -убива -убива -убива -убивал -убива -убива -убив -убивец -убивств -убийств -убийств -убийств -убийств -убийств -убийц -убийц -убийц -убийц -убийц -уб -уб -уб -убира -убира -убира -убира -убира -убира -убиран -убира -убира -убира -убир -уб -убит -убит -убит -убит -убит -убит -убит -убит -убит -убит -убит -уб -убог -убог -убор -убор -убор -уборк -уборк -уборк -уб -убоя -убра -убра -убра -убра -убра -убра -убра -убра -убра -убра -убра -убранств -убранств -убра -уб -убытк -убытк -убытк -убытк -убыток -уб -убьет -убьет -убьеш -убьеш -уб -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважа -уважен -уважен -уважен -уважен -увар -увед -увед -уведом -уведом -уведом -уведомл -уведомлен -уведомля -уведомля -увез -увез -увез -увезл -увезл -увезт -увез -увезш -увековеч -увел -увел -увеличива -увеличива -увеличива -увелич -увелич -увелич -увелич -увенча -увенча -увер -увер -уверен -уверен -уверен -уверен -уверен -уверен -уверен -уверен -уверен -уверен -увер -уверен -увер -увер -увер -уверительн -увер -увер -уверова -уверова -уверова -увертел -увертк -увертк -увертыва -увер -увер -уверя -уверя -уверя -уверя -уверя -уверя -уверя -уверя -увер -увеселен -увеселительн -увеселительн -увеселительн -увеселя -увесист -увест -увест -увечн -увещев -увида -увида -увида -увида -увида -увида -увид -увидел -увидел -увидел -увидет -увид -увид -увид -увид -увид -увид -увид -увид -увиж -увиж -увит -увлек -увлека -увлека -увлека -увлека -увлекательн -увлека -увлека -увлека -увлек -увлекл -увлекл -увлекл -увлек -увлек -увлеч -увлечен -увлечен -увлечен -увлечен -увлечен -увлечен -увлеч -увлеч -увлеч -увод -увод -увоз -увол -увол -увольня -увольт -увраж -ув -увяда -увяда -увяд -увядш -увядш -увяз -увяза -увязнув -увязыва -увя -увя -угада -угада -угада -угада -угада -угада -угада -угада -угада -угада -угада -угадыва -угадыва -угадыва -угадыва -угадыва -угадыва -угадыва -угадыв -угар -угарн -угас -угаса -угасл -угасл -угасл -угаснет -угаснувш -угасш -угл -угл -угл -угл -угл -угловат -угловат -угловат -угловат -углов -угл -угл -углуб -углуб -углуб -углуб -углубл -углублен -углублен -угл -угл -угнета -угнета -угнет -уговарива -уговарива -уговарива -уговарив -уговор -уговор -уговор -уговор -уговор -уговор -уговор -уговор -угод -угод -угодлив -угодн -угожден -угожден -угол -уголк -уголк -уголк -уголк -уголк -уголовн -уголовн -уголок -угол -угол -угольк -угольн -угол -угорел -угорел -угор -угост -угоща -угоща -угоща -угощен -угощен -угощен -угощ -угрожа -угрожа -угрожа -угрожа -угрожа -угрожа -угроз -угроз -угроз -угроз -угроз -угроз -угрыза -угрызен -угрызен -угрюм -угрюм -угрюм -угрюм -угрюм -угрюм -угрюм -угрюм -угрюмств -угрюм -угрюм -угрюм -угрюм -угр -удава -удава -удав -удав -удав -удав -уда -уда -удален -уда -удал -удал -удал -удал -уда -уда -удал -удаля -удаля -удаля -удаля -удар -удар -удар -удар -удар -ударен -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удар -удаст -удач -удачн -удачн -удвоен -удвоен -удвоен -удвоива -удво -удво -удво -удво -удел -удержа -удержа -удержа -удержа -удержа -удержа -удержан -удержа -удержа -удержива -удержива -удержива -удержива -удержива -удержива -удержива -удержив -удержив -удерж -удерж -удерж -удерж -удив -удив -удив -удив -удив -удив -удив -удив -удив -удивительн -удивительн -удивительн -удивительн -удивительн -удивительн -удивительн -удивительн -удивительн -удив -удивл -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивлен -удивл -удивля -удивля -удивля -удивля -удивля -удивля -удивля -удивля -удивля -удивля -удивл -удив -удив -уд -уд -уд -удобн -удобн -удобн -удобн -удобн -удобопонятн -удобств -удобств -удовлетвор -удовлетвор -удовлетворен -удовлетворен -удовлетворен -удовлетворен -удовлетворен -удовлетворен -удовлетворен -удовлетвор -удовлетвор -удовлетворительн -удовлетворительн -удовлетворительн -удовлетворительн -удовлетворительн -удовлетворительн -удовлетворительн -удовлетвор -удовлетвор -удовлетвор -удовольств -удовольств -удовольств -удовольств -удовольств -удовольствова -удостаива -удостоверен -удостовер -удостовер -удостоив -удосто -удосто -удосто -удочк -удочк -удочк -удра -удручен -удручен -удушлив -удушлив -удушлив -удуш -удуш -уд -уед -уедет -уедет -уедеш -уединен -уединен -уединен -уединен -уединен -уединен -уединен -уединен -уедин -уедин -уед -уедут -уезд -уезд -уезд -уезд -уездн -уездн -уездн -уездн -уездн -уезд -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезжа -уезж -уеха -уеха -уеха -уеха -уж -ужален -ужал -ужал -ужас -ужас -ужаса -ужаса -ужас -ужас -ужаса -ужас -ужас -ужас -ужасн -ужасн -ужасн -ужасн -ужасн -ужасн -ужасн -ужасн -ужасн -ужасн -ужасн -ужасн -ужаснувш -ужаснул -ужаснул -ужасн -ужасн -ужасн -ужасн -ужасн -ужас -ужас -ужас -ужас -уж -ужел -ужел -ужива -ужива -ужин -ужин -ужина -ужина -ужина -ужина -ужина -ужина -ужина -ужин -ужин -ужин -уж -уз -узаконен -уздц -узел -узелк -узелок -узеньк -узеньк -узеньк -узк -узк -узк -узк -узк -узк -узк -узл -узл -узл -узл -узл -узна -узнава -узнава -узнава -узнава -узнав -узна -узна -узна -узна -узна -узна -узна -узна -узна -узна -узна -узна -узна -узор -узор -узор -узорн -узорн -узорн -узорн -узор -узор -узор -узост -узр -узр -уз -уйд -уйдемт -уйдет -уйдет -уйдеш -уйд -уйд -уйд -уйдут -уйм -уйм -уйт -укажет -укажет -укаж -укаж -указа -указа -указа -указа -указан -указан -указан -указан -указан -указа -указательн -указательн -указа -указк -указыва -указыва -указыва -указыва -указыва -указыва -указыв -укачив -уклад -укладк -укладк -укладк -укладк -укладк -укладк -укладок -укладыва -укладыва -укладыва -укладыва -укладыва -уклон -уклон -уклончив -уклон -уклоня -уклоня -уклоня -уклоня -уклоня -уклон -укокош -укор -укор -укорен -укоризнен -укоризн -укоризн -укор -укор -укоря -укоря -укоря -укоря -укоря -укоря -укоря -украден -украден -украдк -укра -укра -украс -украст -укр -украша -украшен -украшен -украшен -укреп -укреп -укреп -укрепля -укрепля -укрепля -укроет -укрощ -укрыва -укр -укр -уксус -уксус -уксус -укус -укус -улад -улад -улад -улад -улад -улан -улегл -улегл -улег -улегш -улета -улета -улета -улета -улетевш -улетел -улетет -улет -улет -улет -улизнет -улизнул -улизнут -улик -улик -улик -улик -улик -улисс -улиц -улиц -улиц -улиц -улиц -улиц -улиц -улиц -улича -уличк -уличн -уличн -уличн -уличн -уличн -уличн -уличн -уличн -уличн -уличн -улов -улов -уловим -улов -улов -уловк -уловк -уловля -улож -улож -улож -улож -улож -улуч -улучшен -улучшен -улучшен -улучш -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыба -улыб -улыбк -улыбк -улыбк -улыбк -улыбк -улыбк -улыбк -улыбк -улыбнет -улыбнет -улыбнеш -улыбнувш -улыбнул -улыбнул -улыбнул -улыбн -улыбнут -улыбок -улыбочк -ум -ум -умалива -умаливан -умалчива -умаля -умая -умбр -умбрск -ум -умевш -уме -умеет -умеет -умееш -ум -умел -умел -умел -умельч -ум -умен -умен -уменьшен -уменьшен -уменьш -умен -умер -умерен -умерен -умерен -умерен -умерен -умерен -умерен -умерет -умерл -умерл -умерл -умертв -умертв -умерш -умерш -умерш -умерш -умерш -умерш -умерш -умерш -умет -умеща -ум -умеют -уме -умилен -умилен -умилен -умилен -умиля -умира -умира -умира -умира -умира -умира -умира -умира -умира -умира -умира -умир -умир -умн -умн -умн -умн -умн -умненьк -умненьк -умник -умник -умник -умниц -умниц -умниц -умнича -умничан -умнича -умн -умн -умн -умн -умн -умн -умн -умн -умн -ум -умозрен -умозрительн -умозрительн -умозрительн -умол -умолк -умолк -умолка -умолка -умолка -умолка -умолк -умолкл -умолкш -умолот -умолот -умолоч -умолча -умолч -умол -умоля -умоля -умоля -умоля -умоля -умоля -умоляющ -умоля -умоля -умол -ум -умопомешательств -умопомешательств -умор -умор -ум -умр -умрет -умрет -умреш -умр -умр -умр -умрут -умствен -умствен -умствен -умствен -умствен -ум -умча -умча -умч -ум -умыва -умыва -умыва -умывальн -умыва -ум -ум -умысел -умысл -умысл -умысл -ум -умышлен -умышлен -умышлен -унес -унесен -унес -унесет -унес -унесл -унесл -унест -унесут -университет -университет -университет -университетск -университетск -университетск -университет -университет -унижа -унижа -унижа -униж -унижен -унижен -унижен -унижен -унижен -униж -унижен -унижен -униз -унизительн -унизительн -унизительн -унизыва -унима -унима -унима -унима -унима -унима -уничижен -уничижен -уничтожа -уничтож -уничтож -уничтожен -уничтож -уничтож -уничтож -уничтож -уничтож -уничтож -уничтож -уничтож -унос -унос -унос -унос -унос -унос -унося -унтер -ун -уныл -ун -уныл -уныл -уныл -унын -унын -унын -унын -уня -уня -упа -упа -упа -упада -упада -упадет -упадет -упад -упадк -упадк -упадок -упад -упадут -упа -упа -упа -упа -упасл -упаст -упер -уперл -уперл -упер -упеч -упива -упив -упира -упира -упира -упира -упира -упир -упир -уписа -уписа -уп -уплат -уплат -уплат -уплат -уплат -уплат -уплат -уплывеш -упл -упован -упова -уподоблен -упо -упоен -упоительн -упоко -упок -уполномоч -уполномоч -упомина -упомина -упомина -упомина -упомина -упомина -упомина -упомн -упомн -упомянет -упомян -упомян -упомянул -упомянул -упомянул -упомянут -упомянут -упомянут -упор -упорн -упорн -упорн -упорн -упорн -упорн -упорн -упорн -упорств -упорств -употеб -употреб -употреб -употреб -употреблен -употреблен -употреблен -употребл -употребля -употребля -употребля -употребля -употребл -управ -управ -управител -управ -управ -управлен -управлен -управлен -управл -управля -управля -управля -управля -управля -управля -управля -управля -управл -управ -управ -упраздн -упрашива -упрашива -упрашива -упрашиван -упрашиван -упрашива -упрашив -упрек -упрек -упрека -упрека -упрека -упрека -упрека -упрек -упрек -упрекнеш -упрекнул -упрекнул -упрекнут -упрек -упрек -упрет -упрет -упрос -упрос -упрос -упроч -упроч -упруг -упруг -упруг -упрыга -упрямец -упрям -упрям -упрямств -упрямств -упрямств -упрям -упрям -упрята -упуска -упуска -упуска -упуска -упущен -упущен -упущен -упущ -упыр -упьет -ур -урага -уразумел -уразумен -урезон -урн -урод -урод -урод -уродлив -уродлив -урод -урожа -урожа -урожден -урок -урок -урок -урок -урок -уронен -уронен -урон -урон -урон -урон -урон -урон -урон -урон -урочн -урывк -урывочк -ус -усадеб -усад -усад -усад -усад -усадьб -усадьб -усадьб -усадьб -усажива -усажива -усажива -усажива -усажива -усажива -усажив -усажив -ус -усат -усахар -усач -усач -усач -усво -усво -усел -усел -усел -усерд -усерд -усерд -усердн -усердн -усердн -усердн -усидел -усидел -усидет -усид -усид -усик -усилен -усилен -усилен -усилен -усилен -усилен -усилива -усилива -усилива -усилива -усилив -усил -усил -усил -усил -усил -усил -усил -усил -усил -усил -ускольза -ускольза -ускольз -ускользнет -ускользнул -ускользнут -ускорен -ускоря -ускор -услад -услад -услад -услажда -услажда -усла -услед -услов -услов -услов -услов -услов -услов -условн -условн -услуг -услуг -услуг -услуг -услужлив -услужлив -услыха -услыха -услыха -услыха -услыха -услыш -услыша -услыша -услыша -услыша -услышат -услыша -услыш -услыш -услыш -услыш -услыш -услыш -усмеха -усмех -усмехнет -усмехнувш -усмехнул -усмехнул -усмехнул -усмешк -усмешк -усмешк -усмешк -усмотрет -усмотр -уснет -уснеш -усн -усн -уснул -уснул -уснут -уснут -ус -усовещива -усомн -усопш -усопш -усопш -усп -успева -успева -успева -успев -успевш -успевш -успе -успеет -успеет -успееш -успел -успел -успел -успен -успен -успет -успех -успех -успех -успех -успех -успех -успех -успех -усп -успеют -успокаива -успокаива -успоко -успокоен -успокоен -успоко -успокоива -успокоива -успокоива -успокоива -успокоива -успоко -успоко -успоко -успоко -успоко -успоко -успоко -успоко -успоко -успокоительн -успокоительн -успокоительн -успокоительн -успокоительн -успокоительн -успоко -успоко -успоко -успоко -успок -успок -успокойт -успок -успок -успоко -уст -уст -устава -устава -устава -устава -устава -устав -устав -устав -устав -устав -устав -устав -устав -устав -уставлен -устав -устав -уста -уста -уста -устав -уста -уста -устал -уста -уста -устал -устал -устал -устал -устал -устал -устал -устал -устал -устал -устал -устанет -устанеш -установ -установ -установ -установ -установител -установител -установ -установ -установл -установлен -установл -устан -устанут -устаревш -устареет -устарел -уст -уста -устила -устла -устла -усто -усто -устоя -устраива -устраива -устраива -устраива -устран -устран -устраня -устраня -устран -устран -устрем -устрем -устрем -устрем -устремл -устремл -устремлен -устремлен -устремлен -устремлен -устремл -устремля -устремля -устремля -устриц -устро -устро -устроен -устроен -устроен -устро -устро -устро -устро -устро -устро -устро -устро -устро -устро -устро -устройств -устройств -устройств -устройств -устройств -устр -устро -уступа -уступа -уступа -уступа -уступа -уступ -уступ -уступ -уступ -уступ -уступ -уступчив -устыд -усумн -усчита -ус -усыпа -усыпа -усып -усып -усыплен -усыпля -усядет -усяд -утайк -утаскив -утащ -утащ -утверд -утверд -утвердительн -утвержда -утвержда -утвержда -утвержда -утвержд -утвержд -утекл -утер -утер -утерпел -утерпел -утерпет -утечет -утеша -утеша -утеша -утеша -утеша -утеша -утеша -утешен -утешен -утешен -утешен -утешен -утешен -утешен -утешен -утеш -утеш -утешительн -утешительн -утеш -утеш -утеш -утеш -утира -утира -утира -утира -утир -утиха -утиха -утиха -утихл -утихл -утихл -утихнет -утк -уткнув -утл -утол -утол -утом -утом -утом -утом -утом -утомл -утомл -утомлен -утомлен -утомлен -утомлен -утомлен -утомлен -утомлен -утомлен -утомлен -утомлен -утомл -утомл -утомл -утомля -утомля -утомля -утонувш -утонувш -утонул -утонул -утонут -утонут -утончен -утончен -утончен -утопа -утопа -утопа -утопа -утопа -утоп -утоп -утоп -утоп -утоп -утоп -утоп -утопленниц -утопленниц -утопленниц -утороплен -утороплен -утр -утр -утр -утрат -утрат -утрат -утрат -утрат -утрат -утрат -утрачен -утрачен -утреет -утрен -утрен -утрен -утрен -утрен -утренник -утрен -утрен -утрен -утречк -утр -утр -утр -утр -утружда -утружден -утучня -утыка -уф -ух -ух -ухажива -ухажива -ухажива -ухажива -ухаживан -ухват -ухват -ухват -ухват -ухват -ухват -ухватк -ух -ух -ухитр -ухитр -ухитря -ухитря -ухищрен -ухлопа -ухлопа -ухлопа -ухмыля -ухмыл -ухн -ух -уход -уход -уход -уход -уход -уход -уход -уход -уход -уход -уход -уход -уход -уход -уход -уходя -уходя -ухож -ух -ух -уцелевш -уцелевш -уцелел -уцелел -уцелел -уцеп -уцеп -уцеп -уцеп -уч -участвова -участвова -участвова -участв -участ -участ -участ -участ -участ -участ -участк -участник -участник -участниц -участок -участ -участ -учат -учат -учащен -учащен -учебн -учебн -учен -учен -учен -ученик -ученик -ученик -ученическ -учен -учен -учен -учен -учен -учен -учен -учен -учен -учен -учен -учен -учетвер -уч -уч -уч -уч -уч -уч -уч -уч -уч -учин -уч -уч -учител -учител -учител -учительниц -учительниц -учител -учител -уч -уч -уч -уч -уч -учнет -учрежда -учтив -учтив -уч -уч -уш -уш -ушат -уш -уш -ушел -уш -ушиб -ушиб -ушибет -ушибл -ушибл -ушиблен -ушибл -ушк -ушл -ушл -ушл -ущел -ущерб -ущербн -ущипнет -ущипнул -у -уют -уют -уютн -уютн -уют -уязв -уязв -уязв -уязвл -уязвлен -уязвля -уясн -уясн -уясн -ф -фабрик -фабрик -фабрик -фабрик -фабрик -фабричн -фабричн -фабричн -фаддеевн -фаддеевн -фазис -факел -факел -факт -факт -факт -факт -факт -факт -фактическ -фактическ -фактическ -факт -факт -факт -факультет -факультет -факультет -фаланстер -фаланстер -фаланстер -фалд -фальш -фальшив -фальшив -фальшив -фальшив -фальшив -фальшив -фальшив -фальшив -фальшив -фальшив -фальшив -фальшив -фамил -фамил -фамил -фамильн -фамильн -фамильн -фамильяр -фамильярн -фамильярн -фамильярн -фамильярн -фамильярн -фанатизм -фанатизм -фант -фантазерк -фантаз -фантаз -фантаз -фантаз -фантаз -фантаз -фантаз -фантаст -фантастич -фантастическ -фантастическ -фантастическ -фантастическ -фантастическ -фантастическ -фантастичн -фантастичн -фанфарон -фанфаронишк -фанфаронств -фанфарон -фартук -фартук -фартучек -фарфор -фарфоров -фарфоров -фарширова -фасон -фат -фат -фатальн -фатер -фатер -фатер -фатеришк -фатер -фатер -фат -фат -фат -фат -фаун -фауст -фауст -феврал -феврал -феврал -федерац -федор -федор -федоровн -федоровн -федоровн -федос -федот -федотик -федотик -федотик -фед -федяев -фейерверк -фейерверк -фельдшер -феном -феноменальн -ферапонт -ферапонт -ферапонт -ферапонт -ферм -фермер -фермуар -ферм -ферул -феск -фестон -фестон -фестон -фет -фефел -фи -фиалк -фигляр -фигур -фигур -фигур -фигурк -фигурк -фигур -фигур -фигур -физиологическ -физиолог -физиолог -физионом -физионом -физионом -физионом -физионом -физическ -физическ -физическ -физическ -физическ -физическ -физическ -фил -филин -филипп -филипп -филипп -филиппик -филипп -филипп -филистер -философ -философ -философистик -философ -философ -философ -философск -философск -философствова -философствова -философству -философств -философствует -философств -философств -философ -фильк -фим -финанс -финансист -финансов -финик -финифтян -финлянд -финлянд -финлянд -финск -финск -фиолетов -фирс -фирс -фирс -фирс -фистул -флакон -фламандк -фланг -фланелев -фланер -флегматическ -флейт -флер -флеров -флер -флигел -флигел -флигел -флигел -флобер -флобер -флорентийск -флорентийск -флоренц -флоренц -флоренц -флор -флот -фокус -фокус -фом -фомин -фомич -фомич -фомич -фомич -фомич -фомич -фон -фонар -фонар -фонар -фонар -фонарик -фонарн -фонар -фонар -фонд -фонд -фон -фонта -фонтан -фонтан -фон -форел -форел -форел -форм -форм -формалистик -формальн -формальн -форм -форм -форм -форм -формен -формен -формен -формен -формирова -формирова -формир -форм -форм -формулирова -формулярн -форм -фортепиан -фортепиа -фортепья -фортепья -форточек -форточк -форточк -фортун -фортун -фотограф -фотограф -фотограф -фотограф -фра -фраз -фраз -фраз -фраз -фраз -фразер -фраз -фраз -фрак -фрак -фрак -фрак -франс -франт -франт -франт -франт -франт -франц -францевн -францевн -францевн -франц -франциск -франц -француженк -француженк -француженок -француз -француз -француз -француз -французск -французск -французск -французск -французск -французск -французск -французск -французск -француз -фрегат -фреск -фри -фривольн -фрукт -фрукт -фу -фу -фунт -фунт -фунт -фуражечк -фуражк -фуражк -фуражк -фуражк -фуражк -фуражк -фурор -фур -футляр -футляр -футляр -футляр -футляр -футляр -футуризм -футуризм -футурист -фуфайк -фуфайк -фырка -фырка -фыркнул -фыркнул -фье -фьезол -х -ха -хажива -халат -халат -халат -халат -халат -хам -хандр -хандр -хандр -хандр -хандр -ханж -ханск -хаос -хаос -хаос -характер -характер -характер -характеристик -характеристик -характеристик -характерн -характерн -характерн -характерн -характерн -характер -характер -характер -хар -хар -харка -харлам -харламов -харчев -харчевн -харчевн -харчевн -харчевн -харьк -харьков -харьков -харьковск -харькоев -хат -хвал -хвал -хвал -хвал -хвалим -хвал -хвал -хвал -хвал -хвал -хвал -хваста -хваста -хваста -хвастлив -хвастун -хвата -хвата -хвата -хвата -хвата -хвата -хвата -хвата -хвата -хвата -хват -хват -хват -хват -хват -хват -хват -хват -хват -хват -хвора -хвора -хвора -хвор -хвост -хвостат -хвост -хе -хен -херасков -херес -херес -херувим -херувим -херувимов -хижин -хижин -хижин -химер -химер -хин -хирург -хитер -хитон -хитр -хитр -хитр -хитр -хитр -хитр -хитрец -хитрец -хитр -хитр -хитр -хитр -хитр -хитр -хитрост -хитростн -хитрост -хитрост -хитрост -хитр -хитр -хитр -хитр -хихика -хихика -хихика -хихикан -хихикан -хихика -хихик -хищник -хищниц -хищн -хищн -хлад -хлад -хлад -хладн -хладнокров -хладнокров -хладнокров -хладнокровн -хладнокровн -хладн -хладн -хладн -хлам -хлам -хлеб -хлеб -хлеб -хлебник -хлебник -хлебнувш -хлебн -хлеб -хлебц -хлеста -хлестнул -хлещет -хлещ -хло -хлоп -хлопа -хлопа -хлопан -хлопан -хлопа -хлопнул -хлопов -хлопот -хлопота -хлопота -хлопота -хлопота -хлопот -хлопот -хлопота -хлопот -хлопотлив -хлопотлив -хлопотлив -хлопотун -хлопот -хлопоч -хлопочет -хлопочет -хлопоч -хлопоч -хлопочут -хлоп -хлороформ -хлынет -хлынувш -хлынул -хлынул -хлынул -хлынул -хлынут -хлын -хлыст -хлыст -хлыстик -хлыст -хме -хмелел -хмел -хмел -хмельн -хмельн -хмел -хмел -хмур -хмур -хмур -хмур -хмур -хмур -хмурьт -хмур -хныка -хнычет -хнычеш -хнычущ -хо -ход -ход -ходата -ход -ход -ход -ход -ход -ход -ходил -ход -ход -ход -ход -ход -ход -ходьб -ходьб -ход -ход -ходяч -ходя -хожал -хожден -хожден -хожден -хожден -хож -хоз -хозя -хозяев -хозяев -хозяин -хозяин -хозяин -хозяин -хозяйк -хозяйк -хозяйк -хозяйкин -хозяйкин -хозяйкин -хозяйкин -хозяйк -хозяйк -хозяйнича -хозяйнича -хозяйнича -хозяйск -хозяйск -хозяйск -хозяйск -хозяйск -хозяйск -хозяйск -хозяйск -хозяйств -хозяйств -хозяйствен -хозяйствен -хозяйствен -хозяйствен -хозяйствен -хозяйствен -хозяйств -хозяйств -хозяйств -хозяюшк -холер -холер -холм -холм -холм -холм -холм -холмик -холм -холм -холод -холод -холод -холодеет -холодел -холод -холодеющ -холоде -холодк -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодн -холодок -холод -холод -холод -холоп -холост -холост -холост -холст -холстин -холстин -холстин -хомут -хомут -хор -хор -хорват -хор -хорек -хоровод -хоровод -хоров -хор -хорон -хорон -хорон -хорош -хорош -хорош -хорош -хорош -хорош -хорош -хорошеньк -хорошеньк -хорошеньк -хорошеньк -хорошеньк -хорошеньк -хорошеньк -хорошеньк -хорошеньк -хорош -хорош -хорош -хорош -хорош -хорош -хорош -хор -хорунжин -хотевш -хотевш -хотел -хотел -хотел -хотел -хотел -хотел -хотет -хот -хот -хот -хот -хот -хохл -хохл -хохлушк -хохот -хохот -хохота -хохота -хохота -хохота -хохот -хохот -хохоч -хохочет -хохочеш -хохочут -хочет -хочет -хочеш -хоч -хош -храбр -храбрец -храбр -храбр -храброст -храм -храм -хран -хран -хран -хран -хран -хран -хран -хран -хран -хран -храп -храпен -храпен -храпет -храп -храп -хребт -хрен -хрен -хрен -хрипел -хрипен -хрипет -хрип -хрипл -хрипл -хрипл -хрип -христ -христ -христианин -христианск -христианск -христ -христов -христ -христос -христ -хром -хром -хром -хроник -хроническ -хрупк -хрупк -хрупк -хруст -хруст -хруста -хрустал -хрустальн -хрустальн -хрустальн -хрустальн -хрустальн -хрустальн -хрустальн -хрустел -хруст -хруст -хрычовк -худ -худ -худ -худеньк -худеньк -худеньк -худеньк -худ -худ -художествен -художествен -художествен -художествен -художествен -художествен -художествен -художеств -художник -художник -художник -художник -худ -худосочн -худоща -худощав -худ -худ -худ -хуж -хулен -хул -хуторк -хуторок -хуторочк -цапл -цар -царевн -царевн -царевн -царевн -цар -цар -цариц -цариц -цариц -царск -царск -царск -царск -царств -царствен -царств -царств -царств -царствова -царствова -царств -царств -царств -цар -царьград -царьградск -цар -цар -цвел -цвел -цвел -цвел -цвет -цвет -цвет -цвет -цвет -цвет -цветен -цветет -цветеш -цветк -цветк -цветк -цветк -цветн -цветник -цветник -цветник -цветн -цветн -цветн -цветн -цвет -цветок -цветочк -цветочк -цветочк -цвет -цветут -цветущ -цветущ -цвет -цезар -цел -цел -целебн -цел -цел -цел -целков -целков -целков -целков -целова -целова -целова -целова -целова -целован -целова -целова -цел -цел -цел -цел -цел -целомудр -целомудрен -целомудрен -целомудрен -целомудрен -целомудр -целомудр -целомудр -целостн -целост -цел -цел -цел -цел -целуеш -цел -цел -цел -цел -целу -цел -цел -цел -цел -цел -цел -цел -цельн -цельн -цельн -цел -цел -цел -цен -цен -цен -цен -цен -цен -цен -цен -цен -цен -цен -центр -центр -центр -цен -цен -цен -цен -цен -цеп -цепене -цеп -цепк -цепля -цепн -цепочк -цепочк -цепочк -цепочк -цепочк -цепочк -цеп -цеп -церемон -церемон -церемон -церемон -церемон -церемон -церкв -церкв -церкв -церковн -церковн -церков -церков -цехов -цивилизова -цикор -цикор -цилиндр -цилиндр -циммерма -циммермановск -цинизм -цинизм -циник -циник -циник -циническ -циническ -циничн -циничн -цирк -циркуляц -цирф -цирюльник -цитат -цит -цифр -цифр -цифр -цифр -цицикар -цокан -цссс -цугундер -цуниг -цусим -цыганк -цыганк -цыганск -цыганск -цыганск -цыганск -цыганск -цып -цыпленк -цыпленок -цыпл -цыплят -цыплят -цыплят -цыпочк -цыпочк -цыпочк -ча -чад -чад -чад -чадин -чадр -чад -ча -ча -ча -чаишк -ча -чайк -чайк -чайк -чайк -чайн -чайник -чайник -чайник -чайниц -чайн -чайн -чайн -чайн -чайн -чалм -чалм -чар -чародейн -чарод -чар -чар -чар -чар -час -час -час -час -час -часик -часик -час -часов -часовенк -часовн -часовн -часовн -часов -часок -час -частеньк -част -част -частн -частн -частн -частн -частност -частн -частн -частн -частн -част -част -част -част -част -част -част -част -час -час -чахнет -чахнут -чахнут -чахотк -чахотк -чахотк -чахотк -чахотк -чахоточн -чахоточн -чахоточн -чахоточн -чахоточн -чахоточн -чахоточн -чаш -чаш -чашек -чашечк -чаш -чашк -чашк -чашк -чашк -чашк -чаш -чащ -чащ -чащ -ча -ча -ча -че -чебар -чебаров -чебаров -чебаров -чебутыкин -чебутыкин -чебутыкин -чебутыкин -чебутыкин -чег -че -чекмен -чел -челк -челк -челн -челнок -чел -человек -человек -человек -человек -человек -человек -человек -человечек -человеческ -человеческ -человеческ -человеческ -человеческ -человеческ -человеческ -человеческ -человеческ -человеческ -человеческ -человечеств -человечеств -человечеств -человечк -человечн -человечн -человеч -чел -чем -чемода -чемода -чемодан -чемодан -чемода -чем -чепец -чепрак -чепух -чепух -чепух -чепц -чепц -чепц -чепц -чепц -чепц -чепчик -чепчик -чепчик -чепчик -чер -червов -червон -червон -черв -червяк -чердак -чердак -черед -чередова -черед -через -черемух -черемш -черемш -чер -черенк -череп -череп -черепах -черепк -черепк -черепок -череп -череп -чересчур -черн -черн -черн -чернеет -чернеет -черн -чернел -чернел -черненьк -чернеют -черн -черн -черн -чернил -чернильниц -чернильниц -чернильниц -чернильниц -чернильниц -черн -чернобров -черноволос -черноглаз -черн -черн -черноземн -черн -черн -черн -черноок -чернорабоч -чернот -чернот -чернот -черн -черн -черн -черн -черн -черн -черн -черн -черпа -черпа -черпнут -черств -черств -черств -черт -черт -черт -черт -черт -черт -чертеж -чертеж -чертеж -черт -черт -чертик -черт -черт -черт -черт -чертовск -чертог -черт -черточек -черточк -черточк -черточк -черт -черт -черт -черт -чеса -чеса -чеса -чеснок -честв -чест -чест -чест -чест -честн -честн -честн -честн -честн -честн -честн -честн -честн -честн -честност -честност -честн -честн -честн -честн -честн -честн -честн -честолюб -честч -чест -чест -чет -чет -четверг -четверг -четверг -четвер -четвертак -четверт -четверт -четверт -четверт -четверт -четверт -четверт -четверт -четверт -четверт -четверт -четверт -четвер -четк -четкост -четыр -четыр -четырест -четырех -четырехугольник -четырехэтажн -четырехэтажн -четырнадцат -четырнадцатилетн -четырнадцатилетн -четырнадца -чехартм -чехартм -чехл -чехл -чех -чеченск -чешет -чешет -чешут -чеш -чи -чиж -чиж -чик -чикан -чин -чин -чин -чин -чин -чин -чин -чин -чин -чин -чин -чин -чин -чин -чиновник -чиновник -чиновник -чиновник -чиновник -чиновник -чиновник -чиновниц -чиновниц -чиновниц -чиновничеств -чиновнич -чиновнич -чиновн -чиновн -чиновн -чиновн -чин -чин -чин -чирика -чирика -чисел -числ -числ -числен -числ -числ -числ -числ -чист -чист -чист -чист -чист -чистеньк -чистеньк -чистеньк -чист -чист -чист -чист -чистк -чист -чист -чист -чист -чист -чист -чистоплот -чистоплотн -чистосердечн -чистосердечн -чистот -чистот -чистот -чистот -чистот -чист -чист -чист -чист -чист -чист -чист -чист -чист -чистюльк -чит -чита -чита -чита -чита -чита -чита -чита -чита -чита -чита -чита -читал -читальн -читальн -читател -читател -читател -читател -чита -чита -чита -чит -читк -чит -чихан -чиха -чихнул -чихнут -чищ -чищ -чищен -чищен -чищ -член -член -член -член -член -член -член -чмока -чока -чопорн -чопорн -чопорн -чорт -чорт -чревовещательниц -чред -чрез -чрезвычайн -чрезвычайн -чрезвычайн -чрезвычайн -чрезвычайн -чрезвычайн -чрезвычайн -чрезвычайн -чрезвычайн -чрезмерн -чрезмерн -чт -чтен -чтен -чтен -чтен -чтен -чтим -чтит -чтит -что -чтоб -чтоб -что -чту -чу -чубук -чуб -чув -чувств -чувств -чувств -чувств -чувств -чувств -чувствительн -чувствительн -чувствительн -чувствительн -чувствительн -чувствительн -чувствительн -чувствительн -чувствительн -чувств -чувствова -чувствова -чувствова -чувствова -чувств -чувств -чувству -чувств -чувствует -чувств -чувствуеш -чувств -чувств -чувств -чувству -чугун -чугун -чугун -чугунк -чугун -чугун -чугун -чугун -чуд -чудак -чудак -чудак -чудак -чудак -чудачеств -чудачк -чуд -чуд -чудес -чудес -чудес -чудесн -чудесн -чудесн -чудесн -чудесн -чудесн -чудесн -чудесн -чудесн -чудесн -чуд -чудищ -чудищ -чудн -чудн -чудн -чудн -чудн -чудн -чудн -чуд -чудовищ -чудовищ -чудовищ -чудовищ -чудовищ -чудовищн -чудовищн -чудовищн -чудовищн -чудовищн -чудовищн -чуд -чуд -чуд -чует -чуеш -чуж -чужд -чужд -чужда -чужда -чужд -чужд -чужд -чужд -чужд -чуж -чуж -чуж -чуж -чуж -чуж -чуж -чуж -чуж -чуж -чула -чулан -чула -чулк -чулк -чулк -чулк -чулк -чулок -чулочк -чулочн -чум -чумичк -чумичк -чурба -чутк -чутк -чутк -чутк -чутк -чуткост -чутошн -чут -чухонец -чухонк -чухонк -чухонц -чухонц -чучел -чучел -чуш -чуют -чу -чуя -чье -чьег -чье -чьи -чьим -чьим -чьих -чья -шабаш -шаг -шаг -шага -шага -шага -шага -шаг -шаган -шаг -шага -шага -шаг -шаг -шаг -шагн -шагнул -шагнул -шагнут -шаг -шаг -шаг -шажищ -шайк -шайк -шакал -шал -шал -шал -шал -шаловл -шаловлив -шаловлив -шалост -шалун -шалун -шал -шал -шал -шал -шал -шама -шампанск -шампанск -шампанск -шампанск -шамра -шамраев -шамраев -шамшевк -шанс -шапк -шапк -шапк -шапк -шапочк -шапочк -шар -шар -шар -шар -шар -шар -шаркнул -шаркнул -шарлатанств -шарлотт -шарлотт -шарлотт -шарманк -шарманк -шарманк -шарманк -шарманщик -шарманщик -шарманщик -шарманщик -шармер -шар -шар -шаровар -шар -шарфик -шаршав -шар -шар -шата -шата -шата -шата -шата -шатан -шата -шата -шата -шат -шатер -шатк -шатк -шафер -шахматов -шахт -швам -швах -швейцар -швейцар -швейцар -швейцарск -швейцарск -швейцар -швыря -швыря -швыр -ше -шевел -шевел -шевел -шевел -шевел -шевел -шевел -шевел -шевел -шевел -шевельнет -шевельнувш -шевельнул -шевельнул -шевельнул -шевельнут -шевел -шевел -ше -ше -ше -шейн -шекспир -шекспир -шел -шелест -шелест -шелест -шелест -шелк -шелк -шелк -шелковист -шелков -шелков -шелков -шелков -шелков -шелков -шелков -шелк -шеловек -шелом -шелопаев -шелохнут -шельм -шельм -шельм -шепнет -шепнеш -шепнул -шепнул -шепот -шепот -шепотлив -шепот -шепот -шепта -шепта -шепта -шепта -шептан -шепта -шепч -шепч -шепчет -шепчут -шепчут -шепчущ -шерстк -шерст -шерстян -шерстян -шерстян -шерстян -шест -шест -шеств -шестер -шест -шестидесят -шестнадцат -шестнадцатилетн -шестнадцатилетн -шестнадца -шест -шест -шест -шест -шест -шест -шестьдес -шестьсот -ше -ше -ши -шикан -шил -шиллер -шиллер -шиллеровск -шил -шил -шил -шинел -шинел -шипевш -шипел -шипен -шип -шипк -шиповник -шип -шипя -шир -ширин -ширин -ширин -ширин -шир -ширм -ширм -ширм -ширм -ширм -широк -широк -широк -широк -широк -широк -широк -широк -широк -широк -широк -широк -широк -широк -широк -широк -шир -шир -шит -шит -шит -шит -шит -шит -шит -шиш -шиш -шишк -шкалик -шкандал -шкап -шкап -шкап -шкатулк -шкатулк -шкатулк -шкаф -шкаф -шкаф -шкафик -шкаф -шкаф -шкафчик -шкаф -школ -школ -школ -школ -школ -школьник -школьник -шкур -шла -шлафрок -шлафрок -шлезвиг -шле -шлейф -шлем -шлепохвостк -шлепохвостниц -шлет -шлеш -шли -шло -шлю -шлют -шляеш -шлял -шлял -шляп -шляп -шляп -шляпк -шляпк -шляпк -шляпк -шляпник -шляп -шляп -шляп -шлярк -шлят -шмел -шмыга -шмыга -шмыгнул -шнурк -шнурочек -шныря -шныря -шопенгауэр -шопот -шопот -шопот -шопот -шорка -шоркнул -шорох -шосс -шоссейн -шоссейн -шотландск -шотландск -шпаг -шпал -шпил -шпилек -шпильк -шпор -шпор -шпор -шпыня -шта -штаб -штабн -штабс -штан -штан -штат -штат -штат -штатск -штатск -штатск -штатск -штатск -штатск -штат -штейн -штиблет -што -штольн -штольц -штольц -штольц -штольц -штольц -штольц -штопа -штор -штор -штор -штор -штор -штоф -штоф -штраф -штрих -штрих -штрюк -штук -штук -штукатурк -штук -штук -штук -штучк -штучк -штучк -штык -штык -штык -шуб -шуб -шубенк -шуберт -шубк -шубк -шубк -шуб -шуб -шулер -шулер -шулер -шум -шум -шума -шум -шумел -шумет -шум -шумилов -шумиловск -шум -шумн -шумн -шумн -шумн -шумн -шумн -шумн -шум -шум -шум -шумя -шурин -шурш -шурш -шут -шут -шут -шут -шут -шут -шут -шут -шут -шут -шутк -шутк -шутк -шутк -шутк -шутк -шутлив -шутник -шутовск -шутовск -шуточк -шуточн -шут -шут -шут -шуч -шушукан -шхун -шьет -шьют -щад -щад -щад -щад -щад -ще -щебет -щебечут -щеголеват -щеголих -щегольск -щегольск -щегольск -щегольск -щегольск -щегольск -щегольск -щегольск -щеголя -щеголя -щедр -щедрин -щедрост -щедрот -ще -щек -щек -щек -щек -щек -щек -щекота -щекота -щекотл -щекотливеньк -щекотлив -щекотлив -щекотлив -щек -щел -щел -щелка -щелкан -щелкан -щелка -щелка -щелкнул -щелкнут -щелк -щелочк -щелочк -щелочк -щелочк -щелчк -щел -щемя -щемя -щемя -щенк -щенк -щенк -щенок -щепоточк -щербат -щетин -щетинист -щетин -щетк -щетк -щетк -щетк -щечк -щечк -щечк -щи -щин -щипа -щипа -щиплет -щипц -щит -щит -щит -щук -щупа -щупленьк -щур -ы -э -э -эв -эвон -эв -эг -эгоизм -эгоизм -эгоизм -эгоист -эгоистк -эгоистк -эгоист -эгофутуризм -эдак -эдак -эдгар -эдгар -э -эйфелев -эк -эк -эк -экзам -экзаменова -экзекутор -экземпляр -экземпляр -экземпляр -экзотическ -эк -эк -экипаж -экипаж -экипаж -экипаж -экипаж -эк -эк -эк -эконом -эконом -экономическ -экономическ -экономическ -экономическ -экономическ -эконом -эконом -экономк -экономк -экономк -экс -экспансивн -экспансивн -экспедиц -экстраординарн -эксцентрич -эксцентрическ -эксцентрическ -эксцентрическ -эксцентрическ -эксцентричн -элег -электрическ -электричеств -электрон -электрон -электрон -элемент -элемент -элемент -эмал -эмансипац -эмансипац -эмблем -эмеритур -эмс -энерг -энерг -энергическ -энергическ -энергическ -энергичн -энерг -энтузиазм -энтузиазм -энтузиазм -энциклопедическ -эп -эпиграф -эпидем -эпизод -эпизодическ -эпизодическ -эпизод -эпикуреец -эпилог -эпилог -эпилог -эпилог -эпитаф -эпитет -эполет -эпоп -эпох -эпох -эпох -эпох -эпох -эрар -эрланген -эрмитаж -эр -эр -эскамил -эск -эспаньолк -эссенц -эстет -эстетик -эстетик -эстетик -эстетическ -эстетическ -эстетическ -эстрад -эстрад -эстрад -эстрад -эт -этаж -этаж -этаж -этаж -этажерк -этажерк -этажерк -этажерк -этажерк -этаж -этаж -этаж -этак -этак -этак -этак -этак -этак -этак -этак -этак -этак -этак -этак -этак -этак -этак -эт -эт -эт -эт -эт -эт -эт -эт -эт -этот -эт -этт -эт -этюд -эфемерн -эфемерн -эфес -эфир -эфирн -эфир -эффект -эффект -эх -эх -эшафот -эшафот -эшафот -эшелон -ю -юбил -юбк -юбк -юбк -юбк -юбк -ювелир -ювелирск -ювелирск -ювена -юг -юг -юдол -южн -южн -южн -юл -юл -юмор -юн -юнкер -юн -юн -юност -юност -юност -юнош -юнош -юнош -юнош -юношеск -юношеск -юношеск -юношествен -юношеств -юнош -юнош -юн -юн -юн -юн -юпитер -юридистик -юридическ -юридическ -юридическ -юридическ -юридическ -юридическ -юридическ -юридическ -юриспруденц -юрист -юрист -юрист -юр -юркнул -юродив -юродив -юродив -юродив -юрт -юсуп -юсупов -юсупов -юшин -ющинск -я -яблок -яблок -яблок -яблок -яблок -яблок -яблон -яблон -яв -яв -яв -яв -яв -яв -яв -яв -яв -яв -явк -явк -явк -явлен -явлен -явлен -явлен -явлен -явлен -явлен -явл -явля -явля -явля -явля -явля -явля -явля -явля -явля -явл -явн -явн -явн -явн -явн -явн -явствен -явствен -яв -яв -ягод -ягод -яд -яд -ядовит -ядовит -ядовит -ядовит -ядовит -ядовит -ядовит -ядовит -ядовит -яд -ядр -ядр -яд -язв -язв -язв -язв -язв -язв -язв -язвительн -язвительн -язвительн -язвительн -язвительн -язв -язык -язык -язык -язык -язык -язык -язык -яиц -яичк -яичниц -яичниц -яичн -яйц -яйц -яйц -яйц -як -якоб -як -яков -якор -якор -якор -ямайск -ямайск -ям -ямб -ямб -ямб -ям -ямк -ямк -ям -ямочк -ямск -ям -ямщик -ямщик -ям -январ -январ -январ -янтарн -янтарн -янтар -ярк -ярк -ярк -ярк -ярк -ярк -ярк -ярк -ярк -ярк -ярк -яркост -яркост -ярк -ярлык -ярлычк -ярмарк -ярмарк -ярмарк -ярмарк -ярм -яров -ярок -ярославл -ярославск -ярост -яростн -яростн -ярост -ярост -ярч -яр -яс -ясенев -ясл -ясн -ясн -ясн -яснеет -ясн -ясн -ясн -ясн -ясн -ясност -ясност -ясн -ясн -ясн -ясн -ясн -ясн -яств -ястреб -ястреб -ят -яхонтов -ячмен -ячмен -ячмен -ячмен -яш -яш -яш -яш -яшнев -яш -ящик -ящик -ящик -ящик diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/testUTF8.txt b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/testUTF8.txt deleted file mode 100644 index 6f2fe32af93..00000000000 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/testUTF8.txt +++ /dev/null @@ -1,2 +0,0 @@ -Вместе с тем о силе электромагнитной энергии имели представление еще, скажем, жрецы Древнего Египта. Но знание это хранилось в тайне, в -узком кругу посвященных. Всякий временной виток, принося с собой новые технологии, на самом деле раскрывает потаенное знание прежних веков. Мы уже говорили, что новая информация становится доступной широкому кругу пользователей только в тех случаях, когда сознание общества готово ее воспринять и воспользоваться ею. diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/wordsUTF8.txt b/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/wordsUTF8.txt deleted file mode 100644 index d439f17180b..00000000000 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/ru/wordsUTF8.txt +++ /dev/null @@ -1,49673 +0,0 @@ -а -абиссинию -абонемента -абонировался -абонируйся -абонируюсь -абрикосы -август -августа -августе -авдотье -авдотьей -авдотьи -авдотью -авдотья -авенантненькая -аверка -аверкой -авиатор -авиаторов -авиация -авось -авраама -австрии -австрийский -автобиографию -автографом -автомобили -автомобиль -автор -авторам -авторитет -авторитета -авторитеты -авторов -автором -ага -агадир -агамемнон -агаповну -агафье -агафьей -агафьи -агафью -агафья -агента -агонии -агроном -агрономии -ад -ада -адам -адамант -адвокат -адвокатом -адвокатского -адвокатской -адвокатскую -административный -административных -администратор -адмиралы -адом -адрес -адреса -адресный -адресовано -адресом -адресу -адрианополя -адриатической -адская -адский -ажно -азарта -азартом -азбуку -азвольте -азиатской -азиатчина -азии -азию -азраил -азы -аи -ай -айвазовского -айда -ак -академии -академию -акации -акацию -акварелью -аккомпанемент -аккомпанировал -аккорд -аккорда -аккордом -аккуратнее -аккуратно -аккуратного -аккуратный -акмеизм -аксельбантами -аксинье -аксиома -акт -акта -акте -актер -актерам -актером -актеры -активной -актриса -актрисой -актрисы -акулина -акулине -акулиной -акулину -акулины -акурат -акушером -акцентом -акцизе -акции -акций -акциями -акциях -ал -алая -алгебра -алгеброй -алгебру -алебастра -алеко -александр -александра -александринского -александрович -александровна -александровне -александровной -александровну -александровны -александром -александру -алексевна -алексеев -алексеева -алексеевич -алексеевича -алексеевичем -алексееву -алексеевым -алексеевыми -алексеич -алексеичем -алексей -алексея -алела -алена -алене -алену -алены -аленькие -алеши -алешка -алеют -алея -али -аллах -аллегории -аллее -аллеи -аллею -аллея -аллеям -алмаз -алмаза -алмазах -алмазы -алой -алом -алоэ -алтарь -алтарю -алтаря -алчущим -алые -алый -алым -алыми -алых -аль -альбертыч -альбом -альбомами -альмы -альтшауер -альянов -амалией -амалии -амалию -амалия -амаль -амбар -амбара -амбарах -амбары -амбиций -амбицию -америка -американским -америке -америки -америку -аметист -аминь -амням -ан -анализ -анализа -анализировал -анализирующей -анализом -анализу -аналоем -анамнясь -ананас -ананасы -анастасий -анатомии -анатомию -ангажемент -ангары -ангел -ангела -ангелины -ангелов -ангелом -ангелочка -ангелу -ангелы -ангельски -ангельские -ангельской -англии -английская -английски -английский -английского -английском -английскому -англичан -англичанах -англичане -англичанин -англию -андрее -андреев -андреевич -андреевна -андреевне -андреевной -андреевну -андреевны -андреевым -андреем -андреич -андреича -андреичем -андреичу -андрей -андрею -андрея -андрюша -андрюшанчик -андрюше -андрюшей -андрюши -андрюшка -андрюшке -андрюшку -андрюшу -ане -аней -анекдот -анекдоты -анечка -ани -анисье -анисьей -анисьи -аниська -анисью -анисья -анна -анне -анной -анну -анны -антверпен -антип -антипа -антипка -антипке -антипу -антон -антонов -антракт -антракте -анфилада -анфиса -анфисе -анчоусы -аню -аня -апатии -апатичен -апатически -апатический -апатическим -апатию -апатия -апелляции -апельсинничаешь -апельсинов -аплодирует -аплодируя -аполлона -апоплексический -апоплексию -аппетита -аппетитно -аппетитом -апраксина -апреле -апрель -апрельских -апреля -аптека -аптекарь -аптеке -аптеки -аптеку -аптечного -апухтинские -ар -аравийской -арапка -арапку -арбуз -арбузы -аргументом -арена -арендатором -аренду -аренды -арене -арену -арены -арест -арестант -арестанта -арестантов -арестантских -арестантской -арестанту -арестовать -арестовывают -арестуйте -арестуют -аресты -арий -аринушка -аристократическим -аристократическими -аристократических -аристократического -аристократическом -аристократическою -арифметика -арифметике -арифметику -ариша -арию -аркадий -аркадина -аркадиной -аркадию -аркадия -аркой -аркою -армейский -армией -армии -армию -армиями -армяк -армяками -армяке -армячишка -аромата -аромате -ароматном -ароматные -ароматным -ароматом -ароматы -артели -артельных -артельщик -артельщика -артельщиком -артельщику -артемий -артемью -артист -артиста -артистически -артистической -артистка -артистке -артисткой -артистов -артисты -артуром -арфа -арфам -арфе -арфы -архангел -архангельск -археолог -архив -архива -архимедова -архитектор -архитектором -архитектору -архитектура -аршин -аршина -аршине -асессором -асессорше -аскет -ассигнацию -ассигнациями -ассоциациях -астма -астрахани -астраханские -астров -астрова -астрову -астровым -астрономии -ась -атакует -атласам -атласная -атласном -атласным -атласными -атмосфере -атмосферы -атомах -атомов -атрибуты -аттестат -аттестате -ау -аудитории -аукцион -аукциона -ауле -аус -афанасий -афанасию -афанасия -афанасьев -афанасьевич -афанасьевича -афанасьевичу -афиша -африке -африки -африку -афросиньюшка -афросиньюшки -аффектацией -ах -ахали -аханья -ахают -ахиллес -ахиллесовской -ахиллесу -ахиллов -ахматовой -ахнул -ахнула -ахнули -ахнуть -ацтеки -аэроплан -аэроплана -б -ба -баб -баба -бабенка -бабками -бабой -бабок -бабочка -бабочки -бабочку -бабу -бабушек -бабушка -бабушке -бабушки -бабушкин -бабушкина -бабушкиной -бабушкой -бабушку -бабы -бабье -бабьей -бабьи -бабьим -бабья -багаж -багрово -багровой -багровому -багровые -багровым -багряный -багряным -бадья -бает -базар -базарах -базаре -базилик -баиньки -бай -байро -байрон -байрона -бакалеева -бакалееву -бакенами -бакенбард -бакенбарда -бакенбардами -бакенбарду -бакенбарды -бал -бала -балаган -балаганы -балалайка -балалайками -балами -балах -бале -балерины -балета -балете -балканах -балканы -балке -балкон -балкона -балконами -балконах -балконе -балконом -баллада -баллотироваться -баловал -балованых -баловать -баловень -баловника -баловню -баловство -балочов -балу -балуй -балующий -бальзак -бальтазару -банальной -бане -бани -банк -банках -банке -банки -банкирскую -банкирша -банков -банковский -банку -баночку -барабан -барабанил -барабанит -барабанить -бараков -баран -барана -бараний -баранина -бараниной -баранину -баранины -бараном -бараньим -барашками -барашком -барже -барин -барина -барине -барином -барину -барканом -барках -барки -бармгерциге -барон -барона -бароне -бароном -барону -бароны -барская -барские -барский -барских -барского -барское -барской -барском -барскую -барство -бартола -бархат -бархата -бархате -бархатную -бархатные -бархатный -бархатных -бархату -бархатцами -барчонка -барчонком -барчонок -барщина -барщину -бары -барыни -барынин -барыню -барыня -барыш -барыше -барышень -барышне -барышней -барышни -барышниной -барышню -барышня -барышнями -барышом -бас -баск -баском -басманной -басни -баснословных -басом -баста -басурманов -батальонных -батальоны -батареи -батарейный -батарейным -батарею -батарея -батистовый -батюшка -батюшке -батюшки -батюшков -батюшкова -батюшкой -бах -бахрома -бахроме -бахромой -бахрому -бахромы -бахуса -бац -башен -башка -башлыком -башмаках -башмаки -башмачки -башмачонки -башне -башни -баюкает -бдение -бдительного -беато -беатриче -бег -бега -бегавшая -бегавшими -бегает -бегаешь -бегай -бегал -бегала -бегали -бегать -бегах -бегаю -бегают -бегающих -бегая -беги -бегите -бегло -беглый -беглым -беглых -бегом -беготне -беготней -беготни -беготня -бегство -бегу -бегуны -бегут -бегущего -бегущий -бегущую -бед -беда -бедам -беде -беден -бедная -беднее -беднейшее -беднейшей -беднейшие -беднейшую -беднел -бедненького -бедненькому -бедно -бедного -бедное -бедной -бедном -бедному -бедности -бедность -бедностью -бедною -бедную -бедны -бедные -бедный -бедным -бедных -бедняжка -бедняжки -бедняжку -бедняк -бедняки -бедовали -бедой -бедр -бедрам -бедро -бедственное -бедствий -бедствия -бедствиями -бедствует -беду -беды -бежавших -бежал -бежала -бежало -бежать -бежим -бежит -бежишь -без -безбожная -безбожник -безбожника -безбожникам -безбожно -безбожные -безбольно -безбородкин -безбрежной -безверие -безвестные -безвестный -безвкусица -безвкусно -безвозвратно -безвольно -безвреден -безвыездно -безвыходная -безвыходное -безграмотно -безграмотным -безграничная -безграничнейший -безгранично -безграничного -безграничной -безграничном -безгрешным -бездарно -бездарности -бездарность -бездарных -бездействии -бездействию -бездействия -безделицу -безделицы -безделку -бездн -бездна -бездне -бездной -бездну -бездны -бездомна -бездомней -бездомным -бездонна -бездонной -бездонностью -бездонную -бездонным -бездонных -бездорожье -бездорожью -бездушном -бездыханна -бездыханном -бездыханность -безжалостно -безжалостный -беззаботен -беззаботная -беззаботно -беззаботной -беззаботность -беззаботный -беззаботным -беззаботными -беззаветно -беззаветный -беззакатного -беззакатный -беззащитная -беззащитную -беззащитные -беззвездной -беззвездный -безземельная -беззлобен -беззубый -беззубым -безличное -безличности -безличный -безлюдном -безлюдность -безлюдьи -безмерно -безмерными -безмозглая -безмолвен -безмолвного -безмолвное -безмолвны -безмолвные -безмолвный -безмолвным -безмолвных -безмолвствует -безмужних -безмятежно -безмятежной -безмятежность -безмятежный -безнадежная -безнадежней -безнадежно -безнадежного -безнадежной -безнадежности -безнадежность -безнадежный -безнаказанно -безначальной -безначальный -безносым -безнравственная -безнравственно -безнравственны -безнравственный -безнравственным -безо -безобидно -безобидного -безоблачного -безоблачность -безоблачный -безобразен -безобразие -безобразию -безобразия -безобразна -безобразная -безобразнее -безобразнейший -безобразнейшим -безобразник -безобразничал -безобразничать -безобразно -безобразного -безобразное -безобразной -безобразном -безобразною -безобразную -безобразные -безобразный -безобразным -безобразными -безобразных -безобразью -безопасным -безответная -безответного -безответный -безотрадно -безотрадной -безотрадным -безотчетно -безотчетной -безотчетности -безотчетным -безошибочно -безошибочною -безполезны -безрадостной -безрадостность -безразличный -безрассудно -безрассудное -безрассудным -безропотно -безукоризненна -безукоризненно -безукоризненное -безумен -безумие -безумна -безумная -безумней -безумно -безумного -безумное -безумной -безумном -безумную -безумный -безумным -безумными -безумных -безумствовать -безумствует -безумца -безумцы -безумья -безупречная -безусловно -безутешная -безучастия -безучастно -безучастным -безызвестно -безыменные -безысходна -безысходней -безысходность -безысходные -безысходным -бей -бейся -бейте -бекетов -бекешах -бел -бела -белая -белее -белеет -белели -беленькая -беленькие -беленький -беленьким -беленького -белесым -белея -белизна -белизной -белизны -белильню -белинского -белится -беллетрист -беллетристов -беллетристом -беллетристу -белобрысые -белобрысыми -беловатой -беловодовым -белого -белое -белой -белокурая -белокуренькая -белокуренькое -белокурою -белокурые -белокурый -белокурыми -белом -белому -белоручка -белоснежная -белоснежной -белою -белую -белые -белый -белым -белыми -белых -бельведерского -бельгию -белье -бельем -бельмеса -белья -бензол -берг -бергом -бердичеве -берег -берега -береги -берегись -берегите -берегитесь -берегла -береглась -берегли -берегов -берегся -берегу -бередило -бережет -бережете -бережешь -бережно -березками -березку -березняк -березняка -березовая -березовую -березы -берем -беременна -берет -берете -берется -беречь -беречься -берешь -бери -берите -берлин -берлога -берлоге -беру -берусь -берут -берутся -беря -бес -бесед -беседах -беседе -беседка -беседке -беседки -беседку -беседовавшим -беседовал -беседовала -беседой -беседу -беседует -беседуют -бесенок -бесился -бесится -бесконечна -бесконечная -бесконечно -бесконечного -бесконечное -бесконечной -бесконечном -бесконечному -бесконечности -бесконечность -бесконечною -бесконечную -бесконечные -бесконечный -бесконечным -бесконечных -бескорыстно -бескорыстное -бескрайною -бескровно -бескровных -бесноватыми -беспамятная -беспамятный -беспамятстве -беспамятство -бесперечь -беспечальное -беспечнее -беспечно -беспечное -беспечности -беспечность -беспечный -беспечными -бесплодная -бесплодного -бесплодные -бесплодных -бесповоротно -бесподобно -беспокоен -беспокоил -беспокоила -беспокоилась -беспокоили -беспокоило -беспокоился -беспокоим -беспокоит -беспокоитесь -беспокоить -беспокоиться -беспокоишься -беспокой -беспокойная -беспокойнее -беспокойно -беспокойного -беспокойное -беспокойной -беспокойны -беспокойный -беспокойным -беспокойных -беспокойства -беспокойстве -беспокойство -беспокойством -беспокойся -беспокойте -беспокойтесь -беспокою -беспокоюсь -беспокоят -бесполезная -бесполезно -бесполезное -бесполезной -бесполезности -бесполезную -бесполезны -бесполезный -бесполезных -бесполый -беспомощен -беспомощно -беспомощное -беспомощном -беспомощности -беспомощность -беспорядка -беспорядках -беспорядке -беспорядков -беспорядок -беспорядочная -беспорядочно -беспорядочному -беспорядочную -беспошлинный -беспощадно -беспощадной -беспредельная -беспредельно -беспредельной -беспредельном -беспредельную -беспредметная -беспрекословно -беспременно -беспрерывная -беспрерывно -беспрерывного -беспрерывной -беспрерывную -беспрерывные -беспрерывный -беспрерывными -беспрерывных -беспрестанно -беспримерно -беспристрастно -бесприютным -беспутной -бессвязные -бессвязных -бессердечие -бессилен -бессилие -бессилии -бессилия -бессильно -бессильного -бессильное -бессильною -бессильны -бессильный -бессильных -бессилья -бесследно -бессловесный -бессловного -бессменно -бессмертной -бессмертную -бессмертный -бессмертья -бессмысленная -бессмысленно -бессмысленной -бессмысленность -бессмысленные -бессмысленный -бессмысленным -бессмысленными -бессмыслица -бессмыслице -бессмыслицей -бессмыслицу -бесснежная -бессовестно -бессознательная -бессознательно -бессознательной -бессознательном -бессознательным -бессоницы -бессонная -бессонницы -бессонной -бессонные -бессонный -бессонных -бесспорно -бесспорное -бесспорной -бесстрастен -бесстрастная -бесстрастно -бесстрастной -бесстрашная -бесстрашней -бесстыдник -бесстыдники -бесстыдно -бесстыдные -бесстыдным -бессчетно -бестактно -бестия -бестолковую -бестолковые -бестолковых -бестужеву -бесхарактерности -бесцветен -бесцветно -бесцветной -бесцветны -бесцветных -бесцельная -бесцельно -бесцельный -бесцельных -бесценное -бесценный -бесцеремонно -бесчеловечия -бесчеловечно -бесчестие -бесчестит -бесчестная -бесчестном -бесчестные -бесчестным -бесчестье -бесчестья -бесчинства -бесчисленно -бесчисленного -бесчисленных -бесчувствен -бесчувственна -бесчувственная -бесчувственного -бесчувственному -бесчувственный -бесчувственным -бесчувствия -бесшумно -бетховен -бешеная -бешеного -бешеной -бешеном -бешеною -бешенства -бешенстве -бешенство -бешенством -бешеные -бешеным -библейские -библиотек -библиотека -библиотекарем -библиотеке -библию -библия -бивал -бивали -бившего -бивший -биение -биением -биению -биения -бил -била -билась -билет -билета -билетами -билетах -билетик -билетика -билетиками -билетов -билетом -билету -билеты -били -биллиард -биллиарда -биллиарде -било -билось -бился -биль -бильярд -бильярде -бильярдной -бильярдную -бильярдный -бинокле -бинокль -биография -бирже -биржи -бис -бисер -бисером -бисквитов -бисквиты -битв -битве -битву -битвы -битком -битое -биты -битый -бить -битье -биться -бифштекс -бифштекса -бицепсы -бич -бичами -бичурину -бишь -бла -благ -блага -благим -благих -благо -благовещение -благовиднее -благоволите -благовония -благовонной -благовоспитанным -благовоспитанных -благоговеете -благоговейно -благоговейного -благоговейным -благоговела -благоговение -благоговением -благоговеть -благоговею -благодарен -благодари -благодарил -благодарила -благодарили -благодарим -благодарить -благодарна -благодарная -благодарно -благодарном -благодарности -благодарностию -благодарность -благодарностью -благодарю -благодаря -благодати -благодать -благодетелей -благодетелем -благодетели -благодетель -благодетельной -благодетельные -благодетельствовал -благодетельствовать -благодетельствует -благодетеля -благодеяние -благодеяний -благодеяния -благодушном -благолепие -благонадежный -благонамереннейший -благонамеренного -благонравной -благонравны -благополучно -благоприобретенные -благоприобретенным -благоприятного -благоприятное -благоприятный -благоприятствовавшие -благоразумие -благоразумия -благоразумная -благоразумнейшей -благоразумно -благоразумных -благороден -благородие -благородная -благороднее -благороднейшая -благороднейший -благородно -благородного -благородное -благородной -благородном -благородною -благородны -благородные -благородный -благородным -благородных -благородства -благородстве -благородство -благородством -благосклонно -благосклонной -благосклонный -благословением -благословениями -благословенно -благословенной -благословенном -благословенный -благослови -благословил -благословила -благословили -благословит -благословить -благословишь -благословлю -благословляет -благословляла -благословлять -благословляю -благословляя -благословясь -благословят -благосостояние -благосостояния -благости -благость -благотворители -благотворительности -благотворительность -благотворны -благотворный -благоугодным -благоусмотрение -благоуханное -благоуханный -благоуханных -благоуханье -благоухающая -благоухающею -благочестиво -блаженно -блаженное -блаженной -блаженные -блаженный -блаженным -блаженных -блаженства -блаженстве -блаженство -блаженствовал -блаженствовали -блаженствовать -блаженством -блаженствую -блаженствуют -блажной -блажь -блажью -бланбеками -бланбеки -бледен -бледна -бледная -бледневший -бледнее -бледнеет -бледнела -бледненькое -бледнеть -бледнеют -бледнея -бледно -бледного -бледное -бледной -бледном -бледность -бледночернильным -бледную -бледны -бледные -бледный -бледным -бледными -бледных -блеклыми -блеск -блеска -блеске -блеском -блеснет -блесну -блеснувшим -блеснул -блеснула -блеснули -блеснуло -блеснуть -блестели -блестело -блестит -блестками -блестят -блестящей -блестящем -блестящему -блестящею -блестящие -блестящий -блестящим -блестящих -блестящую -блещет -блещешь -блещут -блещущей -блещущий -блещущим -блеющие -ближайшее -ближайшем -ближайшие -ближайший -ближайшую -ближе -ближней -ближний -ближним -близ -близится -близка -близки -близкие -близким -близкими -близких -близко -близкого -близкое -близкой -близком -близкую -близлежащие -близок -близорука -близость -близь -блин -блинах -блинов -блины -блиставшего -блиставшее -блистал -блистали -блистало -блистанье -блистательной -блистательным -блистательных -блистать -блистают -блистающий -блистающими -бло -блок -блонд -блондах -блондин -блондинка -блондинки -блондины -блонды -блохи -блудницу -блуждает -блуждаете -блуждал -блуждали -блуждающий -блуждая -блузе -блузу -блю -блюд -блюда -блюдами -блюде -блюдечками -блюдечке -блюдечко -блюдо -блюдом -блюдце -блюсти -блюстителя -бо -бобах -бобик -бобика -бобику -бобов -бобровых -бобы -бог -бога -богат -богата -богатая -богатеет -богатеют -богато -богатого -богатой -богатом -богатому -богатства -богатство -богатую -богаты -богатые -богатый -богатым -богатыре -богатырь -богатырях -богатых -богач -богаче -богачи -богачом -богданович -богданыч -боге -богема -богемии -богемскую -боги -богиня -богом -богомолье -богомольно -богомольной -богомольные -богородица -богородицу -богохульник -богу -бодр -бодрая -бодрился -бодро -бодрое -бодрой -бодром -бодрости -бодрость -бодростью -бодрствовал -бодрствовали -бодрствую -бодрый -бодрым -бодрых -бодягой -боевой -боем -боец -боже -божества -божественно -божественной -божественным -божественных -божество -божие -божией -божиим -божий -божилась -божится -божию -божия -божьего -божьей -божьим -божья -боитесь -боится -боишься -бой -бойкая -бойкие -бойкий -бойким -бойко -бойкого -бойкое -бойни -бойся -бойтесь -бок -бока -бокал -бокала -бокалах -бокале -бокалу -бокам -боками -боки -бокля -боков -бокового -боковой -боковом -боковую -боком -боку -болван -болваном -болвану -боле -более -болеет -болезная -болезней -болезненная -болезненно -болезненного -болезненное -болезненной -болезненном -болезненность -болезненную -болезненные -болезненный -болезненным -болезненных -болезни -болезнию -болезнь -болезнью -болезнями -болезнях -болел -болела -болели -болело -болен -болеть -болеют -боли -болит -болосы -болот -болота -болотистым -болотной -болотные -болотный -болото -болотом -болтает -болтается -болтай -болтал -болталась -болтали -болтались -болтался -болтать -болтаю -болтают -болтаются -болтаясь -болтлив -болтлива -болтливая -болтливы -болтовней -болтовни -болтовню -болтовня -болтун -болтунишки -болтушка -боль -больна -больная -больнее -больней -больниц -больница -больнице -больницу -больницы -больно -больного -больное -больной -больном -больному -больною -больную -больны -больные -больным -больными -больных -большая -больше -большего -большеголовый -большее -большей -большем -большею -большие -большим -большими -большинстве -большинство -большинством -больших -большого -большое -большой -большом -большому -большою -большую -болью -болят -бомбами -бонжур -бонне -бор -бореля -борется -борис -бориса -борисович -борису -бормотал -бормотала -бормотали -бормотание -бормотаний -бормочет -бормочешь -боров -борода -бороде -бородкой -бородой -бороду -бороды -бороздою -боролась -боролись -боролось -боролся -бороться -борт -борта -бортов -борты -борцов -борьба -борьбах -борьбе -борьбой -борьбу -борьбы -борются -борясь -босая -босенькая -босиком -боскете -босой -босоногих -бостон -босу -босые -ботаник -ботвинью -ботвинья -ботинками -ботинках -ботинки -ботиночки -бочка -бочки -бочкой -бочком -бочонка -бочонок -бою -боюсь -боя -боявшиеся -боявшийся -боязливее -боязливо -боязливый -боязни -боязнь -боязнью -боялась -боялись -боялся -боясь -боятся -бояться -браво -бравое -брак -брака -браке -браки -браком -браку -брал -брала -бралась -брали -брался -бранда -брани -бранил -бранила -бранили -бранились -бранит -браните -бранится -бранить -браниться -бранчив -брань -бранью -бранюсь -бранясь -бранят -браслет -браслете -браслетом -браслеты -брат -брата -брате -братец -братией -братишка -братом -братской -братства -брату -братца -братце -братцем -братцу -братцы -брать -братьев -братьи -браться -братья -братьям -брачной -брачные -бревна -брег -бред -бреда -бреде -бредил -бредила -бредит -бредите -бредить -бредишь -бредом -бреду -бредят -бреется -брежжит -брежу -брезгает -брезгайте -брезгливости -брезговал -брезжит -брел -брелок -брелоков -бременем -бремени -бремя -бренно -бренный -бренчало -бренчу -бретер -бригаде -бригадой -бригаду -бриллиант -бриллианта -бриллиантовый -брился -брит -бритая -бритва -бритвы -бритой -брить -бриться -бровей -брови -бровь -бровью -бровями -бровях -бродивших -бродил -бродила -бродили -бродит -бродить -бродишь -бродяга -бродяги -бродягу -бродяжничай -бродяжничества -бродят -бродячие -бронза -бронзовую -бросает -бросаете -бросаетесь -бросается -бросал -бросала -бросалась -бросались -бросало -бросался -бросать -бросаю -бросают -бросаются -бросающееся -бросающую -бросая -бросаясь -бросив -бросившись -бросил -бросила -бросилась -бросили -бросились -бросило -бросилось -бросился -бросим -бросит -бросится -бросить -броситься -бросишь -брось -бросьте -бросят -бросятся -брошен -брошена -брошенного -брошенное -брошенном -брошенный -брошено -брошены -брошка -брошкой -брошу -брошусь -брошь -брошюр -брошюру -брошюры -бррр -брудершафт -брусничной -брут -брызг -брызгает -брызги -брызжут -брызнув -брызнул -брызнула -брызнули -брызнут -брюжжит -брюзгами -брюзгливая -брюзгливо -брюзгливою -брюзгливые -брюзжащие -брюзжит -брюках -брюквой -брюки -брюнет -брюнеты -брюсову -брюхе -брюхо -брюшком -брякает -брякну -брякнул -брякнула -брякнуть -бряцает -бубен -бубенчик -бубенчики -бубенчуками -бубновый -бубны -бугорках -бугорки -буде -будем -будемте -будет -будете -будешь -буди -будил -будила -будили -будило -будируя -будит -будить -буднее -будней -будни -будничное -будничной -будничном -будничные -будничными -будничных -будням -буднях -будок -будоражишь -будочник -будочника -будто -буду -будуар -будуаров -будут -будучи -будущая -будущего -будущее -будущей -будущем -будущему -будущие -будущий -будущим -будущих -будущности -будущность -будущую -будь -будьте -будя -будят -буеракам -бузиной -буйная -буйно -буйного -буйной -буйном -буйному -буйный -буйным -буйных -буйственных -буйство -буйством -букашками -буква -буквально -буквальное -буквами -буквой -букву -буквы -букет -букета -букетами -букетом -букеты -буки -букинистами -булавки -булавку -булавой -булка -булки -булку -булок -булочек -булочками -булочник -булочную -бултых -буль -бульвар -бульвара -бульваре -бульвару -бульдоге -бульон -бумаг -бумага -бумагам -бумагами -бумагах -бумаге -бумаги -бумагой -бумагу -бумажечки -бумажка -бумажками -бумажке -бумажки -бумажку -бумажник -бумажнике -бумажной -бумажный -бумажным -бумбия -бунтовать -бунтующее -бунчуки -буран -бурду -буре -бурей -буржуазного -бури -буркалы -бурмейстер -бурно -бурного -бурное -бурною -бурнус -бурнусик -бурнусике -бурный -бурными -бурных -бурого -бурой -бурсак -бурш -бурша -бурый -бурь -бурьян -бурьяне -бурьяном -бурю -буря -бурями -бурях -бутончик -бутошник -бутылка -бутылками -бутылки -бутылкой -бутылкою -бутылку -бутылок -бутылочки -бутылочку -бутылочным -буфера -буфет -буфета -буфете -буфету -буфетчик -буфетчика -буфеты -буффон -буха -бухте -бушевало -бушует -бушующих -буян -буянил -буянила -бы -быв -бываем -бывает -бываете -бываешь -бывал -бывала -бывали -бывало -бывалое -бывалую -бывалые -бывалый -бывалых -бывать -бываю -бывают -бывшая -бывшего -бывшее -бывшей -бывшем -бывшему -бывши -бывшие -бывший -бывшим -бывшими -бывших -бывшую -был -была -былая -были -былинки -было -былое -былой -былые -былым -былых -быльем -быстрая -быстрее -быстрей -быстрины -быстро -быстрого -быстрой -быстроте -быстротой -быстротою -быстроту -быстрые -быстрый -быстрым -быт -быта -быте -бытие -бытийственных -бытия -бытность -быту -быть -бытьи -бытья -бьемся -бьет -бьется -бьешься -бьюсь -бьют -бьются -бьющаяся -бьющимся -бюджета -бюджету -бюргера -бюргеров -бюргером -бюргерские -бюргерскими -бюро -бюст -бюста -в -вавиловка -вагнера -вагон -вагона -вагоне -вагонов -вагоном -вагоны -важная -важнее -важнейшие -важнейшими -важничал -важно -важного -важное -важной -важном -важному -важности -важностию -важность -важностью -важную -важны -важные -важный -важным -важных -вазах -вазы -вакса -вакханка -вал -валандался -валентина -валериановых -валерию -валетами -вали -валил -валился -валится -валов -вальдшнепа -вальс -вальса -вальсе -вальсишку -вальтера -валяется -валялась -валялись -валялось -валялся -валять -валяются -вам -вами -вампир -вампирственного -ване -ваней -ванечки -ванечкину -ванечку -вани -ванили -ваниль -ванилью -ванну -ванька -ваню -ванюша -ванюше -ванюши -ванюшу -ваня -варвара -варваром -варвару -варе -варений -вареники -вареников -вареного -вареной -вареную -варенц -варенье -варенью -варенья -вареньями -вари -вариаций -варили -варились -варин -варит -варить -варшава -варшаве -варшавой -варшавский -варшаву -варьяции -варьяциях -варю -варя -варяга -варят -вас -василий -василиса -василисе -васильев -васильева -васильевич -васильевна -васильевну -васильевны -васильевский -васильевского -васильевском -васильевскому -васильевым -васильем -васильич -васильичем -васька -ваське -васьки -ватага -ватерлоо -ватным -ватой -ваточной -ваточном -ватрушки -ватрушку -вату -ваты -вафля -вахрушин -вахрушина -ваш -ваша -ваше -вашего -вашей -вашем -вашему -вашею -ваши -вашим -вашими -ваших -вашу -вбегает -вбежала -вбежит -вбивали -вбил -вблизи -вбок -ввела -ввели -ввергался -ввергающий -вверенный -вверить -ввернет -вверну -ввернул -ввернуть -вверх -вверху -вверяет -ввести -ввиду -вводила -вводить -ввожу -ввозят -ввысь -ввязался -вглубь -вглядевшись -вгляделись -вглядись -вглядывается -вглядывалась -вглядывался -вглядываться -вглядываясь -вдаваться -вдавленного -вдалась -вдалеке -вдали -вдаль -вдвое -вдвоем -вдвойне -вдеваешь -вдесятеро -вдобавок -вдова -вдове -вдовеет -вдовец -вдовий -вдовиц -вдовица -вдовой -вдову -вдовы -вдогонку -вдоль -вдохновение -вдохновением -вдохновении -вдохновению -вдохновенно -вдохновенное -вдохновенный -вдохновенными -вдохновенных -вдохновенье -вдохновеньем -вдохнул -вдохнуть -вдребезги -вдруг -вдругорядь -вдумайтесь -вдуматься -вдумчиво -вдумчивое -вдумывалась -вдумывался -вдумываясь -ве -ведаем -ведает -ведаете -ведаешь -ведай -ведал -ведать -ведаю -ведая -ведению -ведения -веденной -ведет -ведешь -веди -ведите -ведома -ведомо -ведомости -ведомостях -ведомству -ведрами -ведре -ведро -ведром -веду -ведут -ведущая -ведущей -ведущие -ведущим -ведь -ведьма -ведьмой -ведьмы -ведя -веером -веет -вежды -вежлив -вежливо -вежливой -вежливости -вежливость -вежливый -вежливым -везде -везет -везешь -везла -везти -везу -везувии -везущих -век -века -векам -веками -веках -веке -веки -веков -вековечная -вековечные -вековой -вековою -вековые -векселей -векселек -вексель -векселя -веку -вел -вела -велел -велела -велели -велению -велено -велеть -вели -велик -велика -великана -великанами -великанов -великаны -великая -велики -великие -великий -великим -великих -великого -великодушен -великодушия -великодушная -великодушнее -великодушнейший -великодушно -великодушного -великодушны -великодушные -великодушный -великодушных -великое -великой -великолепий -великолепна -великолепная -великолепнее -великолепнейшие -великолепние -великолепно -великолепного -великолепное -великолепной -великолепную -великолепные -великолепный -великолепных -великом -великому -великонек -великую -велит -велите -величава -величавого -величавое -величавой -величайшая -величайшего -величайшее -величайшей -величайшем -величайшему -величайший -величайшим -величал -величают -величественная -величественно -величество -величие -величий -величина -величине -величиной -величины -величье -велишь -велосипеды -велось -вельможа -вельможе -вельможей -велю -велят -венгерский -вене -венерических -венец -венецейской -венецианская -венецианской -венеция -веник -веника -веничек -веничком -венка -венками -венке -венки -венком -венок -венца -венце -венцу -венчаемся -венчал -венчались -венчался -венчальный -венчаться -венчают -вены -вер -вера -верблюды -вербы -вере -веревках -веревке -веревки -веревкой -веревкою -веревочку -веревочное -верен -вереница -вереницей -вереницу -веретена -верил -верила -верили -верит -верите -верится -верить -веришь -верна -верная -вернее -верней -вернем -вернет -вернется -вернешь -вернешься -верни -вернись -вернитесь -верно -верного -верное -верной -верному -верности -верность -верностью -верною -вернув -вернувшись -вернулась -вернулось -вернулся -вернусь -вернутся -вернуть -вернуться -верную -верны -верные -верный -верным -верных -веровавший -веровал -веровала -верований -веровать -верой -вероломна -вероломство -вероломством -верою -вероятнее -вероятно -вероятности -вероятность -вероятны -версия -верст -верстах -версте -верстовых -версту -версты -вертел -вертелся -вертеп -вертеры -вертеть -верти -вертись -вертит -вертится -вертишься -вертлявая -вертун -вертя -вертясь -вертят -веру -верует -веруете -веруется -веруешь -веруй -верую -верующей -верующие -верующий -верующим -веруя -верфям -верх -верхлева -верхлеве -верхлево -верхлевский -верхлевского -верхнего -верхнее -верхней -верхнем -верхнею -верхние -верхний -верхнюю -верхняя -верховий -верховой -верховскому -верхом -верху -верхушки -верхушку -вершать -вершина -вершинах -вершинин -вершинина -вершинину -вершинины -вершининым -вершининых -вершины -вершков -вершок -веры -верь -верьте -верю -веря -верят -вес -весах -весел -весела -веселая -веселее -веселей -веселея -веселила -веселимся -веселиться -весело -веселого -веселое -веселой -веселости -веселость -веселы -веселые -веселый -веселым -веселых -веселье -весельем -весельчаком -веселья -весеннею -весенние -весенний -весенняя -весит -весла -весле -весло -весна -весне -весной -весну -весны -весталку -вести -вестник -весты -весть -вестью -вестями -весу -весы -весь -весьма -ветвей -ветви -ветвью -ветер -ветерка -ветерком -ветерок -ветка -ветках -ветке -ветки -веткой -ветку -ветлы -веток -ветр -ветра -ветреная -ветреность -ветреный -ветровые -ветром -ветру -ветха -ветхая -ветхий -ветхим -ветхих -ветхом -ветчиной -ветчины -вечер -вечера -вечерам -вечерах -вечере -вечереет -вечерело -вечерком -вечерне -вечернего -вечернее -вечерней -вечернем -вечерние -вечерний -вечерних -вечеров -вечерок -вечером -вечеру -вечная -вечно -вечное -вечной -вечном -вечному -вечности -вечность -вечную -вечные -вечный -вечным -вечными -вечных -вешает -вешал -вешались -вешаться -вешаются -веше -веши -вешней -вешнею -вешний -вешняя -вещам -вещами -вещания -вещах -вещей -веществ -вещественные -вещи -вещим -вещих -вещица -вещицы -вещь -вещью -веял -веяло -веянье -веяньем -взад -взаимно -взаимного -взаимное -взаимной -взаимном -взаимности -взаимность -взаимностью -взаимною -взаимные -взаимными -взаимных -взаймы -взамен -взаперти -взаправду -взапуски -взбегал -взбежав -взбежать -взбесившийся -взбесился -взбесит -взбесятся -взбешенный -взбирались -взбираться -взбираясь -взбитые -взбитыми -взбороздив -взбунтоваться -взбунтуется -взведет -взведете -взвел -взвела -взвесил -взвесила -взвешивает -взвешивал -взвешивая -взвивается -взвизги -взвизгнул -взвизгнула -взвизгов -взвизгом -взвилась -взвился -взвод -взводимых -взводом -взволновал -взволновалась -взволновало -взволновался -взволнован -взволнована -взволнованная -взволнованно -взволнованное -взволнованный -взволнованных -взволнованы -взволновать -взволнует -взвыл -взгляд -взгляда -взглядами -взгляде -взглядов -взглядом -взгляду -взгляды -взглядывает -взглядывал -взглядывала -взглядывали -взглядываниями -взглядывают -взглядывая -взглянет -взглянешь -взгляни -взгляните -взгляну -взглянув -взглянул -взглянула -взглянули -взглянуть -вздернет -вздернута -вздор -вздоре -вздорная -вздорные -вздорными -вздорожают -вздором -вздору -вздох -вздохами -вздохи -вздохнет -вздохни -вздохну -вздохнув -вздохнул -вздохнула -вздохнули -вздохнуть -вздохом -вздрагивавшие -вздрагивает -вздрагивал -вздрагивала -вздрагивали -вздрагиваньям -вздрагивают -вздрагивающей -вздрагивающими -вздрагивая -вздремнет -вздремнул -вздремнула -вздрогнет -вздрогнув -вздрогнул -вздрогнула -вздрогнули -вздрогнут -вздули -вздулись -вздумавший -вздумает -вздумается -вздумал -вздумала -вздумали -вздумалось -вздымается -вздымаются -вздыхает -вздыхал -вздыхала -вздыхатель -вздыхать -вздыхают -вздыхающем -вздыхая -взирая -взламывать -взлет -взлетающего -взлетел -взлетит -взлечу -взломом -взлохмачены -взмахнет -взмахни -взмахнув -взмахнул -взмахом -взметутся -взнос -взобраться -взобьет -взовьется -взойдет -взойду -взойдя -взойти -взор -взора -взоре -взоров -взором -взору -взоры -взошел -взошла -взошло -взрослые -взрослый -взрослыми -взрослых -взрыв -взрыва -взрывов -взрывом -взрывы -взъерошенный -взывает -взывал -взывала -взывают -взывая -взыграет -взыскание -взыскании -взысканий -взысканию -взыскания -взысканиях -взыскательна -взыскательнее -взыскательному -взыскать -взыскивать -взыскиваю -взыщите -взяв -взявши -взял -взяла -взялась -взяли -взялись -взяло -взялось -взялся -взятки -взяток -взяточник -взяточника -взяточников -взяты -взятые -взятых -взять -взяться -вив -вид -вида -видавший -видал -видала -видалась -видали -видались -видано -видать -видаться -видах -виде -видевший -видевших -видел -видела -видели -виделись -видело -виделся -видемши -виден -видена -видение -видением -видений -видения -видениям -видениями -виденною -виденный -виденных -виденье -виденья -видеть -видеться -видим -видимая -видимо -видимое -видимой -видимом -видимому -видимою -видимся -видимый -видимым -видимых -видит -видите -видится -видишь -видишься -видна -видная -виднелась -виднелись -виднелось -видно -видного -видною -видны -видов -видоизменения -видоизменяющаяся -видом -виду -виды -видывал -видывали -видя -видят -видятся -видящий -вижу -вижусь -визави -визг -визгливо -визгливый -визгом -визжала -визжаль -визжат -визжать -визжит -визит -визита -визитами -визите -визитик -визитная -визитную -визитный -визитных -визитов -визитом -визиты -вилами -виланда -вилась -вилка -вилки -вилкой -вилку -виллу -вилой -вильне -виляй -виляя -вин -вина -вине -вини -винили -вините -винительный -винить -винишь -винные -винным -вино -виноват -виновата -виноватая -виноватее -виновато -виноватого -виноватою -виноваты -виноватым -виновен -виновника -виновником -виновница -виновным -виновных -виноград -винограда -виноградные -виноградом -вином -винт -винта -винтами -винтовой -винтообразной -винтообразный -винты -вину -винца -винчи -вины -виню -винюсь -виртуоз -виртуозом -висевшие -висел -висели -висело -висеть -виси -висит -вискам -висках -виски -виску -висла -вислой -вислу -виснет -висок -висячую -висящие -висящий -висящих -витиеватой -витиеватым -витое -витринах -вифании -вифлеема -вихор -вихрастый -вихре -вихревое -вихрем -вихри -вихров -вихры -вихрь -вице -вицмундир -вицмундира -вицмундире -вишен -вишеньем -вишере -вишневого -вишневому -вишневые -вишневый -вишни -вишню -вишня -вишь -виясь -вкладывались -включая -вколачивали -вколотить -вконец -вкопанная -вкопанный -вкось -вкрадчиво -вкрадывается -вкралась -вкралось -вкривь -вкруг -вкус -вкуса -вкусе -вкусил -вкусит -вкусная -вкусно -вкусное -вкусный -вкусом -вкусу -вкушать -вл -влагает -влагала -влаги -влагой -владевшие -владеет -владел -владела -владелец -владельцу -владетельного -владеть -владею -владея -владимир -владимира -владимирка -владимирке -владимирович -владимиру -владычества -владычествовал -владычествовать -владычица -владычицу -влажна -влажны -влажные -влажный -властвовала -властвовать -властвует -властей -властелин -властен -власти -властительно -властному -властный -власть -влачат -влево -влез -влезал -влезая -влезет -влезешь -влезли -влезть -влезут -влекли -влекло -влекома -влекущая -влекущий -влетел -влетела -влетели -влетит -влечение -влечению -влечения -влеченье -влечет -влечешь -вливается -вливалась -вливают -влил -влиявшие -влияло -влияние -влиянием -влияний -влиянию -влияния -вложением -вложил -вложили -вложить -влопался -влюбилась -влюбился -влюбитесь -влюбиться -влюблен -влюблена -влюбленно -влюбленного -влюбленное -влюбленной -влюбленности -влюбленность -влюбленные -влюбленный -влюбленным -влюбленными -влюблены -влюблюсь -влюбляется -влюблялись -влюбляться -влюбляются -влюбляясь -вместе -вместо -вмешалась -вмешался -вмещал -внаем -внакидку -внакладочку -вначале -вне -внезапная -внезапно -внезапного -внезапное -внезапной -внезапном -внезапному -внезапною -внезапную -внезапные -внезапный -внезапным -внезапными -внезапных -внемлю -внемлют -внес -внесенные -внеси -внесла -внесли -внести -внесу -внеся -внешне -внешней -внешний -внешним -внешних -внешнюю -внешняя -вниз -внизу -вникаешь -вникал -вникать -вникая -вникните -вникнул -вникнуть -внимай -внимал -внимание -вниманием -внимании -внимания -вниманье -вниманью -вниманья -внимателен -внимательнее -внимательно -внимательные -внимательным -внимать -внимаю -внимая -внове -вновь -вносит -вносите -вносить -вносишь -внося -внука -внуки -внутренне -внутреннего -внутреннее -внутренней -внутреннею -внутренние -внутренний -внутренним -внутренних -внутренно -внутренности -внутреннюю -внутренняя -внутри -внутрь -внучата -внучка -внушает -внушал -внушало -внушают -внушению -внушения -внушенная -внушенным -внушив -внушил -внушите -внушительнее -внушительно -внушительный -внушительным -внушить -внятен -внятно -внятной -внятным -во -вобла -вовек -вовлечен -вовремя -вовсе -вогнать -вод -вода -водворения -водворилась -водворилось -водворить -водворялся -водворят -воде -водевиля -водил -водила -водили -водились -водилось -водит -водится -водить -водицы -водка -водки -водкой -водку -водной -водовоз -водоворот -водоеме -водой -водопад -водопады -водочки -водочку -водою -воду -воды -водяная -водянистый -водянистым -водяного -водяной -водяную -водяные -водят -воедино -военного -военное -военной -военною -военную -военные -военный -военным -военных -воет -вожак -вожди -вождь -вожжи -воз -воза -возалкал -возами -возблагодарили -возблагодарю -возбудил -возбудила -возбудило -возбудимы -возбудить -возбудят -возбуждает -возбуждаете -возбуждал -возбуждались -возбуждало -возбуждать -возбуждая -возбуждении -возбуждения -возбужденно -возбужденное -возбужденном -возбужденный -возведен -возведении -возвел -возвела -возвестили -возвещено -возврат -возврата -возвратившихся -возвратила -возвратилась -возвратился -возвратите -возвратится -возвратить -возвратиться -возвратишь -возвратного -возвратный -возвратясь -возвращавшийся -возвращается -возвращаешься -возвращал -возвращалась -возвращались -возвращалось -возвращался -возвращать -возвращаться -возвращаюсь -возвращаются -возвращающегося -возвращаясь -возвращение -возвращении -возвращения -возвращенья -возвращу -возвысив -возвысился -возвысить -возвышались -возвышалось -возвышался -возвышать -возвышаться -возвышая -возвышаясь -возвышенная -возвышенный -возглаголет -возглаголят -возглас -возгласы -воздвиглась -воздвигнутых -воздел -возделывал -воздержание -воздержнее -воздусех -воздух -воздуха -воздухе -воздухом -воздуху -воздушном -воздушные -воздушный -воздушных -воздыханий -возжаждешь -воззвал -воззвание -воззрение -воззрения -воззреньях -возила -возили -возились -возился -возить -возиться -возишься -возле -возлелеянную -возложил -возлюби -возлюбила -возлюбишь -возлюбленного -возлюбленной -возлюбленные -возлюбленный -возлюблял -возмездие -возмездия -возможна -возможно -возможности -возможность -возможную -возможным -возможных -возмутившее -возмутился -возмутительно -возмутителям -возмутить -возмутишь -возмущает -возмущающих -возмущаясь -возмущен -возмущено -вознаградить -вознаграждать -вознаграждая -вознаграждение -вознаграждением -вознамерился -возненавидел -возненавидела -возненавидит -возненавидишь -возненавижу -вознесенском -вознесены -вознесу -возни -возник -возникает -возникал -возникала -возникать -возникающей -возникла -возникло -возникнет -возникновения -возникшего -возносилась -возносится -вознося -возню -возня -возобновились -возобновить -возобновляет -возобновлялась -возов -возом -возопил -возражает -возражал -возражений -возражения -возразил -возразила -возразить -возраст -возраста -возраставшего -возраставшее -возраставшим -возрастало -возрастающей -возрастая -возрасте -возрастом -возрасты -возродить -возрождалась -возрождение -возрождению -возросла -возросло -возу -возымел -возыметь -возьмем -возьмет -возьмете -возьметесь -возьмется -возьмешь -возьми -возьмите -возьму -возьмут -возьмутся -возят -воин -воина -воину -воины -воистину -вой -войдем -войдет -войдешь -войди -войдите -войду -войдут -войдя -войлок -войлоками -войлоке -войн -война -войнами -войне -войницкая -войницкии -войницкий -войницким -войницкого -войницкому -войну -войны -войска -войско -войском -войти -вокзал -вокзале -вокзалу -вокруг -вол -волге -волгу -воле -волей -волен -волею -воли -волк -волки -волков -волн -волна -волнами -волнах -волнение -волнением -волнении -волнений -волнения -волнениями -волненье -волненьем -волненья -волновала -волновалась -волновали -волновались -волновало -волновался -волновать -волноваться -волной -волною -волну -волнуем -волнует -волнуете -волнуетесь -волнуется -волнуешь -волнуешься -волнуйся -волнуйтесь -волнуюсь -волнуют -волнуются -волнующей -волнующейся -волнующуюся -волнуясь -волны -воло -волокита -волокиты -волоком -волом -волос -волоса -волосам -волосами -волосатые -волосах -волосенки -волосики -волоска -волоски -волости -волосы -волочит -волчком -волчок -волчьим -волшебная -волшебника -волшебниц -волшебница -волшебницы -волшебного -волшебной -волшебные -волшебств -воль -вольна -вольно -вольнодумные -вольнодумцам -вольное -вольной -вольном -вольному -вольною -вольные -вольный -вольным -вольтер -волю -воля -вон -вона -вонзает -вонзай -вонзал -вонзила -вонзился -вонзить -вони -вонь -вонью -вонючего -вонючих -воображает -воображаешь -воображал -воображала -воображали -воображать -воображаю -воображают -воображая -воображение -воображением -воображении -воображению -воображения -воображениями -воображениях -вообрази -вообразил -вообразила -вообразили -вообразилось -вообразился -вообразись -вообразит -вообразите -вообразится -вообразить -вообще -вооружался -вооружаться -вооружаясь -вооружений -вооруженная -вооруженный -вооружились -вооружиться -вопил -вопила -вопиющее -вопиющим -вопле -воплей -воплем -вопли -воплотился -воплотить -воплощался -воплощение -воплощенного -вопль -вопля -воплям -воплями -вопреки -вопрос -вопроса -вопросам -вопросами -вопросах -вопросе -вопросик -вопросительно -вопросительного -вопросительные -вопросительный -вопросов -вопросом -вопросу -вопросы -вопрошаю -вопрошающей -вопрошающий -вопрошающих -вопьется -вор -вора -ворвавшись -ворвалась -ворвался -ворвется -воробей -воробушек -воробушка -воров -вороваль -воровать -воровка -воровки -воровских -ворожим -вором -ворон -вороная -воронку -вороны -воронье -воронья -ворот -ворота -воротам -воротами -воротах -вороти -воротившийся -воротившись -воротила -воротилась -воротились -воротилось -воротился -воротись -воротитесь -воротится -воротить -воротиться -воротишь -воротишься -воротник -воротников -воротником -воротничках -воротнички -воротничок -воротясь -воротятся -ворохом -ворочает -ворочается -ворочаешься -ворочал -ворочала -ворочались -ворочало -ворочалось -ворочался -ворочать -ворочаться -ворочающими -ворочаясь -ворочу -ворочусь -ворует -воруете -ворующего -ворча -ворчавшую -ворчал -ворчала -ворчанье -ворчаньем -ворчать -ворчит -ворчишь -ворчливые -ворчу -воры -восемнадцати -восемнадцать -восемь -восемьдесят -восемьсот -воск -воскликнул -воскликнула -восклицал -восклицала -восклицание -восклицанием -восклицании -восклицанию -восклицания -восклицаниями -восклицанья -восклицая -восклоняясь -воскрес -воскресать -воскресение -воскресении -воскресения -воскресенье -воскресенью -воскресенья -воскресеньям -воскресил -воскресила -воскресить -воскресла -воскресло -воскреснет -воскреснув -воскресную -воскресный -воскресных -воскресший -воскресят -воскрешает -воскрешало -вослед -воспаление -воспаления -воспаленно -воспаленного -воспаленный -воспаленным -воспаленных -воспитаешь -воспитался -воспитан -воспитана -воспитание -воспитанием -воспитанию -воспитания -воспитанная -воспитанные -воспитанный -воспитанных -воспитаны -воспитаться -воспитывалась -воспитывался -воспитывать -воспитывая -воспламенившись -воспламенился -воспламенялся -воспользовавшись -воспользовались -воспользовался -воспользоваться -воспользуется -воспоминание -воспоминанием -воспоминании -воспоминаний -воспоминанию -воспоминания -воспоминаниями -воспоминаниях -воспоминанье -воспоминанья -воспоследует -воспрещено -восприимчив -восприимчивая -восприимчивом -восприимчивость -восприимчивый -восприняла -воспринятию -воспроизводится -воспротивиться -воспрянуть -восскорбел -восстав -восставал -восставшего -восстал -восстали -восстанет -восстановил -восстановила -восстановили -восстановить -восстановлен -восстановляло -восстановляя -восстанут -восстанья -востер -восток -востока -восторг -восторга -восторгам -восторгами -восторгаться -восторге -восторги -восторгом -восторженная -восторженно -восторженного -восторженное -восторженность -восторженностью -восторженною -восторженный -восторженным -восторженными -восторженных -восточной -восточный -востреньким -востренькое -востро -востроногий -вострые -вострым -вострыми -восхвалить -восхитительная -восхищался -восхищаться -восхищение -восхищенного -восхищеньи -восходил -восходит -восходить -восходном -восхождения -восьмерка -восьми -восьмидесяти -восьмидесятых -восьмилетнего -восьмого -восьмой -восьмом -восьмому -восьмую -вот -воткнул -воткнут -вотчине -воцарилась -воцарилось -воцаряется -вочеловечить -вошедшая -вошедшего -вошедшему -вошедший -вошедшими -вошедших -вошедшую -вошел -вошла -вошли -вошло -вошь -воюет -воющую -воя -вояж -вояжа -вояжем -вояжирует -впавшими -впадавшего -впадает -впадал -впадала -впадая -впадешь -впал -впала -впали -впасть -впервой -впервые -вперегонку -вперед -впереди -вперяя -вперяясь -впечатление -впечатлении -впечатлений -впечатлению -впечатления -впечатлительное -впечатлительностью -впивался -впиваясь -впилась -впился -вплелись -вплести -вплетаю -вплоть -вповалку -вполглаза -вполголоса -вползает -вползало -вполне -вполовину -вполуоборот -впопад -впопыхах -впору -впоследствии -впотьмах -вправду -вправе -вправо -впредь -впридачу -впрок -впрочем -впрягают -впряжена -впрямь -впускает -впускала -впускать -впустить -впустят -впятеро -вр -враг -врага -врагами -враги -врагини -врагов -врагом -врагу -вражда -враждебно -враждебного -враждебное -враждебную -враждебны -враждебные -враждебными -враждебных -враждой -вражды -вражеским -вражеских -вражий -вражьей -вражьим -враздробь -вразумите -вразумихин -врали -вранье -вранью -врасплох -врать -врач -врача -врачах -врачебному -врачу -вращает -вращается -вращалось -вревской -вред -вреда -вреден -вредить -вредна -вредная -вредно -вредны -вредные -вредных -вредят -врезался -врезывается -врем -времен -времена -временам -временем -времени -временно -временного -временное -временной -временном -временным -временных -времечко -время -врет -врете -врешь -ври -вроде -врожденная -врожденную -врожденных -врозь -вросла -вру -врубелем -врубель -врубеля -врут -врученных -вручил -вручить -врывавшихся -врывается -врывалось -врываясь -врыть -вряд -всажу -все -всеблагое -всевдонимом -всевозможные -всевозможных -всевышнего -всевышнему -всегда -всегдашнее -всегдашний -всегдашним -всегдашнюю -всегдашняя -всего -вседержителя -вседневная -всеевропейской -всезнание -всезнании -всезнающей -всезнающие -всей -вселенная -вселенной -вселенской -вселились -вселился -вселитературно -вселить -вселявшиеся -вселяется -всем -всеми -всемирной -всемирную -всемирный -всему -всенаполняющего -всенародно -всенижайший -всеной -всенощной -всеобщего -всеобщее -всеобщей -всеобщих -всеобъемлемостью -всеоружии -всепоглощающий -всесветными -всесметающая -всесторонней -всеуслышание -всех -всецело -всею -вскакивает -вскакивал -вскакивала -вскакивают -вскакивая -вскачь -вскинув -вскинул -вскинулась -вскинулся -вскинутом -вскинутые -вскипев -вскипевшего -вскипел -вскипело -всклокоченный -всклоченного -вское -всколосится -всколыхнулись -вскользь -вскоре -вскочив -вскочившую -вскочил -вскочила -вскочило -вскочит -вскочишь -вскрикивает -вскрикивала -вскрикивания -вскрикивают -вскрикивая -вскрикнет -вскрикну -вскрикнул -вскрикнула -вскрикнули -вскрикнут -вскрикнуть -вскричал -вскричала -вскружить -вскрывался -вскрывать -вскрылась -вскрыть -всласть -вслед -вследствие -вслух -вслушивается -вслушивалась -вслушивался -вслушиваться -вслушиваясь -всматривается -всматривался -всматриваться -всматриваясь -всплескивая -всплеснув -всплеснул -всплеснула -всплеснулась -всплывало -всплывут -всплыла -вспоенная -всполохнутый -всполошив -всполошился -вспоминаем -вспоминает -вспоминается -вспоминаешь -вспоминай -вспоминайте -вспоминал -вспоминала -вспоминалась -вспоминали -вспоминать -вспоминаю -вспоминая -вспомни -вспомнив -вспомнил -вспомнила -вспомнилась -вспомнили -вспомнились -вспомнилось -вспомнился -вспомнит -вспомните -вспомнить -вспомнишь -вспомню -вспомнят -вспоможение -вспоможении -вспоможения -вспорхнулся -вспотевшее -вспрыгивает -вспрыгнул -вспрянула -вспугнул -вспугнуть -вспухла -вспухшею -вспылив -вспылил -вспыльчива -вспыльчиво -вспыльчивые -вспылю -вспыхивает -вспыхивал -вспыхивала -вспыхивают -вспыхнет -вспыхнув -вспыхнул -вспыхнула -вспыхнули -вспыхнуло -вспыхнуть -вспышкам -вспышки -вспышку -вспять -встав -вставай -вставайте -вставал -вставала -вставали -вставать -вставая -вставил -вставить -вставлял -вставши -вставшие -вставший -встает -встаете -встаешь -встал -встала -встали -встанемте -встанет -встанешь -встану -встанут -встань -встаньте -встарь -встать -встаю -встают -встревожен -встревоженная -встревоженно -встревоженного -встревоженную -встревоженный -встревоженным -встревоженными -встревожившись -встревожилась -встревожило -встревожился -встревожить -встрепанный -встрепенется -встрепенулась -встрепенулись -встрепенулся -встрепенутся -встретив -встретившегося -встретивший -встретившись -встретил -встретила -встретили -встретились -встретилось -встретился -встретимся -встретит -встретите -встретится -встретить -встретиться -встретишь -встретя -встретятся -встреч -встреча -встречавшемуся -встречавшиеся -встречаемся -встречает -встречается -встречаешь -встречал -встречала -встречалась -встречали -встречались -встречалось -встречался -встречать -встречаться -встречах -встречаю -встречаюсь -встречают -встречаются -встречаясь -встрече -встречен -встреченных -встречи -встречного -встречной -встречному -встречные -встречный -встречным -встречных -встречу -встряхивает -встряхну -встряхнул -встряхнулся -встряхнуть -встряхнуться -вступает -вступала -вступаю -вступают -вступая -вступив -вступившая -вступивши -вступил -вступила -вступилась -вступили -вступился -вступить -вступление -вступления -всунув -всунул -всунуть -всхлипнут -всхлипывает -всхлипывал -всхлипывала -всхлипывать -всхлипывая -всходила -всходили -всходить -всю -всюду -вся -всяк -всякая -всякие -всякий -всяким -всякими -всяких -всякого -всякое -всякой -всяком -всякому -всякою -всяку -всякую -всячески -втайне -втащила -втащили -втеснилось -втираться -втихомолку -втолковать -втоптала -вторая -вторгается -вторично -вторичный -вторник -второго -второе -второй -втором -второпях -второстепенную -вторую -вторые -вторым -вторых -втрое -втуне -втыкается -втягивает -втягивание -втягивать -втягивающее -втянет -втянется -втянув -втянул -вуали -вуалью -вулкана -вулканических -вулканической -вход -входа -входе -входи -входившего -входившим -входил -входила -входили -входило -входит -входите -входить -входя -входят -входящие -входящий -входящим -входящих -входящую -вхожу -вцепилась -вцепился -вцепится -вчера -вчерашнего -вчерашнее -вчерашней -вчерашнем -вчерашнему -вчерашние -вчерашний -вчерашним -вчерашних -вчерашнюю -вчерашняя -вчерне -вчетверо -вчуже -вшей -вши -въелась -въелись -въехал -въехали -въехать -вы -выбегает -выбегали -выбежавшего -выбежал -выбежала -выбежали -выбежит -выбежишь -выберет -выберу -выберут -выбивался -выбивая -выбилась -выбирает -выбирай -выбирать -выбираться -выбираю -выбирают -выбирая -выбить -выборам -выборгской -выборгскую -выборе -выборы -выбрав -выбрал -выбрала -выбрали -выбрался -выбран -выбрана -выбрасывает -выбрасывать -выбрать -выбраться -выбрился -выбрит -выбрито -выбритый -выбритыми -выбросил -выбросить -выбрось -выбросьте -выброшенные -выведает -выведать -выведения -выведет -выведешь -выведи -выведу -выведут -вывезенному -вывезенным -вывезти -вывел -вывела -вывели -вывело -вывернул -вывернула -вывернулся -вывернутыми -вывернуться -выверт -вывеска -вывескам -вывески -вывести -выветриваемся -выветрившегося -вывешено -вывод -вывода -выводил -выводили -выводило -выводить -выводов -выводом -выводят -вывожу -вывороти -выворотив -выворотил -выгадаешь -выгадать -выгладит -выглядишь -выглядывавшую -выглядывает -выглядывал -выглядывала -выглядывали -выглядывало -выглядывая -выглянет -выглянув -выглянула -выглянуло -выгнал -выгнали -выгнанная -выгнать -выгнутою -выговаривает -выговаривал -выговаривала -выговаривало -выговаривалось -выговаривать -выговариваться -выговаривая -выговора -выговорив -выговорил -выговорила -выговорилось -выговорить -выговорят -выгода -выгодами -выгодах -выгоднее -выгодно -выгодное -выгодной -выгодном -выгодную -выгоду -выгоды -выгонишь -выгоню -выгоняют -выгорит -выгребла -выдавай -выдавалась -выдавали -выдавались -выдавать -выдавая -выдавилась -выдавливалась -выдадите -выдает -выдаете -выдал -выдала -выдалась -выдали -выданное -выданы -выдаст -выдастся -выдать -выдают -выдаются -выдающеюся -выдвинул -выделанно -выделанным -выделка -выделывать -выделывая -выдергивает -выдержав -выдержал -выдержала -выдержали -выдержать -выдерживает -выдерживал -выдерживаю -выдерживают -выдерживая -выдержит -выдержите -выдержишь -выдержу -выдернул -выдернула -выдохся -выдрал -выдрессированная -выдумав -выдумаем -выдумает -выдумаешь -выдумай -выдумал -выдумала -выдумалась -выдумали -выдуманная -выдумать -выдумка -выдумки -выдумку -выдумок -выдумывал -выдумывала -выдумывать -выдумываю -выдумывают -выдь -выдьте -выедем -выеду -выезда -выездные -выездных -выезжаем -выезжает -выезжаете -выезжал -выезжала -выезжать -выезжают -выехал -выехала -выехали -выехать -выждал -выждать -выжечь -выжжены -выжига -выжидал -выжидая -выжил -выжили -выжимали -выжмет -вызвав -вызвал -вызвала -вызвали -вызвало -вызвался -вызванные -вызвать -выздоравливать -выздоравливаю -выздоравливая -выздоровевший -выздоровеешь -выздоровел -выздороветь -выздоровление -выздоровлению -выздоровления -выздоровлю -вызов -вызова -вызовет -вызывает -вызывала -вызывали -вызывают -вызывающее -вызывающею -вызывающий -вызывающим -вызывая -выиграет -выиграл -выиграна -выиграть -вый -выйдем -выйдемте -выйдет -выйдешь -выйди -выйду -выйдут -выйдя -выйти -выказал -выказана -выказывает -выказывал -выказывались -выказывалось -выказывать -выкатила -выкатились -выкладку -выкладывал -выковывал -выколачивать -выколоти -выколочу -выкопал -выкопать -выкрасили -выкрикивал -выкрикивала -выкричишься -выкупала -выкупила -выкупить -выкупленное -выкупленные -выкуплю -выкуренная -выкуривает -выкурить -выл -выла -вылазки -вылакать -вылез -вылезали -вылезая -вылепленными -вылериановые -вылетали -вылетел -вылетели -вылетело -вылетят -вылечитесь -вылечить -вылечу -вылил -вылитую -вылить -выложи -выложил -выложила -выложит -выложить -вылупила -вылью -вымазав -выманивать -выманила -вымела -вымерло -выметают -вымети -вымолвила -вымолвить -вымочит -вымоют -вымпелами -вымыв -вымыл -вымыла -вымыли -вымылся -вымысла -вымыслом -вымыты -вымытые -вымытый -вымытыми -вымыть -вымыться -вынес -вынесем -вынесенного -вынесет -вынеси -вынесла -вынесли -вынести -вынесу -вынет -вынимает -вынимала -вынимать -вынимая -выносившие -выносил -выносила -выносили -выносились -выносился -выносимая -выносит -выносите -выносить -выношу -вынув -вынудила -вынужденное -вынул -вынула -вынули -вынулось -вынуто -вынутым -вынуть -выпадает -выпадал -выпадала -выпадало -выпадении -выпадет -выпал -выпала -выпали -выпало -выпачкаешь -выпачкался -выпачкан -выпачканного -выпевала -выпевать -выпей -выпейте -выпивает -выпивается -выпивалось -выпивательными -выпивку -выпивши -выпил -выпила -выпили -выпиливает -выписали -выписались -выписать -выписки -выписывал -выписывать -выписываю -выпит -выпита -выпито -выпитого -выпитое -выпитою -выпитым -выпить -выплакав -выплакала -выплакаться -выплакивает -выплатил -выплатится -выплачу -выплеснет -выплыли -выполнит -выправился -выпрашивать -выпроводил -выпросила -выпросили -выпросит -выпросить -выпрошу -выпрыгнули -выпрыгнуть -выпрямилась -выпрямились -выпрямлялась -выпрямляя -выпрямляясь -выпукло -выпуклостию -выпуклою -выпуклую -выпуклые -выпускает -выпускать -выпуская -выпуске -выпустив -выпустил -выпустила -выпустили -выпустит -выпустить -выпустят -выпутаться -выпутывался -выпуча -выпучив -выпучил -выпущен -выпущенные -выпущены -выпущу -выпытает -выпытала -выпытываешь -выпытывала -выпытывая -выпьем -выпьет -выпьешь -выпью -выпьют -выработал -выработалась -выработался -выработанности -выработанные -выработать -выработаться -выработывается -выработывались -выработывалось -выражавшими -выражаете -выражаетесь -выражается -выражал -выражала -выражалась -выражали -выражало -выражалось -выражался -выражать -выражаться -выражая -выражение -выражением -выражений -выражению -выражения -выражениях -выражено -выраженье -выраженьем -выраженьице -выразил -выразила -выразилась -выразились -выразило -выразилось -выразился -выразительная -выразительно -выразительное -выразительные -выразится -выразить -выразиться -вырастало -вырастают -вырастет -вырасти -вырвавшаяся -вырвавшемся -вырвавшею -вырвавшихся -вырвал -вырвала -вырвалась -вырвали -вырвались -вырвалось -вырвался -вырванного -вырвать -вырваться -вырвется -вырву -вырезай -вырезана -вырезать -вырождение -вырождением -вырождения -выронил -выронила -вырос -выросла -выросли -выросло -выросшей -вырубить -выругает -выругать -выручает -выручена -вырученные -выручи -выручил -выручим -выручит -выручки -вырывавшиеся -вырывается -вырывалась -вырывали -вырывались -вырывалось -вырываются -вырывая -высасывал -высасывала -высвободив -высвободил -высвободился -высвобождаете -выселить -выселки -выселков -высечет -высидел -выскабливаешь -выскажет -выскажется -выскажу -выскажусь -высказала -высказалась -высказались -высказался -высказанных -высказать -высказаться -высказываете -высказывается -высказывала -высказывались -высказывало -высказывалось -высказывать -высказываться -высказываю -высказываясь -выскользало -выскользнули -выскочившего -выскочил -выскочила -выскочит -выскочить -выскочке -выскочки -выскребывались -выслали -выслать -выслежу -выслужил -выслужиться -выслушав -выслушает -выслушаете -выслушайте -выслушал -выслушала -выслушать -выслушивал -выслушивали -высматривал -высматривать -высматривая -высморкается -высморкался -высмотреть -высовывалась -высок -высокая -высокенькая -высокенькие -высоки -высокие -высокий -высоким -высокими -высоких -высоко -высокоблагородие -высокого -высокое -высокой -высоком -высокомерием -высокомерия -высокомерно -высокомерного -высокомерные -высокомерный -высокомерным -высокому -высокопарные -высокородие -высокоуважаемая -высокую -высоте -высоту -высоты -высох -высохла -высохли -высохло -высохшем -высохшею -высочайшей -высочайшим -выспался -выспится -высплюсь -выспросил -выставив -выставил -выставила -выставилась -выставили -выставит -выставлена -выставлены -выставлю -выставляется -выставлял -выставлять -выстоять -выстрадав -выстрадал -выстрел -выстрелив -выстрелила -выстрелить -выстрелишь -выстрелю -выстриженными -выстроен -выстроить -выступал -выступать -выступают -выступившей -выступившие -выступившими -выступил -выступила -выступили -выступить -выступление -высунув -высунулась -высунуть -высушила -высушит -высчитал -высшего -высшее -высшей -высшему -высший -высших -высшую -высылают -высыпает -высыпал -высыпали -высь -вытараща -вытаращены -вытаращив -вытаращил -вытаращила -вытаскивает -вытаскивала -вытаскивать -вытаскивая -вытащена -вытащил -вытащила -вытащим -вытащите -вытащить -вытащу -вытер -вытерла -вытерпел -вытерпела -вытерпели -вытерпеть -вытерпит -вытерпливающего -вытерплю -вытирает -вытирать -вытирая -вытолкай -выторговать -выточен -выточена -выточенными -выточилась -выть -вытягиваться -вытягивая -вытягушкин -вытянет -вытянув -вытянул -вытянулись -выудить -выученного -выучи -выучивал -выучил -выучила -выучилась -выучился -выучиться -выучку -выучу -выхватив -выхватил -выхватила -выхлопотанной -выхлопотать -выхлопочет -выход -выхода -выходе -выходи -выходившая -выходившем -выходившему -выходивших -выходил -выходила -выходили -выходило -выходим -выходит -выходите -выходить -выходишь -выходками -выходке -выходкой -выходку -выходной -выходов -выходом -выходу -выходя -выходят -выходящего -выходящее -выходящие -выхожу -выцвело -выцветшим -выцветших -вычеркнуть -вычертил -вычета -вычетом -вычинила -вычислять -вычистить -вычитал -вычитание -вычитанные -вычитают -вычитывая -вычищенную -вычищенный -вычищенных -вычищены -вышвырнул -выше -вышедшего -вышедши -вышедший -вышедшую -вышел -вышесказанными -вышеупомянутою -вышиб -вышивает -вышиваньем -вышивая -вышине -вышитыми -вышла -вышлем -вышли -вышло -вышлю -выщипала -выяснения -выяснилась -выяснилось -выясняться -вьется -вьюг -вьюга -вьюгам -вьюге -вьюги -вьюгой -вьюн -вьются -вьющимися -вьющихся -вяжет -вяжутся -вяз -вязанки -вязанная -вязать -вяземского -вязка -вязниковых -вязнут -вязь -вялая -вяло -вялого -вялой -вялою -вялый -вялым -вялыми -вянут -вячеславу -г -га -гавана -гавани -гаванской -гаврилович -гавриловича -гавриловичу -гаврилыч -гаврилыча -гаврилычу -гаги -гадай -гадал -гадала -гаданьи -гадать -гадают -гадая -гаденькая -гадки -гадкий -гадко -гадкое -гадкой -гадкую -гадов -гадок -гадостны -гадость -гадят -гаев -гаева -гаеве -гаеву -гаже -газели -газет -газета -газетам -газетах -газете -газетку -газетной -газетную -газетный -газетой -газету -газеты -газом -газы -гайдамаков -галатея -галдеж -галдели -галерее -галереей -галереи -галерею -галерея -галереях -галилея -галицийских -галка -галла -галлереи -галлы -галлюсинацию -галлюцинации -галстук -галстука -галстуке -галстучек -галчат -гам -гамбринусе -гамлет -гамлета -гамлетовского -гамом -гаму -ганц -гарантировали -гари -гармонией -гармонии -гармоника -гармонике -гармоники -гармоникой -гармонировавшие -гармонировал -гармонировало -гармонического -гармония -гарнитур -гарнитуром -гарпагон -гаруса -гарью -гаси -гасил -гасли -гасло -гаснет -гасну -гаснул -гаснут -гаснуть -гаснущая -гастроном -гастрономической -гастрономическом -гатей -гатчинских -гвалт -гвоздем -гвозди -гвоздиками -гвоздичку -гвоздочками -гвоздь -гвоздями -гг -где -ге -гедрюкт -гей -гелиотропом -гельд -геморрой -генерал -генерала -генералишка -генералишку -генералов -генералом -генералу -генералы -генеральские -генеральский -гениальной -гениальности -гениальные -гениальный -гениальным -гением -гении -гений -генриет -генуя -географической -географию -география -геологические -геометра -геометрия -георгий -герани -геранью -геранями -герасимович -герасимовича -герасимовичу -герасимыч -герасимычу -гербовая -гербовой -гербовыми -гердера -геркулан -геркулесовыми -германии -германию -германские -героев -героем -героинь -герой -геройски -геройства -герою -героя -герр -гертруды -герца -герцом -гершеля -гете -гиацинты -гибели -гибель -гибельно -гибельной -гибельный -гибелью -гибки -гибли -гибнет -гибнешь -гибну -гибнут -гибнуть -гибок -гигантской -гиганты -гимн -гимна -гимназии -гимназист -гимназистами -гимназическом -гимназию -гимнастика -гимнастикой -гимнастику -гимны -гиппиус -гирлянды -гиря -гитара -гитаре -гитарные -гитарой -гитару -глав -глава -главе -главная -главнейшая -главнейшего -главнейшие -главнейшим -главнейших -главного -главное -главной -главном -главною -главную -главные -главный -главным -главных -главой -главу -главы -глагол -глади -гладиатор -гладил -гладила -гладит -гладить -гладкие -гладкий -гладко -гладковыбритым -гладкой -гладкую -гладь -гладьте -глаженье -глаз -глаза -глазам -глазами -глазах -глазела -глазенками -глазеночками -глазеющих -глазея -глазищи -глазками -глазки -глазок -глазом -глазу -глас -гласила -гласное -гласности -гласом -гласят -глашатаи -глин -глиной -глину -глины -глиняной -глиняный -глиняными -глиссе -глобус -гложет -гложут -глотает -глотками -глотков -глотку -глотнул -глоток -глохнут -глубже -глуби -глубина -глубине -глубиной -глубину -глубины -глубок -глубока -глубокая -глубоки -глубокие -глубокий -глубоким -глубоких -глубоко -глубокого -глубокое -глубокой -глубоком -глубокомысленно -глубокомысленное -глубокую -глубочайшего -глубочайшее -глубочайшем -глубочайшие -глубь -глумитесь -глуп -глупа -глупая -глупее -глупей -глупейшего -глупейшею -глупейшие -глупейшими -глупенькие -глупенькое -глупо -глуповат -глуповатый -глупого -глупое -глупой -глупом -глупому -глупопоспешной -глупостей -глупости -глупостию -глупость -глупостью -глупостям -глупостях -глупою -глупую -глупца -глупы -глупые -глупый -глупым -глупыми -глупых -глух -глуха -глухари -глухая -глухи -глухие -глухим -глухими -глухих -глухо -глухого -глухое -глухой -глухом -глухонемая -глухота -глухую -глуше -глуши -глушит -глушь -глыба -глыбам -глядевшему -глядел -глядела -глядели -глядеть -гляди -глядись -глядит -глядите -глядится -глядишь -глядь -глядя -глядясь -глядят -глядящий -гляжу -гляжусь -глянет -глянец -глянув -глянул -глянула -глянцевитой -гм -гнал -гнала -гнать -гнев -гнева -гневается -гневайся -гневаться -гневно -гневной -гневность -гневный -гневными -гневом -гневу -гнедой -гнезд -гнезда -гнездится -гнездо -гнет -гнета -гнетет -гнетете -гнетом -гнешь -гниения -гниет -гниешь -гнилого -гнилое -гнилой -гнилом -гнилую -гнилыми -гниль -гнилью -гнусавой -гнусно -гнусное -гнусном -гнусному -гнусность -гнусные -гнусный -гнусным -гнусными -гнусных -го -говеть -говор -говоренного -говорено -говори -говорившего -говорившие -говоривших -говорившую -говорил -говорила -говорили -говорило -говорилось -говориль -говорим -говорит -говорите -говорится -говорить -говориться -говоришь -говорю -говоря -говорят -говорящ -говорящее -говорящей -говорящие -говорящий -говорящим -говорящих -говядина -говядиной -говядину -говядины -гоголевский -гоголя -год -года -годам -годами -годах -годен -годика -година -годину -годится -годичный -годишься -годной -годные -годов -годовой -годовщиной -годовым -годом -годочек -году -годы -годятся -голая -голгофу -голи -голиков -голландская -голландских -голландцем -голо -голов -голова -головами -головах -голове -головка -головке -головку -головлей -головного -головной -головном -головною -головную -головные -головных -головой -головокружений -головою -голову -головушка -головы -голод -голода -голоден -голодная -голодно -голодного -голодное -голодной -голодному -голодные -голодный -голодных -голоду -голой -голос -голоса -голосами -голосе -голосил -голосила -голосистый -голоском -голосов -голосок -голосом -голосу -голосят -голубая -голубиная -голубиную -голубка -голубоватый -голубоватым -голубое -голубой -голубом -голубоокий -голубою -голубушка -голубую -голубчик -голубые -голубым -голубыми -голубых -голубь -голубятни -голубятню -голую -голы -голые -голый -голым -голыми -голых -голь -гольштейн -гом -гомера -гомеридами -гомозится -гомозиться -гонга -гондол -гондоле -гонение -гонений -гони -гоним -гонима -гонимого -гонимый -гонимых -гонит -гоните -гонорарий -гончаров -гонявшийся -гоняется -гоняла -гонялся -гонят -гонять -гоп -гор -гора -горазд -гораздо -горам -горами -горах -горбатая -горбиться -горд -горда -гордая -горделиво -гордилась -гордились -гордился -гордится -гордиться -гордо -гордого -гордой -гордом -гордому -гордости -гордостию -гордость -гордостью -гордою -горды -гордые -гордый -гордым -гордыне -гордых -гордясь -гордятся -гордячка -горе -горевал -горевать -горевший -горевшим -горел -горела -горели -горелки -горело -горем -горемыка -горение -горением -горенки -горенье -горестно -горестное -горестной -горестью -горестях -гореть -горечи -горечь -горечью -горжусь -гори -горизонт -горизонта -горизонтально -горизонте -горизонтом -горизонты -гористую -горит -горке -горла -горланили -горланит -горле -горло -горловую -горлом -горлу -горлышко -горний -горнист -горниста -горницу -горницы -горничная -горничной -горничных -горном -горный -горным -горными -город -города -городам -городах -городе -городите -городишке -городишко -городишком -городке -городничего -городничий -городового -городовой -городовому -городовые -городок -городом -городская -городского -городское -городской -городском -городскую -городу -городят -горой -гороскоп -горох -горохе -гороховой -гороховую -гороховый -горохом -гороху -горошек -горошина -горошком -горсточку -горстью -гортани -гортанные -гору -горчица -горше -горшками -горшки -горшков -горшочки -горы -горькая -горькие -горький -горьким -горьких -горько -горькой -горьком -горькою -горькую -горю -горюй -горюнова -горюновы -горюновым -горючей -горючий -горючими -горя -горят -горяча -горячась -горячая -горячего -горячей -горячему -горячешных -горячею -горячившегося -горячие -горячий -горячил -горячились -горячился -горячим -горячими -горячись -горячится -горячих -горячишься -горячка -горячке -горячки -горячку -горячности -горячо -горячусь -горячую -горящее -горящей -горящий -горящим -горящими -госпитале -госпитальный -госпитальных -господ -господа -господам -господах -господи -господин -господина -господине -господином -господину -господним -господня -господняя -господом -господская -господский -господского -господской -господствовавшей -господствовала -господствующею -господствующие -господствующим -господу -господь -госпожа -госпожам -госпоже -госпожи -госпожинок -госпожой -госпожу -гостей -гостем -гостеприимном -гостеприимный -гости -гостивший -гостила -гостиная -гостинец -гостиница -гостинице -гостиницу -гостиницы -гостиного -гостиной -гостиную -гостинцу -гостинцы -гостиный -гостиных -гостит -гостить -гость -гостья -гостю -гостя -гостям -гостями -гостях -государственная -государственное -государственный -государственным -государственных -государыня -государь -государю -гот -готов -готова -готовая -готовившиеся -готовившийся -готовил -готовила -готовилась -готовили -готовились -готовился -готовит -готовитесь -готовится -готовить -готовиться -готовлюсь -готовность -готово -готового -готовое -готовой -готовом -готовую -готовы -готовые -готовый -готовыми -готовь -готовясь -готовят -готовятся -готовящегося -гофкригсрат -гр -грабеж -грабежа -грабежах -грабеже -грабежей -грабежом -грабил -грабит -грабителя -грабят -гравюр -гравюры -град -граденаплем -градирен -градуса -градусник -градусов -градусы -грады -гражданин -гражданина -гражданские -гражданский -гражданских -гражданской -гражданском -гражданскому -грамматике -грамматику -грамота -грамотеи -грамотность -грамотный -грамотных -грамоты -гранат -грандиозного -грандиозное -грандиозные -грани -гранит -гранитные -границ -граница -границей -границею -границу -границы -гранпасьянс -графа -графин -графина -графине -графини -графинина -графином -графинчик -графов -графский -графского -графской -графскому -графу -графы -грации -грациозно -грациозности -грациозную -грациозны -грациозный -грация -гребенки -гребенку -гребень -греет -грез -греза -грезами -грезах -грезил -грезилась -грезилось -грезит -грезится -грезить -грезишь -грезы -грезятся -гремел -гремела -гремело -гремит -гренадера -гренадеры -греть -грех -греха -грехам -грехе -грехи -грехов -греховной -греховные -грехом -гречневой -гречонка -грешен -греши -грешили -грешить -грешник -грешница -грешницу -грешно -грешной -грешную -грешные -грешный -грибами -грибов -грива -гривен -гривенник -гривенниками -гривенники -гривнами -гривне -гривну -гривны -григория -григорьевич -григорьевича -григорьевичем -гримасой -гримасу -гриф -гриша -гриши -гроб -гроба -гробам -гробах -гробе -гробниц -гробницей -гробов -гробовая -гробовой -гробовою -гробовые -гробом -гробу -гроз -гроза -грозе -грозил -грозила -грозило -грозим -грозись -грозит -грозится -грозишь -грозная -грозней -грозно -грозное -грозной -грозном -грозному -грозны -грозные -грозный -грозным -грозных -грозовая -грозовой -грозовые -грозовых -грозой -грозы -грозя -грозясь -грозят -грозящие -гром -грома -громад -громада -громаднейшего -громадного -громадное -громадной -громадном -громадную -громадные -громадный -громадным -громадных -громам -громами -громит -громкая -громкий -громким -громкими -громко -громкое -громком -громовая -громовой -громовые -громовым -громоздить -громоздкий -громоздко -громом -громче -громыханье -громя -грот -грохнулась -грохнулся -грохольского -грохот -грохотом -грош -гроша -грошей -грошик -грошовый -грошовых -гру -груб -груба -грубая -грубее -грубеешь -грубейшим -грубить -грубиян -грубиянит -грубо -грубоват -грубовато -грубого -грубое -грубой -грубом -грубости -грубостию -грубость -грубостью -грубою -грубые -грубый -грубым -грубыми -грубых -грудами -грудах -груде -груди -грудная -грудной -грудные -грудных -грудой -груду -груды -грудь -грудью -груз -груза -грузди -грунт -группа -группами -группы -грустен -грусти -грустим -грустит -грустишь -грустная -грустнее -грустно -грустного -грустное -грустной -грустном -грустною -грустную -грустные -грустный -грустным -грустных -грусть -грустью -грустя -грустят -груше -грушевой -груши -грущу -грызет -грызла -грызло -гряд -грядами -грядущего -грядущее -грядущей -грядущем -грядущие -грядущий -грядущим -грядущих -гряды -грязи -грязна -грязная -грязно -грязное -грязной -грязном -грязнотцой -грязною -грязную -грязны -грязные -грязный -грязными -грязных -грязня -грязь -грязью -грянет -грянул -грянулась -грянули -грянуло -губ -губа -губам -губами -губах -губернатор -губернатора -губернаторе -губернатором -губернаторстве -губернатору -губернии -губерний -губернию -губерния -губерниям -губернский -губернским -губернских -губернского -губернском -губил -губили -губите -губительнее -губительный -губительных -губить -губишь -губка -губки -губкой -губой -губок -губу -губы -губят -гувернантка -гувернантках -гувернантки -гувернанткой -гудел -гудело -гудки -гудут -гуды -гул -гуле -гулкий -гулом -гульбе -гуляет -гулякой -гулял -гуляла -гуляли -гулянье -гуляньями -гулять -гуляю -гуляют -гуляющей -гуляя -гумаге -гумагу -гуманистический -гуманитетом -гуманная -гуманно -гуманного -гуманном -гуманности -гуманные -гуманный -гуммиластик -гунял -гурьбой -гусак -гусаки -гусар -гусара -гусарские -гусарское -гусей -гуси -гусиных -густая -густейшими -густо -густой -густоту -густою -густые -густым -густыми -гусыни -гуся -гущей -гюго -д -да -дав -давай -давайте -давал -давала -давалася -давали -давался -давать -давая -даве -давеча -давешнего -давешнее -давешней -давешнему -давешний -давешних -давешнюю -давешняя -давившее -давившей -давила -давило -давит -давить -давка -давке -давлением -давней -давненько -давнишнее -давнишней -давнишние -давнишний -давнишних -давнишнюю -давно -давным -давняя -давя -давящим -дагестана -дадим -дадите -дадут -дает -даете -дается -даже -дай -дайте -дал -дала -далась -далее -далей -далек -далека -далекая -далекие -далекий -далеким -далеких -далеко -далекое -далекой -далеком -далекую -далече -дали -дались -дало -далось -дался -даль -дальнего -дальней -дальнейшего -дальнейшее -дальнейшей -дальнейшем -дальнейшему -дальнейшею -дальнейшие -дальнейших -дальнему -дальние -дальний -дальних -дальный -дальня -дальняя -дальше -далью -дам -дама -дамам -дамами -дамах -даме -дамой -дамою -дамские -дамскую -дамся -даму -дамы -дана -данного -данное -данному -данную -данным -дано -дант -данта -дантово -дань -дар -дарами -дарвина -дареную -дарил -дарить -дармоедка -дармоедом -даров -дарований -дарования -даровщинку -даром -дарь -дарье -дарьи -дарья -дарят -даст -дать -дач -дача -дачами -дачах -даче -дачей -дачи -дачник -дачники -дачников -дачном -дачные -дачу -дашенька -дашеньки -дашеньку -дашь -даю -дают -два -двадцати -двадцатилетней -двадцатирублевые -двадцатисемилетний -двадцатый -двадцать -двадцатью -дважды -две -двенадцати -двенадцатого -двенадцатом -двенадцатую -двенадцатый -двенадцать -двенадцатью -дверах -дверей -дверец -двери -дверными -дверь -дверьми -дверью -дверям -дверями -дверях -двести -двигавшимся -двигает -двигается -двигал -двигалась -двигали -двигались -двигалось -двигался -двигатель -двигателя -двигать -двигаться -двигают -двигая -двигаясь -движение -движением -движении -движений -движению -движения -движениях -движенье -движеньем -движенья -движеньях -движет -движется -движешься -движимости -движимый -движись -движутся -движущее -движущееся -движущиеся -движущихся -двинется -двинулась -двинули -двинулись -двинулся -двинутся -двинуть -двинуться -двое -двоеверьем -двои -двоим -двоих -двойку -двойник -двойной -двойные -двойным -двойных -двор -двора -дворам -дворах -дворе -дворец -дворик -дворне -дворней -дворни -дворник -дворника -дворнике -дворники -дворников -дворникова -дворником -дворнику -дворницкой -дворницкую -дворню -дворня -дворняжка -дворняжки -дворов -дворовый -двором -двору -дворца -дворце -дворцовой -дворцовым -дворцы -дворян -дворяне -дворянин -дворянина -дворянке -дворянки -дворянская -дворянские -дворянский -дворянскими -дворянского -дворянской -дворянском -двугривенного -двугривенные -двугривенный -двугривенных -двукратного -двуличного -двум -двумя -двусмысленного -двусмысленности -двусмысленную -двусмысленных -двух -двухкопеечника -двухмачтовый -двухминутной -двухнедельное -двухчасовое -двухэтажном -де -дебаркадера -дебатирован -дебош -дебютировала -дев -дева -деваешь -девал -девам -девать -деваться -деверь -девизами -девиц -девица -девицами -девицах -девице -девицей -девицу -девицы -девически -девические -девический -девического -девической -девичий -девичьего -девичьей -девичьем -девичью -девка -девкам -девке -девки -девкой -девой -девок -девочек -девочка -девочкам -девочками -девочке -девочки -девочкой -девочку -девственна -девственного -девственное -девственность -девушек -девушка -девушке -девушки -девушкой -девушку -девчонка -девчонки -девчонку -девчоночку -девчурочка -девы -девяносто -девяти -девятнадцатый -девятнадцать -девятого -девятом -девятый -девятым -девять -девятьсот -деготь -дегтем -дед -деда -дедах -дедов -дедом -деду -дедушка -дедушке -дедушки -деды -дезертировать -действенный -действие -действием -действий -действительная -действительнее -действительно -действительной -действительности -действительность -действительностью -действительные -действительный -действительным -действительных -действия -действиях -действйтельности -действовал -действовало -действовать -действует -действуют -действующие -действуя -декабре -декабрь -декабрьский -декабря -декадент -декадентах -декадентский -декадентское -декан -декламирует -декламируете -декламируя -декларируя -декорации -декораций -декорация -дел -дела -делаем -делает -делаете -делается -делаешь -делай -делайте -делал -делала -делалась -делали -делались -делалось -делаль -делам -делами -делась -делать -делах -делаю -делаюсь -делают -делающим -делая -делаясь -деле -деления -делец -деликатен -деликатная -деликатнейшим -деликатно -деликатности -деликатный -деликатным -деликатными -делила -делился -делись -делит -делишкам -делишки -дело -деловая -деловитости -деловитость -делового -деловой -деловую -деловые -деловым -деловых -делом -делось -делу -делывал -дельное -дельному -дельный -дельцам -дельце -дельцу -дементьева -демисезон -демка -демон -демона -демонизм -демонов -демонологии -демоном -демонским -демонстрации -денег -денежного -денежной -денежные -денежный -денек -денем -дение -денницу -денно -дену -денщик -денщиков -денщику -день -деньгам -деньгами -деньгах -деньги -деньжонки -денька -деньские -деньской -департамент -департамента -департаментах -департаменте -депутата -депутатами -депутатов -депутаты -дер -дергает -дергайте -дергала -дергали -дергать -дергая -дерев -дерева -дереве -деревенели -деревенская -деревенские -деревенский -деревенскими -деревенских -деревенского -деревенское -деревенской -деревень -деревеньках -деревне -деревней -деревни -деревню -деревня -деревням -дерево -деревом -дереву -деревушку -деревцо -деревьев -деревья -деревьям -деревьями -деревьях -деревянная -деревянное -деревянной -деревянною -деревянную -деревянные -деревянный -деревянным -деревянными -деревянных -дерем -дерет -держа -державный -держал -держала -держалась -держали -держалось -держась -держат -держать -держаться -держи -держим -держись -держит -держите -держится -держишь -держу -дерзкие -дерзкий -дерзким -дерзких -дерзко -дерзкого -дерзкой -дерзкую -дерзок -дерзостей -дерзости -дерзостно -дерзостные -дерзость -дерзостью -дери -дериганов -дернет -дернул -дернула -дернули -дернуло -дернуть -дерутся -десертом -дескать -десницей -деспот -деспотизм -деспотически -деспотическому -десяти -десятилетнею -десятилетнюю -десятин -десятине -десятину -десятирублевую -десятирублевый -десятка -десятки -десятков -десятого -десятое -десятом -десятую -десятый -десять -детали -детей -дети -детками -детки -деток -деточек -деточка -деточки -детская -детски -детские -детский -детским -детскими -детских -детского -детское -детской -детском -детскому -детскою -детскую -детства -детстве -детство -деть -детьми -деться -детям -детях -дешевле -дешево -дешевую -дешевый -деятелен -деятели -деятельная -деятельно -деятельности -деятельность -деятельностью -деятельною -деятельные -деятельным -джентльмен -джентльмена -джентльменничанье -джентльменски -джентльмены -ди -диалектики -диапазона -диван -дивана -диванам -диване -диванов -диваном -дивану -диванчик -диваны -дивизионно -дивились -дивился -дивись -дивитесь -дивиться -дивлюсь -дивная -дивно -дивное -дивную -дивные -дивный -дивным -диво -диву -дивясь -дикарь -дикая -дикие -дикий -диким -дико -диковина -дикого -дикое -дикой -диком -дикости -дикость -дикою -диктовала -диктовать -диктовку -диктует -дикую -дилетантизма -дилижанс -динамит -диораме -диплом -дипломат -дипломатическим -дипломаты -директор -директора -директрисы -дирижера -диск -диссертацией -диссонанс -дитюся -дитя -дифтерит -дичей -дичи -дичившийся -дичь -диэта -дланью -длилась -длились -длилось -длился -длинная -длиннее -длиннейшим -длинно -длинноволосый -длинного -длинное -длинной -длинному -длинною -длинную -длинны -длинные -длинный -длинным -длинными -длинных -длиной -длину -длится -для -длятся -дмитриев -дмитрием -дмитрий -дмитрия -дна -дне -дневная -дневник -дневника -дневного -дневное -дневной -дневном -дневному -дневных -дней -днем -дни -днища -дно -дном -дню -дня -дням -днями -днях -до -добавил -добавила -добежав -доберусь -добиваешься -добивай -добивались -добивался -добиваться -добиваются -добилась -добился -добирается -добирались -добирался -добираясь -добиться -доблести -доблестно -доблестях -добр -добра -добрался -добраться -добрая -добре -добрее -добрей -добрейший -добрели -добренький -добреющий -добро -добровольно -добровольную -доброго -добродетели -добродетель -добродетельна -добродетельная -добродетельно -добродетельного -добродетельной -добродетелям -добродетелями -добродушием -добродушнейшим -добродушно -добродушного -добродушное -добродушным -доброе -доброй -добролюбов -добром -доброму -добросовестная -добросовестный -доброте -добротой -доброту -доброты -доброю -добру -добрую -добры -добрые -добрый -добрым -добрыми -добрыни -добрынин -добрых -добряк -добудет -добываемых -добываете -добывал -добывали -добывание -добыванья -добывать -добываю -добывают -добывающим -добывая -добыл -добытые -добыть -добычу -добьется -добьюсь -добьют -довариваете -доварит -доведенные -доведенных -доведены -доведете -доведите -доведу -довез -довезем -довезу -довел -довела -довели -доверенности -доверенность -доверенностью -доверии -доверилась -доверителю -довериться -доверия -доверчив -доверчива -доверчиво -доверчивого -доверчивой -доверчивости -доверчивость -доверчивостью -доверчивый -довершению -доверши -довершили -доверьтесь -доверявшего -доверял -доверялась -доверялся -доверясь -доверяю -доверяя -довести -доводами -доводил -доводит -доводить -доводишь -доводы -доволен -довольна -довольно -довольны -довольный -довольным -довольных -довольства -довольство -довольствовался -довольством -довоспиталась -доврались -довремся -догадавшись -догадается -догадалась -догадался -догадаться -догадаются -догадка -догадками -догадках -догадки -догадок -догадывалась -догадывался -догадываюсь -догадываясь -доглядит -догматы -догнав -догнал -догнала -договариваешь -договаривала -договаривали -договаривать -договаривая -договорил -договорила -договорилась -договорились -договорился -договорить -догонишь -догонял -догонять -догоняют -догоравшего -догоравший -догорает -догорал -догорала -догоревшей -догорел -догорим -доделал -додумалась -додумался -додумывался -доедаем -доедали -доедешь -доеду -доел -доели -доехали -доехать -дожа -дождавшись -дождалась -дождался -дождаться -дождевом -дождевою -дождевые -дождей -дождем -дождемся -дождется -дождешься -дожди -дождик -дождичек -дождливую -дождливых -дождь -дождю -дождя -дождями -дожей -дожив -доживает -доживал -доживать -доживающая -доживем -дожидается -дожидался -дожидаться -дожидаюсь -дожидаются -дожидаясь -дожил -дожила -дожить -дозваться -дозволение -дозволили -дозвольте -дозволю -дозволяется -дозвонишься -доискался -доискивался -доискиваться -доить -доищусь -дойдем -дойдет -дойдешь -дойду -дойдут -дойдя -доймут -дойти -дока -докажет -докажете -докажу -доказав -доказал -доказала -доказали -доказана -доказано -доказательств -доказательства -доказательство -доказательством -доказать -доказывает -доказываете -доказывается -доказывал -доказывали -доказывалось -доказывать -докам -доканчивает -доканчивай -доклад -доклада -докладах -докладную -докладом -докладу -докладывает -докладывал -докладывать -докликался -доколе -доконал -доконало -докончив -докончил -докончить -доктор -доктора -доктором -докторской -доктору -доктрин -документ -документа -документам -документы -докучливого -докучливых -докучной -докучным -дол -долг -долга -долгая -долге -долги -долгие -долгий -долгим -долгих -долго -долгов -долговой -долговом -долговременной -долговременную -долговязо -долгого -долгогривых -долгое -долгожданный -долгой -долголетний -долгом -долгу -доле -долее -долетал -долетают -долетели -должен -должна -должником -должно -должностей -должности -должность -должны -должным -должок -доли -долин -долинам -долинах -долине -долинный -долины -долог -доложил -доложили -доложился -доложить -долой -долу -долы -дольнего -дольше -долю -доля -дом -дома -домам -домами -домах -домашнего -домашнее -домашней -домашнем -домашнему -домашние -домашний -домашним -домашними -домашних -домашнюю -домашняя -доме -домелю -домик -домика -домики -домов -домовитой -домового -домовой -домовому -домовый -домой -домом -домоседа -домоседы -домохозяйка -дому -домчавшись -домчался -домчимся -домы -дон -донельзя -донес -донесем -донесение -донесению -донесет -донеси -донесла -донесли -донести -донесу -донжуаны -донизу -донна -доннерветтеров -доном -донос -доноса -доносилась -доносились -доносился -доносится -доносить -доносу -доносы -доносятся -доношу -донского -донцем -доныне -допечет -допивая -допилась -дописать -дописывает -дописывать -допитый -доплыл -доподлинно -дополнения -дополняет -дополняла -допотопных -допрашиваемого -допрашивает -допрашивайся -допрашивал -допрашивала -допрашивались -допрашивать -допрашивающих -допрос -допроса -допросах -допросика -допросим -допросить -допроситься -допросишься -допросов -допросчика -допросы -допрошу -допускает -допускаете -допускается -допускай -допускал -допускали -допускалось -допускать -допускаю -допустил -допустила -допустили -допустим -допустит -допустить -допущу -допытывались -допьяна -допятилась -дорисовывать -дорн -дорна -дорном -дорну -дорог -дорога -дорогам -дорогами -дорогах -дорогая -дороге -дороги -дорогие -дорогим -дорогих -дорого -дороговизне -дорогое -дорогой -дорогом -дорогою -дорогу -дорогую -дородный -дорожа -дорожат -дороже -дорожил -дорожили -дорожит -дорожите -дорожка -дорожке -дорожки -дорожкой -дорожку -дорожная -дорожное -дорожной -дорожном -дорожному -дорожные -дорожный -дорожу -досада -досаде -досадливо -досадливого -досадно -досадный -досадовал -досадой -досаду -досадую -досадуя -досады -досаждают -досаждающее -доселе -доселева -доска -досказал -досказала -досказано -досказать -доскам -доскачет -доске -доски -досконально -доскою -доску -доследить -дослушал -дослушала -дослушали -дослушивает -дослушивать -досмеивался -досок -доспех -доставай -доставал -доставала -доставало -доставалось -доставался -доставать -доставаться -доставил -доставили -доставит -доставить -доставляет -доставлял -доставляло -доставшейся -доставшихся -доставшуюся -достает -достается -достал -достала -достали -достались -достало -досталось -достался -достанет -достанется -достанешь -достану -достанут -достанутся -достань -достатком -достаточная -достаточно -достаточном -достаточными -достать -достают -достаются -достающеюся -достиг -достигаешь -достигал -достигали -достигало -достигают -достигли -достигло -достигнет -достигнешь -достигну -достигнув -достигнутого -достигнуть -достижении -достичь -достодолжного -достоевский -достоин -достоинств -достоинства -достоинствами -достоинстве -достоинство -достоинством -достоинству -достойная -достойней -достойнейшей -достойно -достойное -достойной -достойный -достойным -достойных -достояньем -достроил -достроился -дострочу -доступ -доступна -доступной -доступном -доступны -доступных -достучался -досуги -досчитал -дотащился -дотащиться -дотла -дотоле -дотолкалась -дотрогиваясь -дотронется -дотронулся -дотягивает -дотянет -дотянешь -дотянул -дотянуть -доучился -дохленьких -дохнет -дохнул -дохнула -дохнут -дохнуть -доход -дохода -доходил -доходила -доходили -доходило -доходит -доходов -доходу -доходцу -доходы -доходя -доходят -доцента -дочел -дочерей -дочери -дочерью -дочерях -дочесть -дочиста -дочитав -дочитала -дочитать -дочитывал -дочитывали -дочитывать -дочка -дочке -дочки -дочку -дочла -дочли -дочь -дошедшее -дошедшие -дошел -дошила -дошла -дошли -дошло -дощечка -дощечке -дощечки -дощечку -драгоценнейшие -драгоценнейший -драгоценно -драгоценное -драгоценность -драгоценные -драгоценный -драгоценным -драгоценных -драгунские -драдедамовой -драдедамовом -драдедамовый -дразни -дразнил -дразнила -дразнили -дразнит -дразните -дразнить -дразнишь -дразня -дразнят -драка -драке -драки -дракон -драку -драл -драли -дрались -дрался -драма -драмы -дранье -драньем -драпированы -драпировка -драпируется -драпируюсь -драпри -драть -драться -дребедень -дребезжащему -дребезжащим -древ -древен -древесных -древко -древнее -древней -древнейших -древнем -древни -древние -древний -древних -древности -дремал -дремать -дремлет -дремлется -дремлешь -дремлю -дремлют -дремлющей -дремлющим -дремлющими -дремлющую -дремные -дремота -дремоте -дремотные -дремотой -дремоту -дремоты -дрему -дремучий -дремучих -дроби -дробил -дробились -дробный -дров -дрова -дровами -дрогнет -дрогнувшие -дрогнувших -дрогнул -дрогнула -дрогнули -дрогнуло -дрожа -дрожавшее -дрожавшей -дрожавшею -дрожавшие -дрожавших -дрожавшую -дрожал -дрожала -дрожали -дрожало -дрожаньем -дрожат -дрожать -дрожащая -дрожащей -дрожащею -дрожащим -дрожащими -дрожащую -дрожек -дрожи -дрожит -дрожите -дрожишь -дрожки -дрожу -дрожь -дрожью -друг -друга -другая -друге -другие -другим -другими -других -другого -другое -другой -другом -другому -другою -другу -другую -дружб -дружба -дружбе -дружбой -дружбу -дружбы -дружелюбно -дружелюбной -дружески -дружеский -дружеским -дружескими -дружеских -дружеского -дружеской -дружескому -дружескую -дружества -дружественные -дружественным -дружил -дружился -дружить -дружище -дружке -дружкой -дружна -дружно -дружной -дружном -дружную -дружочек -друзей -друзья -друзьям -друзьями -дрыхнет -дрыхнешь -дрыхни -дрыхнут -дрыхнуть -дряблое -дряблый -дряблым -дряблыми -дрязг -дряни -дрянная -дряннейшего -дрянно -дрянного -дрянное -дрянной -дрянном -дрянные -дрянным -дрянных -дрянцо -дрянь -дрянью -дряхлом -дряхлую -дряхлый -ду -дуб -дубе -дубняк -дубняком -дубовые -дубы -дубье -дуга -дуги -дугой -дугообразны -дует -дуется -дузе -дуклиду -дум -дума -думаем -думает -думаете -думаешь -думай -думайте -думал -думала -думали -думалось -думам -думать -думах -думаю -думают -думающих -думая -думу -думы -дуне -дуней -дунечка -дунечке -дунечки -дунечкино -дунечкинова -дунечкиной -дунечкины -дунечкиных -дунечкой -дунечку -дуни -дунул -дунуло -дуню -дуня -дуняша -дуняше -дуняшей -дуняши -дуняшу -дупелей -дуплет -дуплетом -дур -дура -дурак -дурака -дураками -дураки -дураков -дураком -дураку -дурацкая -дурацки -дурацкие -дурачила -дурачится -дурачить -дурачке -дурачки -дурачок -дуре -дурен -дурман -дурмана -дурмане -дурна -дурная -дурно -дурного -дурное -дурной -дурною -дурнушка -дурную -дурные -дурочке -дуррак -дуру -дурында -дурь -дуся -дуться -дух -духа -духами -духах -духе -духи -духов -духовник -духовно -духовному -духовным -духом -духота -духоте -духоту -духоты -духу -дучяша -душ -душа -душами -душат -душе -душевная -душевного -душевное -душевной -душевном -душевные -душевный -душевным -душевных -душегубец -душегубства -душегубцы -душен -душенька -душеньку -душечка -души -душил -душистая -душистою -душистым -душистыми -душит -душите -душить -душкин -душкина -душкину -душна -душно -душное -душный -душным -душных -душой -душонка -душою -душу -дуэли -дуэль -дуют -дщерь -дым -дыма -дыме -дымилась -дымился -дымится -дымка -дымно -дымной -дымные -дымный -дымных -дымом -дыму -дымят -дымящимся -дыр -дыра -дырах -дыре -дырке -дырочки -дыру -дыры -дырявая -дырявые -дырявый -дырявым -дыхание -дыхания -дыханье -дыша -дышал -дышала -дышали -дышало -дышат -дышать -дыши -дышит -дышится -дышишь -дышлом -дышу -дьявол -дьявола -дьяволе -дьяволом -дьяволу -дьявольская -дьявольский -дьякон -дьячка -дьячок -дюжего -дюжина -дюжинная -дюжину -дюжины -дюссотов -дяде -дядей -дядек -дядечка -дяди -дядин -дядьки -дядьшка -дядьшки -дядю -дядя -е -евангелие -евангелии -евангелия -евг -евгений -евгению -евнух -еврей -еврейский -еврейского -евреями -европе -европейские -европою -европу -евстигней -евстигнея -евших -египет -египетские -египетскими -египетского -египетскую -египта -египте -его -егоровна -егору -еда -едва -еде -едем -едемте -едет -едете -едешь -единичное -единичных -единоверцев -единовременного -единогласно -единогласных -единого -единой -единому -единородна -единородную -единства -единственная -единственно -единственное -единственной -единственному -единственною -единственную -единственные -единственный -единственным -единый -единым -едите -едко -едкого -едкой -едкою -еду -едут -едучи -едущая -едят -ее -ежегодно -ежедневная -ежедневно -ежедневного -ежедневное -ежедневной -ежедневном -ежедневный -ежедневным -ежедневных -ежели -ежемесячного -ежеминутно -ежеминутным -ежеминутных -еженедельная -еженочной -ежечасные -езди -ездивший -ездил -ездила -ездили -ездит -ездите -ездить -ездиют -ездой -езды -ездят -езжал -езжали -езжу -ей -екатерингоф -екатерингофе -екатеринина -екатерининского -ектеньи -ел -ела -елагин -еле -елей -елена -елене -елену -елены -елец -ели -елисаветграде -елисейские -елка -елку -еловая -еловую -ель -ельце -ем -емеле -ему -енотовых -епиходов -епиходова -епиходову -епоходов -ерани -ерань -еранью -ермак -ермака -ермолай -ермолках -ермолке -ерошил -ерунду -еруслан -ерша -ершей -ершика -если -есмь -ест -естественная -естественно -естественного -естественное -естественной -естественном -естественному -естественнонаучные -естественности -естественною -естественную -естественные -естественный -естественным -естественных -есть -есь -ет -ефим -ефимьюшка -ефтова -ефтом -ефту -ехав -ехавшему -ехал -ехала -ехали -ехать -ешь -ешьте -еще -ею -ж -жаба -жаворонка -жаворонков -жадная -жадно -жадности -жадностию -жадностью -жадные -жадный -жадным -жадными -жадных -жажда -жаждал -жаждало -жаждет -жаждой -жажду -жаждущего -жаждущей -жаждущим -жаждущую -жажды -жакетку -жал -жала -жалась -жалей -жалела -жалели -жалеть -жалею -жалеют -жалея -жали -жались -жалиться -жалка -жалкая -жалкие -жалкий -жалким -жалкими -жалких -жалко -жалкого -жалкое -жалкой -жалком -жало -жалоб -жалобились -жалобная -жалобно -жалобный -жалобным -жалобы -жаловалась -жаловались -жаловался -жалование -жалованье -жалованья -жаловаться -жалок -жалости -жалость -жалостью -жался -жалуемся -жалуетесь -жалуется -жалуйся -жалуюсь -жаль -жан -жандарма -жандармы -жанлис -жар -жара -жаргон -жаре -жареная -жареной -жарила -жарится -жарища -жаркая -жаркие -жаркий -жарким -жарких -жарко -жаркого -жаркое -жаркой -жаркую -жарок -жаром -жару -жарче -жги -жгла -жгли -жгло -жгут -жгучая -жгуче -жгучего -жгучее -жгучие -жгучий -жгучим -жгучих -жгучую -ждал -ждала -ждали -ждало -ждать -ждем -ждет -ждете -ждешь -жди -ждите -жду -ждут -ждущие -ждущую -жды -же -жевал -жеваное -жевать -жег -жезл -желаем -желаемого -желаемое -желает -желаете -желаешь -желай -желал -желала -желали -желаль -желание -желанием -желании -желаний -желанию -желания -желаниям -желанная -желанное -желанным -желанье -желанья -желательно -желать -желаю -желающего -желая -железа -железная -железней -железнодорожных -железной -железном -железною -железную -железные -железный -железным -железными -железо -железом -желоб -желобом -желт -желтенький -желтенькими -желтеют -желтизной -желтизны -желтоватая -желтовато -желтоватой -желтоватые -желтого -желтое -желтой -желтом -желтому -желтою -желтые -желтый -желтым -желтыми -желтых -желудком -желудок -желудочка -желчен -желчи -желчная -желчно -желчное -желчный -желчь -жеманства -жемчуг -жемчуга -жемчугами -жемчуге -жемчугом -жемчугу -жемчужин -жемчужина -жемчужной -жемчужный -жен -жена -женам -женами -женат -женаты -жене -женив -женился -женись -женитесь -женится -женить -женитьба -женитьбе -женитьбу -женитьбы -жениться -жених -жениха -женихами -женихи -женихов -жениховское -женихом -жениху -женишка -женишок -женишь -женишься -женой -женская -женски -женские -женский -женских -женского -женское -женской -женскому -женскою -женскую -женственной -жену -женщин -женщина -женщинам -женщинами -женщинах -женщине -женщиной -женщиною -женщину -женщины -жены -женюсь -женят -женятся -жерди -жердями -жернова -жертв -жертва -жертвами -жертвах -жертвовать -жертвой -жертвочка -жертву -жертвует -жертвую -жертвы -жест -жеста -жестами -жесте -жести -жестки -жесткие -жесткий -жестким -жесткими -жестко -жесткой -жесткости -жесткость -жесткую -жесток -жестокая -жестокие -жестокий -жестоких -жестоко -жестокой -жестоком -жестокости -жестокость -жестом -жесту -жесты -жестяной -жестяном -жетон -жечь -жженкой -жжет -жив -жива -живая -живее -живей -живем -живет -живете -живется -живешь -живи -живите -живишь -живности -живо -живого -живое -живой -живом -живописец -живописи -живописно -живописной -живописных -живописцу -живопись -живописью -живости -живость -живостью -животного -животное -животной -животный -животными -животных -животрепещущей -животрепещущею -живу -живут -живуча -живучи -живущего -живущей -живущий -живущими -живущих -живущую -живую -жившим -живших -живы -живые -живым -живыми -живых -живьем -живя -жид -жиденькие -жиденький -жиденькой -жидким -жиду -жиды -жизней -жизненная -жизненного -жизненное -жизненной -жизненную -жизненные -жизненный -жизненных -жизни -жизнию -жизнь -жизнью -жил -жила -жилам -жилах -жилет -жилета -жилете -жилетка -жилетке -жилетку -жилетный -жилету -жилец -жили -жилица -жилицу -жилища -жилище -жилками -жилку -жило -жилы -жилье -жильца -жильцам -жильцах -жильцов -жильцом -жильцу -жильцы -жилья -жир -жирна -жирно -жирного -жирное -жирной -жирные -жирный -жирных -жирок -жиром -жиру -житейские -житейских -житейского -житейское -житейской -жителей -жители -жительства -жительстве -жить -житье -житья -жмет -жмется -жмешь -жмут -жнивью -жнитво -жнут -жорж -жоржа -жребий -жребия -жрецы -жрешь -жуан -жуаном -жувеневских -жужжала -жужжаньем -жужжат -жужжащий -жужжит -жужжите -жук -жуков -жуковский -журавли -журавлиным -журавля -журил -журнал -журнала -журнале -журналистом -журналов -журналы -журнальной -журнальце -журчанье -журчаньем -журчит -жутко -жуткость -жучка -жующие -з -за -заалели -заалелся -заарестовать -забавах -забавляет -забавляло -забавляюсь -забавник -забавника -забавный -забаву -забалканский -забастовки -забвение -забвению -забвенье -забвенья -забегает -забегаешь -забегал -забегала -забегать -забегаю -забегают -забегая -забегу -забедневшее -забежали -забежать -забежит -забелеет -забелелась -заберется -заберите -заберут -забилась -забился -забирает -забирается -забирали -забирался -забираясь -забит -забита -забитым -забитых -забить -забияки -заблаговременно -заблагорассудила -заблагорассудилось -заблагорассудит -заблестят -заблистала -заблистали -заблудился -заблудитесь -заблуждение -заблуждении -заболевала -заболеваю -заболеете -заболел -заболела -заболею -заболтавшегося -заболтался -забор -забора -заборами -заборе -заборов -забором -заборы -забот -забота -заботам -заботами -заботах -заботе -заботились -заботилось -заботился -заботимся -заботит -заботится -заботиться -заботишься -заботливая -заботливо -заботливое -заботливой -заботливости -заботливостию -заботливость -заботливостью -заботливую -заботливы -заботливый -заботливым -заботливыми -заботой -заботою -заботу -заботы -заботясь -забочусь -забрал -забрала -забрали -забрались -забрасывал -забрать -забрежжит -забрезжилось -забрезжит -забрел -забродит -забросил -забросить -заброшенная -заброшенной -забубенного -забудем -забудемся -забудет -забудется -забудешь -забуду -забудут -забудь -забудьте -забулдыга -забуянила -забыв -забывает -забываете -забывай -забывайте -забывал -забывала -забывалась -забывали -забывался -забывать -забываться -забываю -забывают -забывая -забывчив -забывчивости -забывшему -забывшие -забывший -забывшись -забыл -забыла -забылась -забыли -забылись -забылось -забылся -забыт -забыто -забытого -забытое -забытой -забытом -забытую -забыты -забытые -забытый -забытым -забытых -забыть -забытье -забытьи -забыться -забытья -забьется -забьются -завадских -завален -завалена -завалившись -завалилось -завалился -завалинке -завалиться -завалявшиеся -завалялось -заваривать -заведен -заведение -заведении -заведений -заведения -заведениями -заведениях -заведет -заведется -заведи -заведите -заведовал -заведовают -заведу -заведутся -заведую -завезти -завезу -завел -завелась -завелись -завелся -завернул -завернулась -завернута -завернутою -завернуты -завернуть -завернуться -завертелись -завертелось -завертываться -завертываясь -завершила -завершители -завеса -завесила -завести -завесу -завет -завета -заветного -заветное -заветной -заветный -заветных -заветов -заветом -заветы -завещал -завещала -завещание -завещании -завещанию -завещания -завещанного -завещанных -завивала -завивать -завидели -завидит -завидно -завидовать -завидуешь -завидую -завидя -завизжала -завираюсь -зависело -зависит -зависти -завистлив -завистливо -завистливого -завистливы -зависть -завистью -зависящим -зависящими -завитой -завитые -завитых -завладев -завлек -завлекал -завлекала -завлекли -завлечен -завод -завода -заводах -заводе -заводил -заводила -заводит -заводится -заводить -заводские -заводы -завоет -завожу -завозилась -заволакивало -заволновалась -заволокла -заволокло -завопил -завопила -завопит -завороженный -заворотила -заворчал -заврался -завсегда -завтра -завтрак -завтрака -завтракает -завтракал -завтракать -завтракают -завтраком -завтраму -завтрашнем -завтрашнему -завтрашний -завтрему -завывавший -завывал -завываниями -завыванье -завяжется -завяжу -завяз -завязалась -завязались -завязалось -завязан -завязанный -завязанными -завязнет -загадал -загадала -загадать -загадка -загадками -загадки -загадкой -загадку -загадок -загадочно -загадочное -загадочной -загадочному -загадочные -загадочный -загадочным -загадывает -загадываний -загар -загвоздка -заглавие -заглавием -заглавия -заглавном -загладилось -загладится -загладить -заглохло -заглушает -заглушал -заглушала -заглушат -заглушенный -заглушенных -заглушило -заглушит -заглушить -заглушон -заглядевшись -загляделась -загляделся -заглядывавшей -заглядывает -заглядывал -заглядывала -заглядывать -заглядывая -заглянет -заглянете -загляну -заглянув -заглянул -заглянула -заглянуть -загнан -загнанная -загниют -загнутым -заговаривай -заговаривал -заговаривала -заговаривался -заговаривать -заговариваю -заговаривая -заговелись -заговенья -заговор -заговорил -заговорила -заговорили -заговорило -заговорит -заговорить -заговорщик -заговорщиков -заговорю -заговорят -заголосил -загорается -загораживаемый -загораживают -загораживая -загорались -загоралось -загораются -загордится -загоревшаяся -загоревшейся -загоревшеюся -загоревшимися -загорелась -загорели -загорелись -загорелой -загорелось -загорелую -загорелые -загорись -загородившем -загородил -загородили -загородных -загорожена -загороженные -загорячился -заготовил -заготовлю -заградил -заградить -заграничная -заграничный -заграничных -загреб -загремел -загремели -загромождена -загромождены -загрубевшими -загрубели -загрызет -загрязнилось -загрязнился -загрязнить -загубила -загудели -загулял -задаваемые -задаваемым -задавайте -задавал -задавала -задавали -задавать -задавая -задавила -задавит -задавлен -задавят -задайте -задал -задала -задало -задам -задаром -задаст -задатка -задатки -задатку -задаток -задать -задач -задача -задачею -задачи -задачу -задаю -задвигались -задвигаются -задвижкой -задвижку -задвинет -задворками -задворки -задебренные -задевает -задевающего -задевая -задевши -задел -задела -задели -задело -заденет -задержал -задержали -задержало -задержать -задерживаем -задерживай -задерживать -задерживаю -задержкам -задержками -задержу -задернется -задернул -задетым -задеть -задираете -задирательное -задирать -задней -заднем -задний -задних -задобрить -задок -задолжал -задом -задор -задора -задохнулся -задразнили -задремавший -задремал -задремали -задремать -задремлет -задремлешь -задрожав -задрожал -задрожала -задрожали -задрожало -задрожит -задул -задумавшись -задумает -задумаетесь -задумай -задумайте -задумал -задумала -задумалась -задумались -задумался -задумана -задуманного -задуманное -задуматься -задумаюсь -задумаются -задумчив -задумчивая -задумчивее -задумчиво -задумчивое -задумчивой -задумчивом -задумчивосгь -задумчивости -задумчивость -задумчивостью -задумчивую -задумчивы -задумчивые -задумчивый -задумчивым -задумчивыми -задумчивых -задумывается -задумывайтесь -задумывалась -задумывались -задумывался -задумываться -задумываются -задумываясь -задурманился -задушевный -задушил -задушила -задушило -задушить -зады -задымились -задымится -задыхавшаяся -задыхается -задыхаешься -задыхалась -задыхался -задыхаться -задыхаюсь -задыхающимся -задыхающуюся -задыхаясь -заедает -заедать -заедены -заеду -заезжая -заела -заем -заемного -заемное -заемному -заемные -заехал -заехали -заехать -зажав -зажаждал -зажал -зажаты -зажатый -зажглись -зажгло -зажгут -заждались -зажег -зажечь -зажжена -зажженный -зажженных -заживаются -заживем -заживет -заживо -зажигает -зажигал -зажигали -зажигательное -зажигать -зажигая -зажила -зажили -зажило -зажимая -зажирел -зажиточном -зажмет -зажмешь -зажмуренные -зажмурив -зажмуриваясь -зажмурил -зажмурился -зажмуря -зажужжала -зажужжали -зазвать -зазвенел -зазвенело -зазвенят -зазвучал -зазвучала -зазвучат -зазвучит -зазовет -зазору -зазубринки -заиграет -заиграешь -заиграл -заиграла -заиграли -заиграть -заиграют -заигрывал -заикается -заикаться -заикаются -заикаясь -заикнется -заикнитесь -заикнулась -заимодавец -заинтересовала -заинтересовали -заинтересовало -заинтересовался -заинтересован -заинтересованы -заинтересовать -заискать -заискивала -заискиванье -заискиваю -зайдем -зайдет -зайдете -зайдешь -зайди -зайдите -зайду -зайдя -займа -займемся -займет -займется -займешь -займите -займусь -займут -займутся -зайти -зайца -зайцами -закажу -заказ -заказал -заказали -заказанные -заказать -заказу -заказывал -заказывала -заказывались -заказывать -закалена -закаливая -заканчивается -заканчивать -закапали -закарабкался -закат -заката -закатал -закате -закатившееся -закатившись -закатилась -закатилось -закатился -закатим -закатной -закатном -закатный -закатных -закатом -закату -закатывалось -закачал -закивала -закинем -закинув -закинул -закинула -закинулось -закинуто -закинуть -закипел -закипела -закипели -закипело -закипит -заклад -заклада -закладе -закладка -закладной -закладом -закладу -закладчик -закладчика -закладчиками -закладчики -закладчиков -закладчицы -заклады -закладываемое -закладывай -закладывал -закладывала -закладывать -закладывают -заклинаю -заключает -заключаете -заключается -заключало -заключалось -заключать -заключаю -заключен -заключение -заключением -заключении -заключению -заключения -заключениям -заключив -заключил -заключила -заключили -заключить -заклятье -заколдован -заколдованных -заколот -заколотила -заколотить -заколют -закон -закона -законам -законно -законного -законное -законном -законному -законности -законность -законною -законную -законный -законным -законными -законных -законов -законодатели -законодатель -законом -закону -законфузившись -законфузилась -законфузились -законфузился -законфузиться -законченный -законченных -закончился -закончить -законы -закопал -закоптелая -закопченного -закоренелою -закоробившись -закорузлую -закорузлый -закоснелость -закоулки -закоченели -закоченелый -закрадывается -закрасить -закраснелась -закрепить -закричал -закричала -закричали -закричат -закричать -закричите -закричу -закровянилось -закроет -закроется -закрой -закройся -закрою -закроют -закругленной -закружилась -закружился -закружите -закружитесь -закружится -закрутишься -закрутят -закручивая -закрыв -закрывает -закрываешь -закрывай -закрывал -закрывали -закрывать -закрывая -закрывшись -закрыл -закрыла -закрылась -закрыли -закрылись -закрыт -закрыта -закрытое -закрыты -закрытый -закрытыми -закрытых -закудахтал -закулисную -закупить -закупка -закупками -закупкой -закупоривать -закупорилось -закуражился -закурив -закуривает -закуривать -закурил -закусив -закусил -закусить -закуска -закусками -закуске -закуски -закуску -закусывал -закусывала -закусывать -закутав -закутавшись -закутал -закуталась -закутался -закутанный -закутанным -закутаться -зал -зала -залает -залах -залаяла -зале -залег -залегла -залежавшейся -залежался -залежаться -залез -залезал -залезли -залезть -залепетала -залепила -залетает -залетал -залетела -залетело -залечить -залив -залива -заливалась -заливались -заливаться -заливаются -заливаясь -заливистый -заливного -заливные -залившею -залившись -залила -залилась -залились -залился -залитая -залито -залитое -залитые -залитый -залить -залог -залогом -заложена -заложенном -заложенный -заложив -заложил -заложила -заложили -заложит -заложить -заложу -залой -заломив -заломившаяся -заломлены -залпом -залу -залучить -залы -зальдевших -зальет -зальется -зальешь -зальюсь -замай -замайте -заманит -заманить -заманишь -заманчивей -заманчиво -замараться -замарашки -замасленной -замасленную -замасленные -замасленных -замахал -замахивается -замахиваясь -замахнется -замахнула -замахнулась -замашками -замашкой -замедленного -замедлил -замедляет -замедляй -замелькал -замелькали -заменил -заменились -заменился -заменить -замену -заменю -заменя -заменяет -заменялась -замер -замереть -замерзнет -замерзнуть -замерла -замерли -замерло -замертво -замести -заместо -заметен -заметенной -заметив -заметил -заметила -заметили -заметим -заметит -заметить -заметишь -заметку -заметливы -заметна -заметная -заметно -заметного -заметное -заметной -заметном -заметною -заметную -заметны -заметным -заметов -заметова -заметовские -заметову -заметовым -заметок -заметь -заметьте -заметят -замечаемый -замечает -замечаете -замечается -замечаешь -замечай -замечал -замечала -замечали -замечалось -замечание -замечанием -замечанию -замечания -замечаниями -замечателен -замечательная -замечательнейшая -замечательнейший -замечательно -замечательного -замечательное -замечательном -замечательные -замечательными -замечать -замечаю -замечают -замечая -замечен -замеченной -замеченным -замечтает -замечтал -замечталась -замечтался -замешается -замешался -замешан -замешаны -замешательство -замешательством -замешкали -замешкались -замешкался -замигал -замирает -замирала -замирало -замиранием -замирающие -замирающий -замирающим -замирая -замка -замке -замки -замкну -замкнут -замкнутую -замкнутых -замкнуть -замнется -замогильный -замок -замолит -замолк -замолкла -замолкли -замолкло -замолкнут -замолкнуть -замолчал -замолчала -замолчали -замолчат -замолчать -замолчи -замолчит -замолчу -заморишь -заморские -заморской -заморскую -замочились -замочился -замочной -замочную -замою -замрет -замри -замрут -замуж -замужем -замужества -замужестве -замужеству -замужнюю -замучаешься -замучай -замученные -замучил -замучила -замучилась -замучили -замучились -замучился -замучит -замучить -замшевые -замшевый -замыкалась -замыкалова -замыкаю -замыкая -замыкаясь -замысел -замысла -замыслишь -замыслов -замыслы -замыть -замышляла -замышлялась -замяла -замялся -замямлил -замять -занавес -занавесей -занавеска -занавесками -занавески -занавеску -занавесок -занавесом -занавесы -занавесью -занды -занес -занесен -занесенной -занесенными -занести -занимавшая -занимаемая -занимает -занимаетесь -занимается -занимаешься -занимай -занимайся -занимайтесь -занимал -занимала -занималась -занимали -занимались -занимало -занимался -занимательным -занимать -заниматься -занимаю -занимаюсь -занимаются -занимающаяся -заново -занозила -заносил -заносчивая -заносчиво -заносчивого -заносчивость -заносчивы -заносчивым -занося -заношенная -заношенного -заношенные -занявший -занял -заняла -занялась -занялись -заняло -занялся -занят -занята -занятая -занятие -занятии -занятий -занятия -занятиям -занято -занятого -заняты -занятые -занятый -занять -заняться -заодно -заорал -заочно -западают -западник -западню -запамятовал -запамятовали -запарился -запас -запаса -запасе -запасем -запасными -запасом -запасы -запах -запахе -запахло -запахов -запахом -запачкала -запачкался -запачканная -запачканное -запачканные -запачкаться -запашке -запевает -запевали -запевания -запевая -запекаться -запеклась -запеклись -запекшейся -запекшимися -запекшихся -запел -запела -запели -запендю -запенившимися -запер -заперев -запереть -запереться -заперла -заперлась -заперли -заперся -заперт -заперта -запертая -заперто -запертой -запертую -заперты -запертых -запершись -запечатал -запечатанную -запивает -запивать -запил -запинаются -запинаясь -запинкой -запираемы -запирает -запираете -запирается -запираешь -запиралась -запирали -запирался -запирать -запираю -запирают -запираются -записали -записались -записан -записанными -записано -записаны -записать -записка -записками -записках -записке -записки -запиской -записку -записная -записной -записную -записок -записочку -записывает -записывания -записыванья -записывать -записываю -записывают -записывая -запихивать -запихивая -запишем -запиши -запишу -заплакал -заплакала -заплакали -заплаканное -заплаканной -заплаканы -заплакать -заплатами -заплатах -заплати -заплатил -заплатила -заплатили -заплатим -заплатит -заплатите -заплатить -заплатишь -заплатки -заплаты -заплачем -заплачет -заплачешь -заплачу -заплачут -заплевавший -заплеванному -заплеванный -заплесневела -заплесть -заплетены -заплутался -заплывали -заплывшие -заплыли -заплясало -запнулась -запнулся -заподозрили -заподозрить -запоем -запоет -запоешь -запоздало -запоздалый -запоздалым -запоздать -запой -заполнить -заполняя -заполонила -заполонить -запомнивши -запомнил -запомнили -запомним -запомните -запомнить -запомню -запомнят -запонка -запонки -запор -запора -запоре -запорет -запороши -запорошит -запоя -заправить -заправленную -заправляет -запрег -запредельных -запрет -запретив -запретил -запретишь -запреты -запрещает -запрещала -запрещение -запрещения -запрещениям -запрещено -заприте -запритесь -запропастившуюся -запропастились -запросила -запросится -запросто -запросят -запружена -запрыгает -запрыгал -запрыгала -запрыгали -запрягут -запряженная -запряженной -запрячь -запугала -запуганной -запуганным -запугать -запускает -запускал -запускать -запустив -запустил -запутавшись -запутает -запутаешься -запуталось -запутанного -запутанный -запутываться -запутывая -запутываясь -запушенным -запущенностью -запущенную -запущенный -запущенным -запущенных -запущено -запылавшие -запылали -запыленное -запыленной -запыленному -запыленную -запыленные -запылены -запылилась -запылилось -запыхавшись -запыхалась -запьешь -запью -запястье -запястья -запятнаны -зарабатывал -заработает -заработал -заработались -заработался -заработать -заработка -заработком -заражал -заражалась -заражались -заражаются -заражая -зараженного -зараженные -зараженный -зараз -заразил -заразила -заразилась -заразили -заразителен -заразительная -заразительно -заразительны -заразы -зарайский -зарайских -зарайского -заранее -зарапортовался -зарастает -зарделось -заре -зарева -заревам -заревая -зареве -заревел -зарево -заревое -заревом -заревою -заревые -зарежет -зарежь -зарезал -зарезала -зарезу -зарей -заречная -заречной -зарею -заржавленным -заржет -зари -зарницы -зарницына -зарницыной -зародилась -зародились -зародыш -зарождаются -зарождение -зарождения -заройся -зароненной -заронился -заросла -заросший -заросшими -зароют -зарубежной -зарубить -зарывшись -зарыдала -зарыдаю -зарыдают -зарылись -зарыт -зарыто -зарыть -зарыться -зарычал -зарычи -зарю -заря -заряда -зарядили -заряжанье -засади -засаленной -засаленном -засаленный -засасывает -засверкав -засверкавшими -засверкал -засверкали -засверкало -засветили -засветились -засветилось -засветло -засвидетельствовал -засвидетельствовала -засвидетельствован -засвидетельствована -засвидетельствование -засвидетельствовано -засвидетельствовать -засевались -заседание -засеку -засела -заселен -засели -заселилось -засело -засиделся -засидится -засипел -засияет -засиял -засияла -засияли -засияло -заскакать -заскрежетав -заскрежетал -заскрипит -заслоненная -заслонил -заслонилась -заслонилось -заслонявший -заслонялось -заслуга -заслуги -заслуженная -заслуженного -заслуженной -заслуженном -заслуженным -заслужил -заслужу -заслушивался -заслыша -заслышавший -засматриваться -засмеется -засмеют -засмеются -засмеявшись -засмеялась -засмеялись -засмеялся -засмеяться -засмотрится -заснет -засну -заснувши -заснул -заснула -заснули -заснуть -засовы -засохла -засохли -засохло -засохшею -засохшим -засохшими -засохших -заспав -заспанная -заспанные -заспаны -заспишься -заставал -заставала -заставил -заставили -заставило -заставит -заставить -заставленное -заставлю -заставлявших -заставляет -заставлял -заставляла -заставляли -заставляю -заставляют -заставляя -заставой -заставу -заставы -заставят -застал -застала -застали -застанем -застанет -застанешь -застану -застарелой -застать -застегивался -застегивание -застегивать -застегивая -застегнут -застегнутое -застелют -застенчив -застенчива -застенчиво -застенчивости -застенчивость -застенчивы -застиг -застилает -застойки -застойкой -застольных -застонал -застонет -застрахованы -застраховать -застрелившиеся -застрелил -застрелился -застрелись -застрелитесь -застрелится -застрелиться -застрелюсь -застряло -застрянет -застукало -заступаться -заступила -заступило -заступитесь -заступиться -заступом -застучал -застучали -застучало -застучат -застучит -застывала -застывало -застывая -застыдилась -застыдился -застыдят -застыла -застыли -застынет -засудят -засуетилась -засуетились -засуетился -засуетятся -засунув -засунул -засунула -засуха -засухи -засуху -засученными -засучились -засыпает -засыпал -засыпала -засыпанная -засыпаю -засыпают -засыпи -засыплет -засыхавшая -засядем -затаенной -затаившейся -затаившиеся -затаившимся -затаил -затараторила -затасканной -затасканную -затвердил -затворе -затворена -затвори -затворив -затворилась -затворить -затворничества -затворю -затворяет -затворяется -затворялась -затворят -затворяя -затевать -затеем -затеет -затеешь -затеи -затей -затекает -затем -затемнен -затепли -затеплят -затерлось -затерся -затертого -затертый -затерявшийся -затерял -затерянная -затерянный -затеряться -затесало -затеснились -затеял -затеяли -затеялись -затеями -затеять -затих -затихать -затихла -затихли -затихло -затишье -затишьев -затишьях -заткнет -заткни -заткнутые -заткнутым -затмевал -затмение -затмений -зато -затолпилось -затопав -затопал -затопишь -затопчет -заторелым -заторопившись -заторопилась -заторопился -заторопясь -затосковал -затравленная -затратили -затревожилась -затревожит -затрепетал -затрепетала -затрепетали -затрепещет -затрется -затрогивать -затронет -затронули -затруднение -затруднении -затруднений -затруднения -затруднилась -затруднительно -затруднительное -затрудняется -затруднялась -затруднялись -затруднялся -затрудняясь -затряс -затряслась -затряслись -затрясусь -затуманила -затуманилась -затуманит -затушено -затушить -затушу -затыкать -затылка -затылке -затылок -затягивает -затягивая -затянувшийся -затянула -затянули -затянулось -затянут -заунывную -заурядным -заутрене -заутрени -заученное -заученную -заученный -заучены -заучусь -зафилософствовался -захар -захара -захарка -захарке -захаров -захарович -захаровича -захаровичем -захаровых -захаром -захару -захарыч -захарыча -захвалить -захватив -захватившие -захватил -захватила -захватили -захватило -захватит -захватить -захватывает -захватывало -захватывают -захваченный -захворал -захворала -захихикал -захлебнулся -захлебываясь -захлестнула -захлестнуло -захлопнула -захлопнулась -захлопывала -захлопывая -захмелевший -захныкал -заходил -заходила -заходили -заходило -заходит -заходить -заходя -заходящее -заходящим -захождения -захожу -захотел -захотела -захотели -захотелось -захотеть -захотите -захотят -захохотал -захохотала -захохотали -захохочет -захочет -захочется -захочешь -захочу -захрипел -захромала -захрустел -зацелованный -зацепите -зацепиться -зачало -зачастую -зачатия -зачатками -зачах -зачахла -зачахну -зачем -зачеркивает -зачеркнет -зачерпнула -зачешется -зачешутся -зачислен -зачитался -зачитывался -зачтено -зашаталась -зашаталось -зашевелились -зашевелит -зашевелится -зашевелят -зашевелятся -зашел -зашептал -зашептала -зашептались -зашивались -зашипел -зашипит -зашить -зашла -зашлепал -зашли -зашло -заштопала -заштопать -зашумит -зашумят -защелкал -защемило -защита -защите -защити -защитит -защитите -защитить -защититься -защитник -защиту -защиты -защищавших -защищает -защищал -защищала -защищался -защищать -заявил -заявила -заявить -заявлениях -заявлено -заявляет -заячья -звал -звала -звали -зваль -звание -званием -звания -званых -званья -звать -звезд -звезда -звездам -звездами -звездах -звезде -звездной -звездой -звездочка -звездою -звезду -звезды -звена -звенела -звенели -звенело -звенит -звено -звену -звеньев -звенья -звеня -звенят -звенящий -зверей -зверем -звери -звериного -звериной -звериную -звериный -зверок -зверская -зверские -зверского -зверском -зверства -зверь -зверю -зверя -звон -звоне -звонил -звонили -звонит -звонить -звонка -звонки -звонкие -звонкий -звонким -звонко -звонкой -звонком -звонок -звоном -звонят -звук -звука -звукам -звуках -звуки -звуков -звуком -звуку -звучал -звучала -звучали -звучало -звучат -звучащий -звучащим -звучен -звучит -звучным -звякание -звякают -звякнул -зги -зготовляй -здание -здания -зданиях -зданье -зданья -здесь -здеся -здешнего -здешней -здешнем -здешнему -здешнею -здешние -здешний -здешним -здешних -здешнюю -здоров -здорова -здоровается -здоровалась -здороваться -здоровая -здоровее -здоровенькие -здоровенького -здоровехонек -здорово -здорового -здоровой -здоровому -здоровы -здоровые -здоровый -здоровым -здоровыми -здоровье -здоровьем -здоровью -здоровья -здравие -здраво -здравого -здравое -здравом -здравому -здравствовать -здравствует -здравствуй -здравствуйте -здравый -здсеь -зе -зевавшему -зевает -зевак -зевал -зевать -зевая -зевес -зевнет -зевнул -зевнуть -зевотой -зевоту -зевоты -зейн -зейнрок -зелена -зеленая -зеленеет -зелененькими -зелененькую -зеленеют -зелени -зеленные -зелено -зеленоватые -зеленоватым -зеленого -зеленой -зеленом -зеленую -зеленщик -зеленщика -зеленщики -зеленщику -зелены -зеленые -зеленый -зеленым -зелеными -зеленых -зелень -зеленью -земель -земле -земледелие -землей -землетрясений -землетрясению -землею -земли -землю -земля -земляк -земляка -земляку -землям -землянику -землянке -земная -земно -земного -земное -земной -земном -земные -земского -земской -земском -земскую -земстве -земчуг -зените -зеницах -зеркал -зеркала -зеркалах -зеркале -зеркало -зеркалом -зеркальной -зеркальный -зеркальце -зеркальцем -зерна -зерно -зигзагами -зигзагом -зигфрид -зима -зиме -зимнее -зимней -зимнем -зимние -зимний -зимних -зимой -зиму -зимы -зинаиду -зияющие -зла -злаки -златая -златит -злато -златом -златым -златятся -злая -злее -злейший -злился -злит -злитесь -злится -злиться -злишься -зло -злоба -злобе -злобен -злобная -злобно -злобного -злобное -злобной -злобною -злобные -злобный -злобным -злобных -злобой -злобою -злобствуют -злобу -злобы -зловещая -зловещее -зловещей -зловещие -зловещий -зловещим -зловили -зловредную -злодее -злодеев -злодей -злодейка -злодейскою -злодейств -злодейство -злодея -злодеяние -злое -злой -злом -злонамеренная -злорадно -злорадством -злословил -злословия -злости -злостных -злость -злостью -злосчастный -злоупотреблении -злоупотреблений -злоупотреблять -злу -злую -злы -злые -злым -злыми -злых -злюсь -злющая -злющей -злясь -змее -змеей -змеею -змеи -змеилась -змеились -змеиный -змеится -змей -змею -змея -змеящихся -знавал -знавали -знавшие -знавший -знаем -знает -знаете -знаешь -знай -знайте -знак -знака -знаками -знаки -знаков -знаком -знакома -знакомая -знакомиться -знакомо -знакомого -знакомое -знакомой -знакомом -знакомому -знакомств -знакомства -знакомстве -знакомство -знакомству -знакомую -знакомы -знакомые -знакомый -знакомым -знакомыми -знакомых -знакомя -знал -знала -знали -зналь -знамен -знамена -знаменательно -знаменательного -знаменательные -знаменательный -знаменательным -знаменательных -знамением -знамений -знаменит -знаменитейший -знаменитой -знаменитости -знаменитость -знаменитый -знамения -знаменовало -знамо -знамя -знание -знанием -знаний -знания -знаниями -знаньем -знанья -знатно -знатной -знатность -знатный -знатных -знатока -знать -знаться -значат -значение -значением -значении -значения -значенье -значила -значили -значило -значит -значительная -значительно -значительное -значительной -значительном -значительному -значительную -значительные -значительный -значительным -значительных -значить -значишь -значу -знаю -знают -знающая -знающему -знающий -знающими -зная -знобить -зное -зноем -зной -знойкову -знойной -знойною -знойный -зною -зноя -зов -зова -зовем -зовет -зовете -зовешь -зови -зовом -зову -зовут -зовущих -зол -зола -золе -золовка -золой -золота -золотая -золоте -золотеет -золотистые -золотистый -золотистым -золотит -золотится -золотить -золотника -золото -золотоглавый -золотого -золотое -золотой -золотокудрый -золотом -золотопромышленника -золотопромышленность -золотою -золоту -золотухой -золотушный -золотую -золотые -золотым -золотыми -золотых -золу -зонтик -зонтика -зонтиком -зоргенфрею -зори -зоркая -зорким -зорко -зоркого -зорком -зорче -зорь -зорю -зосимов -зосимова -зосимову -зосимовым -зрак -зрачки -зреет -зрели -зрелище -зрелого -зрелой -зрелости -зрелость -зрелостью -зрелый -зрелым -зрение -зрению -зрения -зренье -зреют -зримей -зримый -зрит -зрителей -зрители -зритель -зрителями -зришь -зря -зуб -зубам -зубами -зубах -зубки -зубов -зубок -зубоскалить -зубчатой -зубчатою -зубчатый -зубы -зудят -зурна -зурны -зыбкий -зыбкой -зыбком -зыблется -зятем -и -ибо -ибсен -ибсена -иван -ивана -иване -иванов -иванове -иванович -ивановича -ивановичу -ивановна -ивановне -ивановной -ивановну -ивановны -ивановой -ивановскую -иванову -иваном -иванонва -ивану -иваныч -иваныча -иванычем -иванычу -ига -игла -иглой -иглу -иглы -игнатьевич -игнатьевича -игнатьевичем -игнатьевна -игнатьевны -игнатьич -игнатьича -игнашка -иго -иголка -иголочки -игом -игра -играем -играет -играете -играешь -играешься -играй -играйте -играл -играла -играли -играло -играль -играми -играть -играх -играю -играют -играючи -играющем -играющею -играющих -играя -игре -игривая -игривее -игривенькая -игривого -игривости -игривостию -игривую -игривый -игрой -игрок -игру -игрушечку -игрушки -игры -идеал -идеала -идеалам -идеале -идеален -идеализм -идеалист -идеалов -идеалом -идеалу -идеалы -идеальная -идеально -идеальный -идее -идеей -идеи -идей -идейка -идейку -идейных -идем -идемте -идет -идете -идеть -идешь -идею -идея -иди -идиллией -идиллий -идиот -идиотка -идиотством -идите -идола -идолов -идолом -идолу -идти -иду -идут -идучи -идущего -идущей -идущему -идущие -идущим -идущими -идущих -идущую -идя -иезуитов -иене -иерей -иероглифов -иерусалим -иерусалима -ижицы -из -изб -изба -избавил -избавились -избавите -избавить -избавлен -избавление -избавленным -избавлялись -избавляя -избавь -избаловали -избаловались -избаловался -избалован -избалованы -избах -избе -избегайте -избегал -избегала -избегали -избегать -избегая -избегнул -избегнуть -избежать -изберет -изберешь -избил -избитая -избито -избитой -избитую -избитых -избрав -избрал -избрала -избранной -избранном -избранные -избранный -избранных -избранья -избрать -избу -избудешь -избушке -избы -избытка -избытке -избыток -избыть -изведав -изведал -изведала -изведаны -изведать -изведешь -извел -изверг -изверга -извергнете -извергнуть -изверившись -изверились -известен -известившись -известие -известием -известий -известия -известиям -известиями -известка -известке -известковую -известная -известно -известного -известное -известной -известном -известному -известности -известность -известною -известную -известны -известные -известный -известным -известными -известных -известью -известясь -извечно -извечной -извещение -извещены -извив -извиваясь -извивом -извилистой -извинение -извинения -извини -извинилась -извинили -извинился -извините -извинить -извиниться -извинюсь -извиняешься -извинялся -извинят -извиняться -извиняюсь -извиняются -извиняя -извиняясь -извлек -извлекал -извлекли -извлеку -извлечь -извне -изводят -извозчик -извозчика -извозчикам -извозчике -извозчики -извозчиков -извозчиком -извозчику -изволив -изволил -изволила -изволили -изволит -изволите -изволь -извольте -изволят -изворачивался -изворачиваться -изворотиться -изворотливости -изворотов -извращенном -изгадил -изгадили -изгадит -изгиба -изгибе -изгладилась -изгладилось -изгнанник -изголовье -изголовья -изгонишь -изгоняется -изготовилась -изготовить -изготовлять -издавать -издавна -издалека -издали -издало -издание -издании -изданию -издания -изданьица -издателей -издатели -издательской -издательство -издателям -издать -издевается -издеваться -изделия -издерганы -издержанного -издержек -издержка -издержкам -издержками -издержке -издержки -издохнем -издохнуть -издрогнувший -издрогшая -издыхании -издыхающей -изжарил -изжога -иззяб -излагаете -излагал -излагать -излагающего -излагая -излер -излечивать -излив -изливавшейся -изливается -изливали -изливались -излить -излишек -излишне -излишней -излишнею -излишним -излишнюю -излияний -излияния -изловили -изловчусь -изложением -изложения -изложил -изложили -изложить -изложу -изломал -изломала -изломалась -изломались -изломан -изломанной -изломанными -изломанных -изломано -изломаться -излученье -измайлов -измалетства -измельчал -измен -измена -изменение -изменению -изменив -изменившимся -изменил -изменилась -изменили -изменились -изменилось -изменился -изменит -изменится -изменить -измениться -изменнику -изменница -изменю -изменюсь -изменяем -изменяет -изменяется -изменяла -изменят -изменятся -изменять -изменяющий -изменяя -измерили -измерит -измерить -измерял -измеряла -измеряли -измеряя -измокшее -измокшем -изморились -измучена -измученная -измученное -измученному -измученный -измучившееся -измучившись -измучил -измучилась -измучили -измучились -измучило -измучился -измучиться -измучишь -измучусь -измята -измятая -измято -измятую -измятые -измятый -изнеженному -изнеженные -изнеженным -изнемог -изнемогает -изнемогал -изнемогала -изнемогаю -изнемогают -изнемогая -изнемогли -изнеможение -изнеможении -изнеможения -изнемочь -износишь -изношенная -изношенного -изношенный -изношенными -изнурения -изнуренное -изнутри -изо -изобличена -изображавших -изображайте -изображал -изображать -изображают -изображен -изображена -изображение -изображу -изобрази -изобразилось -изобразительнее -изобразить -изобразят -изобретал -изобретатель -изобретений -изобретенном -изобьешь -изовраться -изодранные -изодранными -изойти -изорвал -изорваль -изорванное -изошла -изощрены -изощряется -израсходовано -изредка -изрек -изрекаете -изрекал -изрекала -изтопталь -изувера -изуверство -изукрашенною -изумил -изумились -изумился -изумительно -изумительного -изумительной -изумительною -изумительные -изумительный -изумится -изумить -изумлен -изумление -изумлением -изумлении -изумлению -изумления -изумленный -изумленными -изумленных -изуродованный -изустный -изучавший -изучал -изучать -изучая -изучение -изученно -изучил -изучила -изучить -изъездить -изъявил -изъявили -изъявления -изъявлял -изъяснил -изъяснить -изъясняю -изъятья -изысканная -изысканно -изыскать -изюминки -изюму -изяществом -изящна -изящная -изящно -изящного -изящной -изящную -изящны -изящные -изящный -изящным -изящных -иисус -иисусу -икнув -иконе -иконостас -икону -иконы -ил -или -илиаду -илистом -иль -илье -ильей -ильи -ильин -ильина -ильине -ильинична -ильинская -ильинские -ильинским -ильинскими -ильинских -ильинской -ильинскую -ильич -ильича -ильиче -ильичом -ильичу -илью -илья -илюша -илюше -илюши -илюшу -им -иматру -имевшая -имевшего -имевшей -имевшему -имевшею -имевшиеся -имеем -имеет -имеете -имеется -имеешь -имей -имейте -имел -имела -имели -имелись -имело -имелось -имен -имена -именами -именем -имени -имение -имением -имении -именин -именинам -именинах -именинники -именинница -именинницей -именины -имению -имения -именно -именьишко -иметь -имею -имеют -имеющего -имеющему -имеющий -имеющих -имея -ими -импровизирует -имущества -имущественные -имущество -имя -иначе -иная -инда -индеек -индейка -индейки -индейку -индейский -индивидуализма -индивидууму -индийского -индифферентизм -индию -инеем -иней -инициалы -инкрустацией -ино -иногда -иного -иное -иной -инока -иному -иностранец -иностранка -иностранного -иностранной -иностранные -иностранцам -иностранцами -иностранцем -иностранцы -иною -инспектором -инстанции -инстанцию -инстинкт -инстинкта -инстинктами -инстинктивно -инстинктивное -инстинктом -инстинкту -институт -института -институте -инструкцию -инструкция -инструмент -инструмента -инструментами -инструменте -инструментом -интегральное -интеллигента -интеллигентных -интеллигенцией -интеллигенции -интендантов -интерес -интереса -интересах -интересе -интересен -интересная -интереснейшем -интереснейшую -интересно -интересного -интересное -интересной -интересном -интересны -интересные -интересный -интересным -интересных -интересов -интересовал -интересовала -интересовало -интересовался -интересовать -интересоваться -интересом -интересует -интересуете -интересуетесь -интересуется -интересуюсь -интересуются -интересуясь -интересы -интимном -интимностей -интонацией -интонации -интриги -интриговать -интригует -ину -иную -инфлюэнца -информацию -иные -иным -иными -иных -иоаннова -иоган -ипохондрией -ипохондрик -ипохондрику -ипохондрическое -ипохондрию -ирина -ирине -ириной -ирину -ирины -ирис -ирисы -иронией -иронически -иронический -иртыша -исай -исая -искажал -искажать -искажая -искажение -искажением -искажению -искаженным -искажены -исказила -исказили -исказилось -исказить -искал -искала -искалеченной -искалеченным -искали -искам -исканий -искания -искательниц -искать -исключая -исключением -исключений -исключения -исключениями -исключительно -исключительное -исключительном -исключительный -исковеркана -исковерканную -исковеркано -искони -искоренено -искоренить -искореняет -искоса -искр -искра -искрами -искренен -искренна -искренне -искреннего -искреннее -искренней -искреннему -искренние -искренний -искренним -искренно -искренности -искренность -искренностью -искренняя -искривившеюся -искривившимися -искривившимся -искривила -искривилось -искривленном -искривленною -искривленный -искривленным -искривлено -искрились -искрой -искрометное -искры -искупался -искупит -искупительный -искупителя -искупить -искупление -искусно -искусным -искусными -искусств -искусства -искусствах -искусстве -искусственная -искусственно -искусственной -искусство -искусству -искушенье -испакостили -испанец -испанию -испанке -испанскую -испарения -испарениями -испачкав -испачкался -испейте -испекли -испекут -испепелить -испепеляешь -испепеляющие -испечет -исписанная -исписанной -исписанную -исписаны -испитое -испитым -испить -исповеди -исповедовал -исповедовала -исповедовать -исповедывал -исповедь -исповедью -исподлобья -исподтишка -исполинский -исполнен -исполнена -исполнение -исполнением -исполнении -исполнения -исполненного -исполненное -исполненной -исполненный -исполненных -исполнено -исполнены -исполнив -исполнил -исполнила -исполнились -исполнилось -исполнимость -исполнит -исполните -исполнитель -исполнителя -исполнится -исполнить -исполниться -исполнишь -исполню -исполняет -исполнял -исполняла -исполнять -исполняю -исполняют -исполняя -использован -использование -испортил -испортилось -испортите -испортить -испортишь -испорчен -испорченные -испорченный -испорчу -испошлился -исправился -исправимая -исправить -исправишь -исправлением -исправления -исправляет -исправлять -исправника -исправнику -исправно -исправным -исправных -испрашивать -испросив -испуг -испуга -испугавшись -испугается -испугал -испугалась -испугали -испугались -испугался -испугаль -испуган -испуганная -испуганно -испуганного -испуганное -испуганной -испуганном -испуганные -испуганный -испуганным -испуганными -испуганы -испугать -испугаться -испугаюсь -испуге -испугом -испугу -испужаешь -испужались -испускала -испуская -испустил -испытав -испытавшей -испытавший -испытал -испытала -испытание -испытаний -испытания -испытанные -испытанный -испытать -испытаю -испытующии -испытующим -испытывает -испытывал -испытывала -испытывали -испытывать -испытываю -исследования -исследованы -исследую -иссосали -иссохшее -иссохшей -иссохшие -иссохшими -иссохших -исстрадаешься -исстрадались -исстрадался -исступление -исступлении -исступлений -исступления -исступленно -исступленном -исступленному -истаскался -истасканное -истасканные -истасканных -истаял -истерзал -истерзала -истерзали -истерзан -истерзана -истерзанной -истерзанный -истерика -истерике -истерически -истерическим -истерических -истерического -истеричны -истечении -истин -истина -истинам -истине -истинно -истинное -истинной -истинном -истинные -истинный -истинным -истинных -истиной -истину -истины -истолкование -истолкования -истолкователя -истома -истоме -истомилась -исторг -историей -истории -историк -историческим -исторического -историю -история -источник -источника -источнике -источники -источников -истощался -истощена -истощенный -истощив -истощилась -истощился -истощится -истратила -истратили -истраченный -истраченных -истребил -истребить -истребленных -истребленья -истребляли -истреблять -истрепанная -истрепанное -истрепанном -истрепанных -истязал -истязаний -истязания -исход -исхода -исходе -исходить -исходя -исхудавшем -исхудалом -исцеленья -исцеляющую -исчахнет -исчез -исчезает -исчезал -исчезала -исчезали -исчезало -исчезать -исчезают -исчезла -исчезли -исчезло -исчезнет -исчезнете -исчезни -исчезнут -исчерпаешь -исчерпаны -исчерченных -исчисление -исчислил -исчислить -исшаркавшегося -ит -итак -итал -италии -италию -итальянски -итальянские -итальянский -итог -итога -итоги -итого -иуда -иудеев -иудеи -их -ихнего -ихнее -ихней -ихние -ихнюю -ихняя -ишь -ища -ищем -ищет -ищете -ищешь -ищи -ищите -ищу -ищут -ищущего -ищущие -июль -июля -июне -июнь -июня -й -йодоформ -к -ка -кабак -кабака -кабаке -кабаки -кабалу -кабацкой -кабачного -кабачным -кабинет -кабинета -кабинете -кабинетов -кабинетом -кабинету -каблук -каблуками -каблуки -каблучки -кабули -кабы -кавалер -кавалера -кавалерии -кавалеров -кавалеру -кавалеры -кавалькада -каватину -каватины -кавказе -кавказское -кавычках -кавычки -кадил -кадили -кадило -кадилом -кадильный -кадки -кадочка -кадочку -каждая -каждого -каждое -каждой -каждом -каждому -каждою -кажду -каждую -каждый -каждым -каждыми -кажет -кажетесь -кажется -кажешься -кажись -кажусь -кажутся -кажущуюся -казавшеюся -казавшийся -казак -казал -казалась -казались -казалось -казался -казанскою -казарм -казармах -казармой -казармы -казать -казаться -казачка -казачку -казачок -казенная -казенного -казенное -казенной -казенную -казенные -казенщину -казимир -казне -казней -казненных -казнены -казни -казнил -казнила -казнит -казните -казнить -казну -казны -казнь -казнью -казнят -казуистика -казуистики -казуистику -казус -кайма -как -какая -какие -каким -какими -каких -како -каков -какова -каково -каковы -каковые -какого -какое -какой -каком -какому -какою -кактусами -кактусов -каку -какую -кал -каламбуром -каланча -каланчой -калачей -калачом -калашный -калеб -калебов -калек -калека -календарем -календарь -календаря -калеными -калигула -калинникова -калитка -калитке -калитки -калитку -калиту -калош -калошах -калоши -камелии -камелий -камелиями -каменистом -каменистый -каменная -каменного -каменное -каменной -каменным -каменных -каменщик -камень -каменья -камер -камердинер -камердинером -камешек -камешкам -камешки -камином -камне -камней -камнем -камни -камню -камня -камням -камнях -каморка -каморке -каморки -каморку -кампанил -камушками -камфарой -камыш -камыша -камыши -канав -канавами -канаве -канавкой -канаву -канавы -канал -канала -каналы -каналью -каналья -канареек -канарейка -канарейками -канарейках -канарейки -канат -канве -канву -канвы -кандалов -канделябры -канет -канешь -каникулы -канкан -канканную -канул -канула -канцелярии -канцелярист -канцеляристов -канцеляристы -канцелярию -канцелярские -канцелярскими -канцоной -капали -капель -капельки -капельку -капернаумов -капернаумова -капернаумову -капернаумовых -капитал -капитала -капиталисты -капиталов -капиталом -капиталу -капиталы -капитальная -капитального -капитальное -капитальном -капитальному -капитальный -капитан -капитолии -капитэн -капкан -капле -каплей -каплет -капли -каплю -каплют -капля -каплям -каплями -капоте -каприз -каприза -капризам -капризах -капризен -капризная -капризница -капризничай -капризничал -капризничать -капризно -капризный -капризным -капризов -капризу -капризы -капсюль -капуста -капустой -капусту -капусты -кара -карабкался -карабкаясь -караван -карамзин -карандаш -карандашей -карандаши -карандашиком -карандашом -карать -караул -караулила -караулить -карашо -карающего -кардамонову -карет -карета -каретах -карете -каретного -каретное -каретой -карету -кареты -карий -карих -каркают -карлик -карловны -карлосу -карль -карман -кармана -карманам -карманах -кармане -карманном -карманные -карманный -карману -карманы -кармен -карменситы -карнизов -карп -карпатах -карпович -карт -карта -картавя -картам -картами -картах -карте -картежник -картин -картина -картинами -картине -картинка -картинки -картинно -картиной -картинок -картину -картины -картишки -картограмме -картограммой -картограмму -картограммы -картой -картонки -картонку -картофелем -картофель -картофелю -картофеля -карточек -карточка -карточку -карту -картуз -картуза -карты -кары -карьера -карьере -карьерой -карьеру -карьеры -касавшемуся -касавшийся -касается -касалась -касалось -касался -касаются -касающейся -касающемся -касающихся -касаясь -каске -каскетку -каски -кастаньет -кастелянши -кастрюль -кастрюлю -кастрюлями -катавшийся -катается -катай -катастроф -катастрофа -катастрофе -катастрофой -катастрофы -кататься -кате -катей -катерина -катерине -катериной -катериною -катерину -катерины -катехизис -кати -катила -катился -катит -каторгами -каторге -каторги -каторгу -каторжник -каторжного -каторжной -каторжные -каторжный -каторжных -катышек -катю -катя -катят -катятся -каучука -кафедру -кафедры -кафешантана -кафтан -кафтана -кафтане -кафтанов -кафэ -кацавеек -кацавейка -качавший -качает -качается -качал -качала -качали -качалка -качался -качанье -качаться -качающихся -качая -качели -качелях -качеств -качества -качествами -качествах -качестве -качнув -качнулся -качнусь -каша -кашей -кашель -каши -кашин -кашлем -кашля -кашляет -кашлял -кашляла -кашлянув -кашлянул -кашлять -кашляю -кашляя -каштановые -каюсь -каюта -каюте -каюту -каяться -квадратный -квадраты -квартал -квартала -квартале -квартального -квартальной -квартальному -квартальные -квартальный -квартальными -квартальных -кварташками -квартир -квартира -квартирам -квартирами -квартирах -квартире -квартиркам -квартирку -квартирная -квартирных -квартировать -квартирой -квартиру -квартиры -квас -квасом -квасу -квасцов -квасы -квентин -кверху -келье -келья -кем -кеплеровы -керченские -кивает -кивал -кивать -кивая -кивера -кивнув -кивнул -кивнула -кидает -кидается -кидал -кидала -кидать -кидаются -кидаясь -киев -киева -киеве -киевский -кий -кильватерной -кинематографе -кинжал -кинжалы -кину -кинув -кинул -кинулась -кинулись -кинулся -кинуто -кинутого -кинутые -кинуть -кинуться -киот -киотом -киоты -кипарисный -кипарисы -кипел -кипела -кипело -кипение -кипеть -кипит -кипсэком -кипучая -кипучими -кипят -кипятком -кипятят -кирбитьевна -кирбитьевне -кире -кирка -киркой -киркою -кирпич -кирпича -кирпичей -кирпичик -кирпичиков -кирпичный -кирпичных -кирсановский -кисеей -кисейная -кисейными -киселе -кисель -киселя -кислая -кисло -кислое -киснет -киссинген -кистей -кисти -кисть -кистью -китайских -китайского -китайцами -китах -кихотов -кичке -кичливости -кишат -кишела -кишели -кишки -клавикорды -клавиш -клавиши -клад -кладби -кладбища -кладбище -кладбищенской -кладбищу -кладет -кладете -кладите -кладку -кладовой -кладовую -кладом -кладу -кладут -кладя -клал -клала -кланявшиеся -кланяется -кланялась -кланялись -кланялся -кланяться -кланяются -кланяясь -кларнет -класса -классах -классе -класть -клеверными -клеверных -клевета -клевете -клеветник -клеветой -клевету -клеветы -клевещете -клевещут -клеенкой -клеенчатый -клейменые -клеймила -клеймили -клеймы -клеймят -клекот -клен -кленовые -клены -клетка -клетке -клетки -клетку -клетушка -клетушке -клетчатых -клешни -клещах -кликал -кликами -кликать -клике -клики -кликни -кликну -кликнул -кликнуть -климат -климата -климате -климатические -клинком -клинок -клич -кличет -кличешь -кличь -клоак -клоакам -клоаки -клобука -клок -клокотало -клокочут -клонил -клонилась -клонились -клонило -клонится -клоня -клонясь -клонятся -клопа -клопов -клопом -клопшток -клопы -клочка -клочками -клочке -клочки -клочком -клочок -клуб -клубами -клубе -клубный -клубов -клубок -клубы -клумбами -клюках -клюквы -клюкою -ключ -ключа -ключами -ключей -ключи -ключик -ключниц -ключница -ключом -клюют -кля -кляла -клялись -клялся -клянет -клянется -клянешь -кляни -клянусь -кляня -клясть -клясться -клятвам -клятвы -кляча -клячи -клячонка -клячу -кн -книг -книга -книгам -книгами -книгах -книге -книги -книгой -книгопродавец -книгопродавцы -книгу -книжек -книжечку -книжка -книжками -книжках -книжке -книжки -книжкой -книжку -книжной -книжные -книжный -книжонки -кнопа -кнопками -кнопку -кнут -кнута -кнутами -кнутов -кнутом -кнуту -кнуты -княгини -княгиня -княжеская -княжеский -княжеском -княжна -княжны -княжьего -князей -князь -князька -князья -князю -князя -ко -кобелева -кобыле -кобыленка -кобыленке -кобыленку -кобылиц -кобылица -кобылятниковым -ков -коварнее -коварно -коварную -коварные -коварства -коварство -коварству -кове -ковер -коверкала -коврам -коврами -коврах -ковре -коврик -ковров -ковром -ковру -ковры -ковчег -ковчега -ковчеге -ковша -ковы -ковылем -ковыли -ковыль -ковырять -когда -кого -когса -когти -когтит -когтями -когтях -кодексе -кое -коего -коему -кожаное -кожаном -кожаным -коже -кожи -коз -коза -козе -козел -козеля -козла -козловых -козлу -козни -козоедова -козы -козырев -козыри -козырьком -козьего -коим -коих -кой -кокардой -кокетку -кокетливо -кокетничает -кокетничаете -кокетничала -кокетничать -кокетничаю -кокетства -кокетстве -кокетство -кокетству -кол -кола -колбасница -колбасной -колбасы -колдовское -колдовства -колдун -колдуна -колдунья -колдуют -коле -колебалась -колебании -колебания -колеблется -колеблющейся -колеблющемся -колебля -колеблясь -колее -колеи -колен -колена -коленами -коленах -колене -коленей -колени -коленках -коленке -коленки -коленкоровые -коленку -колено -коленопреклоненным -коленочках -коленяк -коленям -коленями -коленях -колес -колеса -колесами -колесах -колеснице -колесо -колец -колечище -колечках -колечко -колечком -колею -колеями -коли -количестве -количество -количеством -колко -коллежский -коллежским -коллежского -коллежской -коллежскую -коллекцию -коллекция -колода -колодезь -колодец -колодник -колодой -колоду -колок -колокол -колокола -колоколов -колокольни -колокольный -колокольным -колокольня -колокольцы -колокольчик -колокольчика -колокольчики -колокольчиков -колокольчику -колола -кололись -коломенских -колонии -колоннами -колонной -колонны -колорит -колорита -колоритом -колос -колосья -колотилины -колотит -колотится -колотить -колотиться -колотушку -колоть -колоться -колотятся -колпак -колпаке -колпаки -колпаком -колпине -колумба -колхидой -колчан -колыбель -колыбелью -колымаге -колымягин -колыхалась -колыхаться -колыхаясь -коль -колька -кольца -кольце -кольцо -кольцом -кольцы -кольчугу -колю -колючие -колючий -колючих -коля -коляска -коляске -коляски -коляской -коляску -колясочке -колясочкой -колясочку -ком -команда -команде -командир -командиров -командировку -командиром -командовал -командор -командора -комары -комбинаций -комедии -комедию -комедия -комет -комета -кометы -комизм -комик -комиссии -комиссию -комиссия -комическая -комические -комической -комическую -комкая -комком -комку -коммерческий -коммиссаржевской -коммун -коммуна -коммуне -коммуну -коммуны -комнат -комната -комнатам -комнатах -комнате -комнатка -комнатке -комнатки -комнатку -комнатном -комнату -комнаты -комод -комода -комоде -комоду -комок -компанейские -компанией -компании -компанию -компания -компаньоном -компаньоны -комплекции -комплимент -комплимента -комплиментов -комплименты -компромиссов -кому -комфорт -комфорта -комфорте -комфортно -конверт -конвоем -конвойного -конвойный -конвульсии -конго -конгрессов -кондитера -кондитерской -кондрашки -кондуктор -коне -коней -конец -конечно -конечные -конник -конница -консервативное -консервативные -консерватории -консилиум -конская -конский -конских -конспиративным -констан -константин -константина -константином -константинополь -константину -конституцией -конституций -консультации -контор -контора -конторах -конторе -конторка -конторскую -контору -конторщик -конторщика -конторы -контрабас -контракт -контракта -контракте -контрактом -контракту -контракты -контральтом -контрдансов -контролем -контру -конур -конуре -конуру -конуры -конус -конфекты -конфетами -конфузился -конфузится -конфузишься -конфузливо -конфузливы -конфузьтесь -конфузятся -конца -концам -концах -конце -концентрировалась -концентрических -концепция -концерт -концертах -концерте -концов -концом -концу -концы -кончается -кончалась -кончались -кончалось -кончался -кончатся -кончать -кончаю -кончаются -кончен -кончена -кончено -кончив -кончивших -кончик -кончике -кончики -кончиком -кончил -кончила -кончилась -кончили -кончились -кончилось -кончился -кончим -кончит -кончится -кончить -кончиться -кончишь -кончу -конь -коньке -коньяк -коньяком -коньяку -коньячком -коню -конюшен -конюшенную -конюшне -конюшни -конюшню -конюшня -коня -копаю -копают -копеек -копеечки -копейка -копейками -копейке -копейки -копейкой -копейку -копен -коперник -коперника -копи -копии -копит -копить -копиться -копию -копна -копоть -копошились -копыт -копыта -копытами -копытом -корабли -корабль -кораблю -корабля -кораллов -кордегардии -корделией -корделии -корделия -коренной -коренные -коренным -коренными -коренных -кореньями -корешки -корзине -корзинку -корзиной -корзиночкой -корзину -корзины -коридор -коридора -коридоре -коридоров -коридором -коридору -корит -корица -корицей -корицу -корицы -коричневого -коричневое -коричневой -коричневыми -корка -корки -кормами -корми -кормил -кормилец -кормили -кормилица -кормит -кормить -кормишь -кормление -кормят -корней -корнелия -корнем -корнета -корнету -корни -корню -коробит -коробить -коробиться -коробка -коробке -коробки -коробку -коробочками -коробочке -коробочки -коробясь -корова -коровам -корове -коровник -корову -коровы -коровье -коровьими -корок -королева -королевой -король -короля -короне -корону -короны -коротаю -коротенькие -коротенький -коротеньким -коротенькой -коротеньком -коротки -короткий -короткими -коротких -коротко -короткого -короткое -коротком -короче -корпию -корпус -корпуса -корпусом -корреджиевой -корректна -корректуру -корреспонденции -корреспонденция -корточках -корчаги -корчит -коршун -коршуну -коры -корыстолюбивых -корысть -корыта -корытами -корыте -корыто -корь -кос -коса -косами -косвенно -косенький -косится -косичку -космос -коснел -косности -косноязычен -косноязычная -косноязычное -косноязычные -коснувшись -коснулись -коснулось -коснулся -коснуться -косо -косоворотке -косоворотку -косой -косоплеткой -косою -косте -костей -костер -кости -костлявой -косточкам -косточкой -косточку -костра -кострами -костров -кость -костюм -костюма -костюмах -костюме -костюмов -костюмом -костюму -костюшку -костя -костяной -костяшек -косы -косым -косынка -косынкой -косынку -косынок -косыночка -косыночки -косыночку -косяком -косясь -косят -косятся -кот -кота -котенка -котенком -котеночка -котлет -котлетам -котлетки -котлеты -котомку -которая -которого -которое -которой -котором -которому -которою -которую -которые -который -которым -которыми -которых -коттедж -коттень -коты -кофе -кофеем -кофеи -кофей -кофейник -кофейника -кофейником -кофейнику -кофейной -кофею -кофеями -кофий -кофточка -кофточки -кофточку -кох -коха -кохане -кохом -кочевые -коченеют -кочергой -кочкам -кочки -кочующих -кошачьи -кошек -кошелек -кошелька -кошельке -кошемар -кошка -кошки -кошкой -кошмар -кощунственных -кра -краб -краденое -крадеными -крадешь -краев -краем -краешком -кража -краи -край -крайне -крайнее -крайней -крайний -крайних -крайностей -крайности -крайность -крайностях -крайнюю -крако -крал -кран -крапиве -крапивой -крапиву -крапинками -краса -красавец -красавиц -красавица -красавицам -красавице -красавицей -красавицы -красавцем -красе -красен -красив -красива -красивая -красивее -красивенькая -красиво -красивое -красивой -красивом -красивую -красивы -красивые -красивый -красивыми -красивых -красил -красили -красильщик -красильщика -красильщике -красильщики -красильщиков -красит -красить -краска -красками -красках -краске -краски -краской -краскою -краску -красная -краснеет -краснеешь -краснел -краснела -красненькие -красненький -красненькой -красненькую -краснеть -краснею -краснеющим -краснея -красно -красноватое -красноваты -красноватые -красноватый -красноватыми -красного -красное -красной -красном -красному -красноречиво -красноречивое -красноречивые -красноречие -краснощекая -красною -красную -красны -красные -красный -красным -красными -красных -красовался -красой -красок -красот -красота -красоте -красотой -красотою -красоту -красоты -красочны -красть -красу -красы -кратер -краткие -кратко -кратковременного -краткости -краткую -кратчайшим -крахмалит -крашеные -крашеный -краю -края -краям -краях -кредит -кредитивные -кредитками -кредитке -кредитки -кредитку -кредитный -кредитными -кредитовать -кредиток -кредиторшей -кредиту -кремля -кремнист -кренделей -крендельков -кренделями -крепилась -крепили -крепился -крепитесь -крепится -крепка -крепкие -крепкий -крепким -крепко -крепкое -крепкой -крепкую -крепнет -крепок -крепости -крепостник -крепостники -крепостного -крепостном -крепостные -крепостным -крепостных -крепость -крепостью -крепчал -крепче -крепь -крепясь -кресел -кресла -креслами -креслах -кресле -кресло -креслом -крест -креста -крестами -кресте -крестик -крестил -крестила -крестилась -крестили -крестился -крестин -крестины -крестит -крестится -крестить -крестненький -крестную -крестным -крестов -крестовском -крестовые -крестом -кресту -кресты -крестьян -крестьянам -крестьянами -крестьяне -крестьянин -крестьянина -крестьянка -крестьянская -крестьянских -крестьянской -крестясь -крещены -крещенье -крещенью -кривая -кривизну -кривизны -кривила -кривились -криво -кривой -кривом -кривы -кривыми -кризис -крик -крика -криками -криках -крике -крики -крикливо -крикнет -крикнешь -крикнул -крикнула -крикнуть -криков -криком -крику -кринолине -кристаль -кристально -критик -критики -критиков -критиковать -крича -кричал -кричала -кричали -кричаль -кричат -кричать -кричащем -кричи -кричит -кричите -кричишь -кричу -кров -кровавая -кровавиться -кровавого -кровавой -кровавый -кровавых -кровати -кроватка -кроватке -кровать -кроватью -кроватями -кровель -крови -кровию -кровлей -кровлю -кровля -кровлями -кровная -кровное -кровные -кровный -кровом -кровообращение -кровопроливцы -кровопролитий -кровотечение -кровь -кровью -кроется -кроила -кроить -крокета -крокодилов -кроликов -кроме -кроне -крот -кроткая -кроткие -кроткий -кротким -кроткими -кротких -кротко -кроткого -кроткое -кроток -кротости -кротостию -кротость -кротостью -крошат -крошеные -крошечная -крошечное -крошечную -крошечные -крошить -крошка -крошки -кру -круазе -круг -круга -кругам -кругами -кругах -круге -круги -кругла -круглая -кругленькие -круглого -круглое -круглой -круглолицая -круглом -круглую -круглые -круглый -круглым -круглыми -круглых -кругов -круговорот -круговорота -кругом -кругу -кружатся -кружащаяся -кружащийся -кружев -кружева -кружевами -кружевах -кружевною -кружевных -кружево -кружевцом -круженье -круженьем -круженья -кружи -кружилась -кружились -кружит -кружится -кружить -кружиться -кружках -кружке -кружки -кружку -кружок -крупно -крупного -крупной -крупные -крупным -крупными -крупных -крупой -крупы -крутая -крутившимся -крутизну -крутились -крутился -круто -крутого -крутой -круторогий -крутым -крутыми -крутясь -кручами -круче -кручи -кручину -круша -крушить -крыл -крыла -крылами -крылатое -крылатый -крылах -крылий -крылись -крыло -крылова -крылом -крыльев -крыльем -крыльца -крыльце -крыльцо -крыльцом -крыльцу -крылья -крыльями -крыльях -крым -крыма -крыс -крысах -крысиную -крысой -крысы -крытая -крытой -крытые -крыш -крыше -крышей -крыши -крышку -крышу -крюк -крюков -крюком -крюку -крючка -крючках -крючке -крючком -крючкотворец -крючок -крючочки -крякнет -крякнул -кряхтела -кряхтит -кряхтите -кряхтя -кстати -ксюша -кто -кувшинами -кувыркнулся -кувырком -куда -кудахтает -кудахтал -кудахтанье -кудахтаньем -кудахтающие -кудель -кудрей -кудри -кудрино -кудрявой -кудрями -куды -кузины -кузнец -кузнеца -кузнецов -кузнецу -кузнечики -кузница -кузовковы -кузьку -кузьминична -куклы -куколку -кукушка -кулак -кулаками -кулаке -кулаки -кулаком -кулачонками -кулебяк -кулебяка -кулебяки -куликовом -куликовым -кулинарной -кулиса -кулыгин -кулыгина -кулыгину -кулыгиным -кулькова -кульком -культурные -кум -кума -кумачах -куме -кумир -кумирню -кумиром -кумиры -кумой -кумом -куму -кумы -купала -купалась -купались -купальне -купальню -купальня -купания -купаньем -купаться -купец -купеческие -купеческих -купи -купидонов -купил -купила -купит -купить -купишь -куплен -куплена -купленное -купленную -купленные -купленными -куплено -куплю -купол -куполом -купоны -купца -купцам -купцах -купцов -купцу -купцы -купчик -купчиха -кур -куражился -курами -куранты -куреньями -курил -курилась -курился -куриная -куриную -курит -курите -курить -курица -курице -курицей -курицу -курносое -курносые -курок -куролесил -куропатки -курс -курса -курсистка -курске -куртины -куртке -куртки -куртку -курточки -курточку -курчавою -курчавый -куры -курьез -курьезу -курьер -курьера -курьерский -курьеру -курю -куря -курятникам -курятники -курящейся -курящих -кусали -кусая -куска -кускам -куски -куском -кусок -кусочек -кусочка -кусочкам -кусочками -кусочки -куст -кустам -кустами -кустарник -кустах -кусте -кустика -кустов -кустом -кусты -кутает -кутались -кутаясь -кутит -кутьи -кутью -кутья -кухарка -кухарками -кухарках -кухарке -кухарки -кухаркой -кухарку -кухарок -кухмистерской -кухне -кухней -кухни -кухню -кухня -кухням -кухонной -кухонный -куцой -куча -куче -кучей -кучер -кучера -кучерам -кучерами -кучере -кучером -кучеру -кучи -кучка -кучками -кучки -кучку -кучу -кушает -кушай -кушак -кушаком -кушал -кушала -кушало -кушанье -кушанья -кушать -кушаю -кушают -кушетке -кушетку -куши -куще -кующей -кхе -кхи -л -ла -лабаз -лабазника -лабазнике -лабазнику -лабиринт -лавиза -лавизе -лавизу -лавизы -лавину -лавкам -лавках -лавке -лавки -лавкой -лавку -лавочек -лавочка -лавочкам -лавочках -лавочке -лавочки -лавочку -лавочник -лавочники -лавочнику -лавочные -лавр -лаврентий -лаврентия -лавром -лавры -лагере -лагерь -лагуне -лагуны -лад -ладан -ладах -ладил -ладить -ладно -ладони -ладонь -ладонью -ладонями -лады -ладью -лае -лаем -лает -лаетесь -лается -лазаревич -лазарь -лазаря -лазил -лазить -лазури -лазурной -лазурь -лай -лайдак -лайтесь -лакедемонов -лакее -лакеев -лакеи -лакей -лакейским -лакейской -лакейскому -лакейскую -лакейщину -лакею -лакея -лакеям -лакированные -лакомств -лампа -лампада -лампадки -лампадой -лампе -лампой -лампу -лампы -лангвагеном -лангвагену -ландышах -ландышей -ландыши -ланитам -ланиты -лапах -лаптев -лаптей -лапу -лапши -лапшу -ларец -ларцов -лас -ласк -ласка -ласкает -ласкал -ласкала -ласкалась -ласками -ласкательный -ласках -ласкаю -ласкают -ласкаются -ласкающая -ласкающем -ласкающую -лаская -ласкаясь -ласке -ласки -ласков -ласковая -ласковее -ласково -ласкового -ласковость -ласковы -ласковые -ласковый -ласковым -ласковых -лаской -ласку -ласточка -ласточкино -лат -латах -латник -латыни -латынскую -латынью -латыши -лафитом -лачуг -лая -лаяла -лаять -лба -лбов -лбом -лбу -лгал -лгала -лгали -лгать -лги -лгу -лгунишка -лгунью -лгут -лгущие -лебедей -лебеди -лебедь -лебезил -лебезятников -лебезятникова -лебезятникове -лебезятникову -лебезятниковым -левая -левого -левой -левом -левою -левую -левый -левым -лег -легавая -легион -легиона -легистраторша -легка -легкая -легкие -легкий -легким -легкими -легких -легко -легковерная -легковерные -легкого -легкое -легкой -легком -легкомыслен -легкомысленнее -легкомысленно -легкомысленного -легкомысленное -легкомысленной -легкомысленных -легкомыслие -легкомыслием -легкомыслии -легкомыслия -легкоперой -легкою -легкую -легла -легли -легло -легок -легонько -легче -лед -леденец -леденея -леденит -леденцами -леденцах -леденящий -леди -ледком -ледоход -ледяная -лежа -лежавшего -лежавшее -лежавшие -лежавший -лежавшим -лежавшими -лежавших -лежавшую -лежал -лежала -лежали -лежало -лежанке -лежанки -лежанку -лежанок -лежанье -лежаньем -лежанья -лежат -лежать -лежащего -лежащий -лежащими -лежащую -лежи -лежит -лежите -лежишь -лежу -лез -лезвие -лезвием -лезвию -лезгинку -лезет -лезешь -лезть -лезут -лейтмотив -лейтмотивом -лекарем -лекарств -лекарства -лекарствами -лекарствах -лекарственных -лекарство -лексиконе -лектор -лекции -лекций -лекцию -лелеемый -лелеет -лелей -лелеял -лена -лене -лени -ленив -ленивая -ленивее -ленивец -лениво -ленивого -ленивое -ленивой -ленивом -ленивою -ленивы -ленивые -ленивый -ленивых -ленился -ленора -лености -леночка -лентами -лентах -ленточек -ленточке -лентою -ленты -лентяй -лентяя -лень -ленью -леню -леня -леонардо -леонид -леонида -лепестки -лепет -лепетал -лепетала -лепетом -лепечет -лепилась -лепились -лепно -лепят -лепятся -лермонтов -лермонтова -лес -леса -лесами -лесах -лесе -лесничестве -лесничество -лесничий -лесной -лесные -лесных -лесов -лесок -лесом -лести -лестию -лестниц -лестница -лестницами -лестнице -лестницей -лестницу -лестницы -лестничестве -лестно -лестного -лестным -лестных -лесть -лестью -лесу -лет -лета -летает -летаешь -летай -летал -летала -летало -летам -летами -летать -летах -летают -летевшую -летел -летела -летели -лететь -лети -летим -летит -летите -летишь -летнего -летнее -летней -летнем -летнему -летние -летний -летних -летнюю -летняя -лето -летом -летописей -лету -летун -летучая -летучей -летучим -летучих -летя -летят -лечат -лечебницу -лечению -лечения -лечи -лечил -лечилась -лечит -лечить -лечиться -лечишься -лечь -лешие -леший -лешим -лжет -лжете -лжешь -лжи -лжива -лживой -лживою -ли -либерал -либерализма -либералы -либеральной -либеральный -либеральным -либо -ливень -ливингстона -ливрее -ливреи -ливрейном -ливрея -лида -лидией -лидинька -лидию -лидия -лидочка -лидочке -лидочкой -лидочку -лизавета -лизавете -лизаветин -лизаветина -лизаветой -лизавету -лизаветы -лизнет -лик -лике -ликов -ликованье -ликом -ликует -ликург -ликургами -лил -лилась -лилии -лилий -лились -лиллас -лилово -лиловое -лиловые -лиловыми -лился -лимон -лимонничаешь -лимоном -линейке -линейки -линейку -линией -линии -линий -линию -линия -линор -линялая -линять -лион -липкий -липким -липкой -липли -липовая -липового -липовые -липовым -липовых -липпевехзель -липпи -липу -липы -лира -лирическая -лисица -лиссабонского -лиссабонское -лист -листа -листами -листе -листиках -листиков -листка -листках -листке -листки -листов -листок -листом -листочки -листу -листы -листьев -листья -листьях -лись -литавр -литейной -литейном -литератор -литераторов -литератором -литераторы -литература -литературе -литературно -литературном -литературную -литературный -литературой -литературу -литературы -лития -лить -лифчик -лихо -лихом -лихоманка -лихорадка -лихорадке -лихорадки -лихорадку -лихорадочная -лихорадочно -лихорадочного -лихорадочное -лихорадочной -лихорадочность -лихорадочную -лихорадочный -лихорадочным -лихорадочных -лиц -лица -лицами -лицах -лице -лицезреть -лицемерный -лицо -лицом -лицу -личек -личика -личике -личико -личиком -личиной -личная -лично -личного -личной -личном -личному -личности -личность -личностью -личную -личные -личный -личным -личных -лишает -лишали -лишений -лишениями -лишенное -лишенной -лишенною -лишенные -лишено -лишившийся -лишил -лишились -лишился -лишить -лишком -лишнего -лишнее -лишней -лишние -лишний -лишним -лишних -лишняя -лишу -лишь -ло -лоб -лобзаний -лобызает -ловелас -лови -ловил -ловит -ловить -ловкая -ловкий -ловко -ловкость -ловкую -ловлю -ловушка -ловушкой -ловушку -ловя -ловят -лога -логика -логики -логикой -логиныч -логическая -логически -логическим -логической -логично -логичны -лодка -лодке -лодки -лодку -лодочник -лодочника -лодочнику -ложа -ложась -ложатся -ложе -ложек -ложем -ложементов -ложечка -ложечки -ложечкой -ложечку -ложи -ложилась -ложились -ложилось -ложился -ложись -ложитесь -ложится -ложиться -ложка -ложки -ложку -ложного -ложное -ложные -ложу -ложь -ложью -лоз -лозунг -лозунгом -локон -локончиками -локончики -локоть -локтей -локтем -локти -локтя -локтями -локтях -лом -ломает -ломаешь -ломайтесь -ломал -ломала -ломаль -ломаной -ломать -ломаться -ломаю -ломают -ломаются -ломая -ломбард -ломберном -ломберный -ломберными -ломились -ломится -ломка -ломки -ломовою -ломовых -ломом -ломоть -ломтем -ломтю -ломят -лона -лондон -лондона -лондоне -лоне -лоно -лопастей -лопасти -лопатками -лопатой -лопахин -лопахина -лопахину -лопахиным -лопнет -лопнувшей -лопнула -лопнуло -лорд -лордом -лорнет -лорнеткой -лорнетку -лорнировала -лоси -лоск -лоскутка -лоскутки -лоскутков -лоскутное -лоскуток -лоскуты -лоскутья -лоснилась -лоснятся -лоснящиеся -лососина -лососиной -лота -лотереей -лотереи -лотерею -лотках -лото -лохматый -лохмотник -лохмотников -лохмотьев -лохмотья -лохмотьям -лохмотьях -лошадей -лошаденка -лошаденке -лошаденку -лошади -лошадиное -лошадке -лошадки -лошадку -лошадь -лошадьми -лошадью -лошадям -лошадях -луг -луга -лугов -лугом -лугу -лужа -луже -лужи -лужин -лужина -лужине -лужинская -лужину -лужиным -лужица -лужице -лужу -луиза -лук -лука -лукав -лукавая -лукавил -лукавит -лукавить -лукавлю -лукаво -лукавого -лукавое -лукавой -лукавою -лукавства -лукавство -лукавством -лукавые -лукавый -лукавым -лукавыми -лукавых -лукавь -луковицу -луком -лукоморья -луку -луна -лунатизм -луне -лунная -лунного -лунной -лунном -лунному -лунные -лунный -лунным -луной -луну -луны -лупить -луч -луча -лучам -лучами -лучах -лучезарнее -лучей -лучи -лучинку -лучину -лучины -лучистые -лучистыми -лучом -лучшая -лучше -лучшего -лучшее -лучшей -лучшему -лучшие -лучший -лучшим -лучших -лучшую -лущить -лчать -лый -лысая -лысина -лысине -лысиной -лысину -лысый -лысым -ль -львиного -львиное -львице -львицей -львов -львович -львовна -льву -львы -льда -льдины -льдом -льет -льется -льзя -льнет -льном -льстецам -льстиво -льстивое -льстивый -льстил -льшая -льшим -льших -льшую -льщу -льюиса -льют -лю -люба -любви -любезен -любезна -любезнее -любезнейшая -любезнейший -любезно -любезной -любезностей -любезность -любезностью -любезностями -любезны -любезные -любезный -любезным -любезных -любека -люби -любивший -любил -любила -любили -любило -любим -любимая -любимец -любимице -любимо -любимого -любимое -любимой -любимую -любимца -любимцу -любимые -любимый -любимым -любимых -любит -любите -любитель -любителя -любить -любишь -люблю -любо -любовалась -любовались -любовался -любоваться -любови -любовник -любовника -любовники -любовником -любовница -любовницей -любовницы -любовно -любовные -любовных -любовь -любовью -любого -любое -любом -любопытен -любопытная -любопытнейшими -любопытно -любопытного -любопытной -любопытную -любопытные -любопытный -любопытным -любопытными -любопытных -любопытства -любопытство -любопытством -любопытствую -любуется -любуйся -любуясь -любя -любят -любящего -любящее -любящей -любящие -любящим -любящимися -любящихся -люд -люда -людвиговна -людвиговной -людвиговну -людей -люди -людовике -людом -людская -людски -людские -людских -людской -людскому -людскую -людьми -людям -людях -люли -люстра -лютни -лютой -лютые -люциферова -ля -ляг -лягаев -лягается -лягаться -лягнул -лягу -лягут -лягушек -лядащая -ляжет -ляжете -ляжешь -лязбиля -лязг -лязгают -ляп -м -ма -мавзолей -мага -магазин -магазина -магазинам -магазине -магазинов -магазины -магарыч -магдалина -магистром -магического -магнатские -магнетизер -магомет -магометами -магометом -мадам -мадемуазель -мадера -мадеры -мадонн -мадонне -мадонну -мадонны -мае -маевские -мается -маешься -мажет -мажордом -мажордомы -мажу -мазали -мази -мазилкой -мазнул -мазурика -мазурка -мазурке -мазурки -мазурку -мазью -май -майков -майор -майора -майором -майская -майские -майскими -майских -мак -макароны -маклашиных -маклера -маковой -маковый -маку -макушка -макушке -мал -мала -маланья -малейшая -малейшего -малейшей -малейшем -малейшему -малейший -малейших -малейшую -маленькая -маленькие -маленький -маленьким -маленькими -маленьких -маленько -маленького -маленькое -маленькой -маленьком -маленькому -маленькою -маленькую -малина -малинки -малиновая -малинового -малиной -малину -малины -малицкое -мало -маловажное -маловажной -малого -малограмотный -малодейственных -малодушие -малодушии -малодушия -малодушного -малодушной -малое -малой -малолетним -малолетними -малолетными -малом -малому -малоподвижная -малостоящее -малость -малую -малые -малый -малым -малыми -малых -мальски -мальчик -мальчика -мальчике -мальчики -мальчиком -мальчику -мальчишек -мальчишески -мальчишескою -мальчишечка -мальчишка -мальчишкам -мальчишками -мальчишке -мальчишки -мальчишков -мальчишкой -мальчишку -мальчонком -мальчугана -малютки -малюток -малявочка -малявочкой -маляре -маляры -мама -мамай -мамасю -мамася -мамаша -мамаше -мамашей -мамаши -мамашину -мамашу -маме -маменька -маменьки -маменькой -маменьку -мамками -мамочка -маму -мамы -ман -манго -мандолина -мандолине -манер -манера -манерами -манерах -манерой -манером -манеру -манеры -манжет -манжетах -мани -манил -манила -манило -манир -манит -манифест -манишка -манишки -манишку -манкировал -манкировали -манкировать -манкируете -мансардах -мансарде -мантилий -мантильи -мантильке -мантильку -мантилью -манто -манфредами -манящие -маргарита -марево -марии -марина -марине -мариновали -марину -марины -марионетками -марию -мария -марк -маркизы -мармелад -мармеладов -мармеладова -мармеладову -мармеладовым -мармеладовых -марсово -март -марта -марте -марфа -марфе -марфой -марфу -марфы -марш -марширующих -марье -марьей -марьи -марью -марья -марьяж -маска -маскарад -маскарада -маски -маской -маску -масла -масленица -масленице -масленицы -маслеными -масло -маслом -маслу -масляною -масок -масса -массивная -массивный -массивных -массимо -массис -массою -массу -массы -мастей -мастер -мастерица -мастеровому -мастеровым -мастеровых -мастером -мастерская -мастерски -мастерских -мастерское -мастерской -мастеру -масштабе -матвевна -матвеевич -матвеевича -матвеевичем -матвеевичу -матвеевна -матвеевне -матвеевной -матвеевну -матвеевны -матвеем -матвеич -матвеича -матвеичем -матвей -математики -математику -математически -математический -математических -математической -математическую -матерей -матери -материал -материала -материалов -материалом -материалу -материалы -материальной -материальную -материальные -материальный -материальных -материею -материи -материй -материнским -материнское -материю -материя -матерчатое -матерь -матерью -матерьялистских -матовому -матовый -матовых -матом -матрена -матрос -матросы -матушка -матушки -матушку -матчиш -мать -махал -махать -махая -махнешь -махнув -махнул -махнула -махов -махочкие -махочкую -маху -мачеха -мачехе -мачехи -мачехой -мачтам -мачтах -маша -маше -машей -машенька -машеньки -машенькой -машет -маши -машин -машина -машинально -машине -машинистом -машинку -машину -машины -машка -машу -мая -маяк -маяки -маятник -маятника -маятником -маяться -маячишь -мгла -мгле -мглист -мглистой -мглистом -мглистый -мглой -мглою -мглу -мглы -мгновение -мгновением -мгновений -мгновения -мгновениями -мгновенно -мгновенного -мгновенное -мгновенной -мгновенный -мгновенным -мгновенье -ме -мебели -мебель -мебельном -мебельщику -меблированная -меблированные -меда -медали -медаль -медальон -медальоне -медалях -медведе -медведей -медведенка -медведенко -медведенком -медведенку -медведь -медведя -медвежью -меди -медикаменты -медики -медиком -медицине -медицинский -медицинское -медицину -медицины -медленная -медленнее -медленно -медленного -медленное -медленною -медленный -медленным -медленных -медли -медлил -медлила -медлит -медлительно -медлительностью -медлю -медля -медно -медного -медной -медном -медную -медные -медный -медными -медных -медовые -медовых -меду -меды -медь -медью -меж -между -межу -мездровых -мейербер -мел -меланхолик -меланхолики -меланхолически -меланхолический -меланхолической -меланхоличный -меланхолия -меленьким -мелет -мелете -мелеют -мели -мелка -мелкая -мелкие -мелкий -мелким -мелкими -мелких -мелко -мелкого -мелкое -мелкой -мелкоозабоченные -мелкопоместный -мелкою -мелодией -мелодраме -мелом -мелочам -мелочах -мелочей -мелочи -мелочной -мелочною -мелочную -мелочных -мелочь -мелочью -мелькавшие -мелькавшим -мелькавших -мелькает -мелькал -мелькала -мелькалась -мелькали -мелькало -мелькают -мелькающем -мелькающие -мелькнет -мелькнувшей -мелькнувшем -мелькнувший -мелькнул -мелькнула -мелькнуло -мелькнуть -мельком -мельник -мельниц -мельнице -мельницей -мельницы -мельничного -мельчайшей -мельчайшие -мельчайших -мельчал -мелю -мена -мене -менее -ментоны -меньшая -меньше -меньшее -меньшей -меньшие -меньшинство -меньшого -меньшой -меньшую -меня -меняет -меняетесь -меняется -меняешь -менял -менялась -менялись -менялы -менять -меняясь -мер -мера -мерам -мере -мерещилась -мерещились -мерещилось -мерещился -мерещится -мерещиться -мерещутся -мерзавец -мерзавцы -мерзкий -мерзко -мерзкой -мерзкую -мерзлого -мерзнуть -мерзок -мерзости -мерзость -мерке -мерки -меркнет -мерку -мерлехлюндии -мерно -мерное -мерные -мерный -мерным -мерой -мертв -мертва -мертвая -мертвее -мертвец -мертвеца -мертвецам -мертвецами -мертвецах -мертвецу -мертвецы -мертвечинкой -мертво -мертвого -мертвое -мертвой -мертвому -мертвую -мертвые -мертвый -мертвым -мертвых -мертвящей -меру -мерцает -мерцание -мерцанье -мерцаньем -мерцающий -мерцающими -меры -меря -меряясь -мессианическую -мессины -мессия -мессы -мест -места -местам -местами -местах -месте -местечка -местечках -мести -местности -местность -место -местов -местом -местоположение -месту -месть -местью -месяц -месяца -месяце -месяцев -месяцем -месяцу -месяцы -метал -металась -металл -металлическая -металлической -метался -метаний -метать -метаться -метафизике -метели -метелицей -метель -метельную -метелью -метеоры -метешь -мети -метит -меткое -метлинскому -метлой -метнула -метнулись -метнулся -метод -метода -методически -метр -мету -мех -меха -механизм -механики -механически -мехмет -мехов -меховая -меховою -меховую -мехом -меч -мечами -мече -мечет -мечетесь -мечи -мечом -мечта -мечтавшую -мечтает -мечтается -мечтаешь -мечтал -мечтала -мечтали -мечталось -мечтам -мечтами -мечтаний -мечтания -мечтаниями -мечтаниях -мечтанье -мечтанья -мечтатель -мечтательница -мечтательно -мечтательностию -мечтательность -мечтательных -мечтателям -мечтать -мечтах -мечтаю -мечте -мечтой -мечту -мечты -мечусь -мечут -мечутся -мешавшее -мешавшийся -мешавших -мешаем -мешает -мешаете -мешается -мешай -мешайте -мешал -мешала -мешалась -мешали -мешались -мешало -мешать -мешаться -мешаю -мешают -мешаются -мешающего -мешающую -мешая -мешаясь -мешкать -мешкая -мешке -мешки -мешок -мещан -мещане -мещанин -мещанина -мещанинишка -мещанинишкой -мещанинишку -мещанином -мещанка -мещанок -мещаночка -мещански -мещанской -ми -миг -мига -мигавшие -мигает -мигал -мигали -мигать -мигают -мигающего -мигая -миги -мигнет -мигни -мигнувший -мигнул -мигнуть -мигом -мигрень -мизерном -мизерные -мизерных -мизинца -микельанджело -миколай -миколаю -миколая -миколка -миколке -миколки -миколкину -миколкой -миколку -микробами -микроскопические -микроскопических -микстуру -мил -мила -милашка -милая -милее -милейшая -милейший -миленькая -миленькие -миленький -милитриса -милитрисе -миллиарды -миллион -миллиона -миллионами -миллионер -миллионером -миллионная -миллионов -миллиону -миллионы -мило -миловать -милого -милое -милой -милосерд -милосердии -милосердию -милосердия -милосердному -милосердные -милосердный -милосердным -милосердые -милосердый -милости -милостив -милостивая -милостивее -милостивое -милостивый -милостисдарь -милостию -милостыни -милостыню -милость -милочка -милую -милы -милые -милый -милым -мильон -милюков -милютины -миме -мимики -мимо -мимолетное -мимолетной -мимолетных -мимоходом -миндаль -миндалю -миндаля -минералами -минет -министерства -министерстве -министр -министра -министрам -министром -министру -миновав -миновал -миновала -миновалась -миновались -миновало -миновалось -миновать -миной -мину -минувшего -минувшее -минувшем -минувших -минует -минул -минусом -минут -минута -минутами -минутах -минуте -минутки -минутку -минутно -минутного -минутное -минутны -минутный -минутой -минуток -минуточку -минутою -минуту -минуты -минуют -минуя -мины -миньятюрных -мир -мира -мираж -миражами -миражи -мире -мирен -мирилась -миримся -мирит -мирится -мирить -мириться -мирно -мирного -мирное -мирной -мирный -мирным -мирных -миров -мировая -мирового -мировое -мировой -мировою -мировую -мировых -миролюбивого -миром -миртов -мирты -миру -миры -мирянам -мирятся -мисс -мистик -мистифицировать -мистически -мистическое -мистическом -митреем -митрей -митрея -митрофаниевском -митька -митьки -митькой -митьку -михаил -михаила -михайлов -михайлович -михайловна -михайловну -михайловны -михайловским -михайлыч -михайлычем -михеем -михей -михею -михея -мицкевича -мичману -миша -мише -мишель -мишу -мишуры -младая -младенец -младенца -младенцев -младенцем -младенцу -младенческий -младенческой -младость -младшая -младшей -младшему -младший -младшую -младые -млет -мне -мнение -мнением -мнении -мнений -мнению -мнения -мнет -мнителен -мнительно -мнительность -мнительный -многие -многим -многими -многих -много -многого -многодумный -многое -многознаменателен -многозначительны -многоколонный -многократно -многократное -многолюдный -многолюдству -многом -многому -многообещавшее -многообещающих -многообразным -многопенный -многоразличны -многоразличных -многоречиво -многословные -многостороннее -многотрудной -многотрудный -многоуважаемая -многоуважаемой -многоуважаемою -многоуважаемый -многоцветными -многочисленнее -многочисленнейшее -многочисленной -многочисленные -многочисленными -многочисленных -многоэтажный -многоярусный -множественном -множество -множеством -множит -мнози -мной -мною -мня -мо -мов -мовщина -мог -могил -могила -могиле -могилка -могилке -могилки -могилкой -могилой -могилою -могилу -могилы -могильная -могильной -могильный -могильными -могильщик -могла -могли -могло -могу -могут -могуче -могучей -могучие -могучий -могучих -могущее -могущество -могущие -мода -моде -модели -моделью -модистки -модная -модничаньем -модно -модное -модной -модный -модным -мое -моего -моей -моем -моему -моет -моется -моею -може -можедом -можем -может -можете -можешь -можно -мозаи -мозг -мозга -мозги -мозгу -мозоль -мои -моим -моими -моисеич -моих -мой -мокка -мокрая -мокро -мокрое -мокрой -мокрота -мокроту -мокрую -мокры -мокрые -мокрый -мокрым -мокрыми -мокрых -мол -молва -молвив -молвил -молвит -молвой -молву -молвы -молебен -моли -молил -молила -молилась -молились -молилось -молился -молимся -молись -молитв -молитва -молитвах -молитвенное -молитвенный -молитвой -молитву -молитвы -молитесь -молить -молиться -молишься -молнией -молниеносного -молниеносных -молнии -молний -молния -молньей -молньи -молод -молода -молодая -молодеет -молодежи -молодежь -молоденькая -молоденькое -молоденькой -молодец -молодо -молодого -молодое -молодой -молодом -молодому -молодости -молодость -молодою -молодую -молодца -молодцевато -молодцы -молоды -молодые -молодым -молодыми -молодых -моложавее -моложавом -моложе -молока -молоко -молоком -молокосос -молокососа -молокососы -молола -молот -молотком -молоть -молочнице -молочный -молочным -молочных -молча -молчавшего -молчал -молчала -молчали -молчалива -молчаливая -молчаливее -молчаливо -молчаливость -молчаливую -молчаливые -молчаливый -молчаливым -молчание -молчанием -молчании -молчанию -молчания -молчановка -молчат -молчать -молчи -молчим -молчит -молчите -молчишь -молчу -моль -мольба -мольбами -мольбе -мольбой -молюсь -моля -молясь -молящий -момент -момента -моменты -монастыре -монастырем -монастырский -монастырь -монах -монахам -монахи -монахов -монаху -монашку -монблан -монета -монетку -монетой -монетчиков -монеты -монисто -монологам -монологах -монологи -мономана -мономании -мономанию -мономания -мономанов -мономаны -монополию -монотонно -монотонной -монотонные -монтировало -монумент -монументально -монументальных -мопассан -мораль -морально -моргающими -морген -морде -морду -морды -море -морем -моркови -морковь -морковью -моровой -мороженое -мороженым -мороз -мороза -морозами -морозе -морозное -морозном -морозный -морозным -морозцы -морозы -морочил -морочите -морская -морские -морским -морских -морского -морское -морской -морском -морскую -морфием -морфий -морщась -морщатся -морщила -морщились -морщился -морщин -морщинами -морщинах -морщинистое -морщинки -морщиной -морщины -морщитесь -морщится -морю -моря -мосеич -москва -москве -москви -москвой -москву -москвы -московские -московским -московских -московского -московской -московском -московскою -мост -моста -мостах -мосте -мостик -мосткам -мостки -мостов -мостовая -мостовой -мостовую -мостовых -мостом -мосту -мосты -мосье -мотать -мотаю -мотают -мотив -мотор -мотька -мох -мохнатое -мохнатой -мохнатую -моцарта -моцион -моциона -мочальное -моченье -мочи -мочили -мочками -мочь -мошенник -мошенника -мошенники -мошенников -мошенническая -мошенническим -мошенничеств -мощные -мою -моя -мрак -мрака -мраке -мраков -мраком -мрамора -мраморной -мраморном -мрачен -мрачились -мрачить -мрачна -мрачная -мрачнее -мрачней -мрачно -мрачного -мрачное -мрачной -мрачном -мрачною -мрачную -мрачные -мрачный -мрачным -мрачных -мстил -мстителен -мститель -мстительной -мстить -мстят -мсье -му -мудр -мудрая -мудрено -мудреной -мудреному -мудреные -мудреным -мудреными -мудрецов -мудрецы -мудрил -мудрить -мудро -мудрое -мудрость -мудрствуйте -мудрые -муж -мужа -муже -мужей -мужем -мужества -мужественно -мужественного -мужественное -мужественности -мужественность -мужественный -мужественным -мужеством -мужик -мужика -мужикам -мужиками -мужиках -мужики -мужиков -мужиком -мужику -мужичка -мужичком -мужичок -мужичья -мужнего -мужнина -мужниного -мужниной -мужские -мужского -мужской -мужскому -мужу -мужчин -мужчина -мужчине -мужчиной -мужчины -мужья -мужьям -мужьями -муза -музе -музее -музы -музыка -музыкальной -музыкальном -музыкальный -музыкант -музыкантам -музыкантов -музыканты -музыке -музыки -музыкой -музыку -мук -мука -муками -муке -муки -мукой -муку -мундир -мундире -мундиров -мундштук -муравей -муравейником -муравьи -муравьиною -мурашиной -мурашки -мурлыкающем -мурлычу -мурлычут -муромца -мус -мускул -мускулистых -мускулов -мускулы -мускульная -мускульной -мускульном -муссинским -муссинских -мусье -мутилось -мутит -мутится -мутить -мутна -мутно -мутны -мутные -мутный -мутным -муть -мутят -мух -муха -мухи -мухояров -мухоярова -муху -мучает -мучаете -мучаетесь -мучается -мучаешь -мучаешься -мучай -мучайся -мучайте -мучась -мучат -мучаю -мучаюсь -мучают -мучая -мучаясь -мучение -мучением -мучений -мученичество -мучения -мучениях -мученье -мученья -мученьях -мучил -мучила -мучилась -мучили -мучились -мучило -мучился -мучимый -мучит -мучителей -мучители -мучительная -мучительнее -мучительнейшее -мучительницы -мучительно -мучительного -мучительное -мучительной -мучительном -мучительною -мучительную -мучительны -мучительные -мучительный -мучительным -мучительных -мучителя -мучитесь -мучится -мучить -мучиться -мучишь -мучишься -мучнистой -мучной -мучть -мучусь -мучь -мучьте -мучьтесь -мхов -мчалась -мчались -мчатся -мчаться -мчит -мчится -мщение -мщения -мы -мыкается -мыкать -мыкаться -мыкаю -мыла -мыли -мыло -мылом -мыльный -мыслей -мысленно -мысленный -мысли -мыслил -мыслит -мыслителей -мыслитель -мыслительная -мыслительной -мыслителя -мыслителям -мыслить -мыслию -мысль -мыслью -мыслю -мыслям -мыслями -мыслят -мыслях -мыслящие -мыслящим -мыты -мыть -мытье -мытья -мычит -мышами -мышей -мыши -мышкой -мышку -мышления -мышонка -мышц -мышь -мышью -мэри -мюнхенский -мягка -мягкая -мягки -мягкие -мягкий -мягким -мягкими -мягких -мягко -мягкого -мягкое -мягкой -мягком -мягкости -мягкость -мягкостью -мягок -мягче -мяса -мясистым -мясник -мясника -мясники -мяснику -мясное -мясной -мясо -мясоед -мятеж -мятежи -мятежно -мятежность -мятежный -мятежным -мятежными -мятежных -мятой -мяты -мячик -н -на -набавил -набалдашником -набат -набата -набегал -набегала -набегами -набегают -набегающих -набежал -набежали -набекрень -набережной -набережную -набережные -набережных -наберется -наберу -наберут -набивает -набивать -набирается -набиралось -набит -набита -набитая -набито -набитую -набитый -наблюдавший -наблюдает -наблюдай -наблюдайте -наблюдал -наблюдала -наблюдали -наблюдатель -наблюдательный -наблюдателя -наблюдать -наблюдают -наблюдаются -наблюдая -наблюдение -наблюдению -наблюдения -наблюдениям -наблюдениями -набожных -набок -наболевшие -наболело -наболит -наборным -набравшуюся -набрал -набрался -набрасывала -набрасывалась -набрать -набраться -набрел -набросана -набросать -набросаю -набросившись -набросил -набросилась -набросился -набросить -наброситься -наброску -наваждения -наваленные -навалено -навалил -навалили -наварю -наведаться -наведаюсь -наведены -наведывайтесь -наведывалась -наведывался -навек -навеки -навел -навела -навели -навело -наверно -наверное -навернулись -навертел -наверх -наверху -наверчено -навесами -навеселе -навесов -навесом -навести -навестил -навестить -наветам -навешаны -навещает -навеянной -навзничь -навзрыд -навин -нависали -нависла -навлечь -наводил -наводила -наводило -наводит -наводите -наводить -наводнение -наводнениями -наводя -навозе -наволочками -наволочки -навострив -навострил -навострила -навострились -наврал -наврала -навсегда -навстречу -навыворот -навык -навыкате -навязал -навязала -навязался -навязчивая -навязывал -навязывались -навязывать -навязываться -наг -нагибается -нагибалась -нагибаться -нагибаясь -нагло -наглого -наглости -наглость -наглостью -наглухо -наглые -наглый -наглым -наглядел -нагляделась -наглядно -нагнал -нагнется -нагнись -нагнув -нагнувшись -нагнул -нагнула -нагнулся -нагнусь -нагнуться -наговариваешь -наговорил -наговорила -наговорить -наговориться -нагой -нагонит -нагорном -наготове -наготой -наград -награда -наградишь -наградой -награду -награды -награждать -награждая -награждения -награждено -нагреется -нагроможденной -нагрубила -нагрубит -нагрудник -нагружать -нагрязнили -нагрянет -нагрянул -над -надавал -надает -надарит -надбавляет -надвигается -надвинулись -надвое -надворного -надворному -надворный -надворным -надвяжем -надвяжу -надвязать -надев -надевает -надеваешь -надевала -надевали -надевать -надевают -надевая -надеемся -надеетесь -надеется -надежд -надежда -надеждами -надеждах -надежде -надеждой -надеждою -надежду -надежды -надежная -надежный -надейтесь -надел -надела -наделает -наделал -наделала -наделают -надели -наденет -наденете -наденешь -надену -надень -наденьте -надеру -надет -надета -надето -надетое -надетой -надеты -надеть -надеюсь -надеются -надеялась -надеялись -надеялся -надеясь -надеяться -надзиратель -надзирательницей -надзирателю -надзирателя -надзором -надивиться -надлежащем -надлежащими -надменен -надменная -надменно -надменной -надменном -надменность -надменный -надменным -надо -надобен -надобилось -надобно -надобностей -надобности -надобность -надобны -надоедаем -надоедал -надоедала -надоедаю -надоедлив -надоедят -надоел -надоела -надоели -надоело -надоем -надоест -надоесть -надолго -надорвала -надорвана -надорванный -надоть -надписана -надпись -надписью -надругается -надругательство -надрывает -надрываются -надрывающимся -надрываясь -надсаждаясь -надседаются -надсона -надстройками -надтреснутый -надув -надувает -надувание -надувать -надует -надуется -надуешь -надула -надуло -надулся -надумавшись -надумаем -надумаете -надумается -надумал -надумался -надуто -надутого -надуть -надушенный -надушил -надуют -надышаться -наедине -наездники -наездницы -наемной -наехали -наживать -наживешь -нажил -нажимала -нажимали -нажить -нажми -назад -назади -назвал -назвала -назвали -назван -название -названием -названии -названий -названия -названья -назвать -наземь -назидание -назидания -назидательно -назло -назначавшуюся -назначаемые -назначал -назначалась -назначали -назначались -назначался -назначать -назначаю -назначение -назначением -назначении -назначения -назначенного -назначенною -назначенную -назначенным -назначено -назначены -назначил -назначила -назначить -назначу -назовет -назовете -назовешь -назови -назовут -назойливому -назойливость -назойливостью -называвшихся -называем -называемая -называемое -называемой -называемую -называемые -называемый -называет -называете -называется -называешь -называл -называла -называли -называлось -называть -называться -называю -называют -называя -назюзюкался -наибесполезнейшую -наибеспрерывнейшие -наиблагороднейшего -наиболее -наивен -наивная -наивно -наивности -наивною -наивные -наивный -наивным -наивных -наигрывает -наигрывая -наизнанку -наизусть -наименьшим -наиполезнейший -наиприличнейшая -наискось -наитий -наихитрейшим -найдем -найден -найдена -найдено -найдены -найдет -найдете -найдется -найдешь -найди -найдите -найду -найдут -найдутся -найдя -найма -наймет -наймешь -найми -наймите -найму -найти -накажет -наказал -наказали -наказана -наказание -наказания -наказанье -наказать -наказов -наказывает -наказывай -наказывал -наказывали -накануне -накапало -накаркают -накидывает -накинет -накинете -накинув -накинул -накинула -накинулась -накинулся -накинута -накинутом -накинутся -накипала -накипевшую -накипят -накладет -накладывает -накладывала -накладывать -наклевывалась -наклеенное -наклеены -наклепал -наклонен -наклоненная -наклоненной -наклонив -наклонившегося -наклонившись -наклонил -наклонила -наклонилась -наклонился -наклонится -наклониться -наклонностей -наклонности -наклонность -наклонностях -наклонною -наклонны -наклоном -наклонялся -наклонясь -наклоняя -наклоняясь -наколем -наколет -наконец -накопившиеся -накопилось -накоплялась -накорми -накормила -накормить -накормлю -накормят -накось -накошенною -накрахмаленные -накрахмалены -накрепко -накрест -накричит -накроют -накрывавшегося -накрывает -накрываете -накрывай -накрывался -накрывают -накрыл -накрыла -накрыли -накрылся -накрыт -накрытый -накрыть -накуплю -накурено -накурил -накуролесили -налагает -налагал -налагают -наладили -наладит -налгал -налево -налег -налегая -налегке -належал -налезло -налепит -налета -налетевшим -налетел -налетели -налетело -налетит -наливает -наливается -наливай -наливал -наливала -наливая -наливка -наливной -нализаться -налил -налиновал -налитыми -налить -налицо -наличности -наличных -наложенное -наложил -наложила -наложницей -налью -налюбуется -налюбуешься -налюбуются -нам -намазанных -намахивается -намахнулся -намачивая -намашет -намедни -намеднишнему -намек -намека -намекавший -намекает -намекаете -намекал -намекала -намекам -намеками -намекать -намекают -намеке -намеки -намекнул -намеков -намеком -намелет -намелко -наменял -намеревался -намереваясь -намерен -намерена -намерение -намерением -намерении -намерений -намерению -намерения -намерениям -намерениями -намерениях -намеренно -намерены -намерила -наметался -наметил -намечтать -нами -намок -наморщивши -намотал -намочил -нанес -нанесенная -нанесенной -нанесет -нанести -нанимаете -нанимал -нанималась -нанимать -нанимают -нанкового -наносил -наносит -наносный -наносным -нанял -наняла -наняли -нанялся -нанята -нанятой -нанять -наобещал -наоборот -наобум -наотмашь -наотрез -нападает -нападал -нападая -нападение -напал -напали -напасешься -напасть -напев -напева -напевает -напевах -напевают -напевая -напевы -напекли -напекут -напел -напер -наперво -наперебив -наперед -наперекор -наперерыв -напечатали -напечатана -напечатанным -напечатано -напечатать -напечет -напивались -напивался -напиваться -напиваюсь -напившись -напилась -напился -напирали -напирать -напирают -напирая -написав -написал -написала -написали -написанная -написанного -написанное -написанной -написанную -написанный -написано -написаны -написать -напитанная -напитку -напиток -напитывается -напиться -напиханном -напишет -напишешь -напиши -напишите -напишу -напишут -наплакались -наплевал -наплевать -наплывают -наплясался -наподличал -напоенного -напоил -напоила -напоили -напой -напоказ -наполеон -наполеона -наполеонами -наполеоновской -наполеоном -наползают -наползет -наполнена -наполненная -наполненной -наполненные -наполненный -наполненным -наполненных -наполнено -наполнены -наполнил -наполнилась -наполнился -наполнит -наполнится -наполнить -наполню -наполняемы -наполняется -наполнял -наполнялись -наполняло -наполнялось -наполнялся -наполнять -наполняют -наполняя -наполовину -напомадил -напомадился -напомаженных -напоминавших -напоминает -напоминай -напоминал -напоминало -напоминания -напоминать -напоминаю -напоминают -напоминающий -напоминая -напомни -напомнив -напомнил -напомнила -напомнилась -напомнило -напомнит -напомните -напомнить -напор -напора -напорется -напою -напоят -направил -направились -направился -направить -направиться -направлен -направление -направлений -направлению -направления -направленных -направлено -направлю -направляется -направляют -направляясь -направо -направятся -напрасна -напрасная -напрасно -напрасной -напрасные -напрасный -напрасных -напрашиваетесь -напрашивается -напрашиваются -например -напролет -напросто -напротив -напрягает -напрягал -напрягались -напрягаю -напрягая -напрягаясь -напрягутся -напрягши -напряжение -напряжением -напряжения -напряженная -напряженно -напряженное -напряженной -напряженном -напряженный -напряженным -напряжены -напугал -напугали -напугались -напугана -напуганные -напугано -напугать -напудренные -напужались -напускное -напускные -напускным -напустило -напустился -напутает -напутаешь -напутствие -напутствии -напущенные -напьется -напьюсь -наравне -нараспашку -нарастала -нарастали -нарастание -нарастающие -нарах -нарву -нарезался -нарисовался -нарисованного -нарисованные -нарисовано -нарисовать -наркотических -народ -народа -народе -народец -народницей -народной -народный -народов -народовольческого -народом -народонаселения -народу -народы -народятся -нарочно -наруже -наружная -наружно -наружного -наружное -наружной -наружности -наружность -наружностью -наружную -наружные -наружу -нарукавнички -нарумяненную -нарушаемого -нарушает -нарушал -нарушалась -нарушали -нарушало -нарушалось -нарушать -нарушая -нарушена -нарушение -нарушения -нарушено -нарушил -нарушилось -нарушился -нарушит -нарушителей -нарушится -нарушить -нарушу -нарцизов -нарыв -нарывавший -нарывает -наряд -наряда -наряде -наряди -нарядить -нарядная -нарядно -нарядной -нарядом -наряжается -наряжалась -наряжаются -нас -насадил -насадим -насвистывает -наседка -наседке -наседки -наседку -насекомое -насел -население -населения -населенная -населенные -населились -населило -насердке -насидишься -насилие -насилием -насилия -насиловать -насилу -насильно -насильственно -насильственной -насильственною -насильственные -насильственным -насилья -насказала -насквозь -насколько -наскоро -наскочила -наскучивало -наскучил -наскучу -наслаждается -наслаждайся -наслаждайтесь -наслаждалась -наслаждались -наслаждался -наслаждаться -наслаждаюсь -наслаждаются -наслаждаясь -наслаждение -наслаждением -наслаждений -наслаждения -наследникам -наследники -наследнику -наследовавшие -наследовал -наследства -наследственной -наследство -наследству -наслышан -наслышка -насмеемся -насмерть -насмехается -насмехаюсь -насмешек -насмешил -насмешите -насмешка -насмешками -насмешки -насмешкой -насмешку -насмешлив -насмешливая -насмешливее -насмешливо -насмешливого -насмешливое -насмешливой -насмешливости -насмешливый -насмешливыми -насмешливых -насмеюсь -насмеялся -насмотрелся -насолить -наспал -наставал -наставало -наставил -наставительно -наставлений -наставлениях -наставлено -наставляй -наставница -настает -настаивавший -настаиваем -настаивает -настаиваете -настаивал -настаивала -настаивать -настаиваю -настал -настала -настали -настало -настанет -настанут -настасье -настасьей -настасьи -настасью -настасьюшка -настасья -настежь -настенька -настигающую -настлали -настоенной -настоит -настоится -настойчива -настойчиво -настойчивого -настойчивое -настойчивости -настойчивость -настойчивостью -настойчивые -настойчивый -настойчивым -настолько -настоял -настояла -настоянию -настояно -настоятельно -настоятельную -настоящая -настоящего -настоящее -настоящей -настоящем -настоящему -настоящею -настоящие -настоящий -настоящим -настоящих -настоящую -настраивает -настраивается -настрого -настроение -настроением -настроении -настроению -настроения -настроено -настроены -настроим -настроит -настроить -настройщика -настрочить -настудишь -настудят -наступает -наступала -наступают -наступивший -наступил -наступила -наступили -наступило -наступит -наступлением -насущного -насущной -насущные -насущным -насущными -насчет -насылает -насылая -насыпь -насыпью -насядет -наталия -натальи -наталья -наташа -наташе -наташей -наташи -наташу -натащил -натащить -нате -натекла -натерпелась -натерпелся -натертому -наткнулся -натолкнуть -натолочь -натопленных -натоптали -наточи -натруженный -натугой -натура -натурализме -натуральнее -натурально -натуральности -натуральную -натуральны -натуре -натурой -натуру -натуры -натыкается -натыкался -натягивает -натягивать -натяжек -натянул -натянулись -натянутая -натянуто -натянутый -наугад -наук -наука -науках -науке -науки -наукой -науку -наумыч -наутро -научи -научил -научила -научило -научился -научимся -научит -научите -научить -научные -научных -научусь -наущения -нафталина -нафталином -нахал -нахально -нахальное -нахальный -нахальным -нахальства -нахальство -нахальством -нахватает -нахватают -нахлебник -нахлестался -нахлобучив -нахмуренно -нахмуренной -нахмуренные -нахмуренный -нахмуренным -нахмуренными -нахмурив -нахмурившись -нахмурил -нахмурила -нахмурился -нахмурясь -находившейся -находил -находила -находилась -находили -находились -находило -находилось -находился -находит -находите -находится -находить -находиться -находишь -находку -находчивости -находя -находясь -находят -находятся -находящий -нахожу -нацарапает -нации -наций -национальности -национальные -нацию -нациями -начавшегося -начавшей -начавши -начавший -начал -начала -началами -началась -начале -начали -начались -начало -началом -началось -начался -начальник -начальника -начальнике -начальники -начальником -начальнику -начальница -начальницей -начальницу -начальства -начальство -начальством -начальству -начатки -начатое -начатые -начать -начерно -начертал -начертана -начертанной -начертанный -начертанных -начертать -начертил -начесть -начинавшаяся -начинавшее -начинавшейся -начинавший -начинаем -начинает -начинаете -начинается -начинаешь -начинай -начинайте -начинал -начинала -начиналась -начинали -начинались -начинало -начиналось -начинался -начинаний -начинать -начинаю -начинают -начинающая -начинающего -начинающий -начинающимся -начиная -начиненные -начинки -начинкой -начисто -начистоту -начнем -начнет -начнете -начнется -начнешь -начни -начну -начнут -начнутся -начудила -наш -наша -наше -нашего -нашей -нашел -нашелся -нашем -нашему -нашептывает -нашептывал -нашествие -нашествий -наши -нашим -нашими -наших -нашла -нашлась -нашли -нашлись -нашло -нашлось -нашу -нащипанными -нащупав -наяву -наяды -не -неаккуратна -неаккуратно -неаполитанский -неба -небе -небеленая -небес -небеса -небесам -небесами -небесах -небесная -небесно -небесное -небесной -небесном -небесные -небесных -небесполезно -неблаговоления -неблагодарен -неблагодарно -неблагодарности -неблагодарность -неблагодарностью -неблагодарные -неблагодарный -неблагонадежность -неблагонамеренных -неблагополучно -неблагоприятному -неблагородный -неблагородными -неблагородство -неблагосклонно -небледнеющих -небо -небогат -небогатый -небожитель -небойкие -небойсь -небольшая -небольшие -небольшим -небольшими -небольшого -небольшое -небольшой -небольшому -небольшую -небом -небосклон -небосклону -небось -небрежен -небрежнее -небрежно -небрежное -небрежной -небрежности -небрежностию -небрежностью -небрежною -небрежные -небрежный -небрежным -небритая -небритую -небритый -небу -небывалая -небывалого -небывалое -небывалой -небывалые -небывалый -небывалым -небывалыми -небывалых -небывальщину -небылицу -небытия -нева -неважно -неважное -неважной -неважны -неважным -невдомек -неве -неведении -неведения -неведом -неведомая -неведомо -неведомой -неведомою -неведомый -неведомым -неведомыми -неведомых -невежд -невежды -невежества -невежество -невежи -невежливая -невежливо -невежливою -невелик -невелика -невелико -невеликодушно -неверие -неверна -неверно -неверного -неверною -неверный -неверных -невероятно -невероятности -невероятные -невероятным -неверующий -неверующих -неверьем -невеселая -невесело -невеселые -невеста -невесте -невестка -невестки -невестой -невесту -невесты -невесть -невзгод -невзначай -невзрачный -невиданно -невиданного -невиданной -невиданные -невидимая -невидимо -невидимой -невидимую -невидимые -невидимый -невинен -невинна -невинная -невинно -невинного -невинном -невинному -невинности -невинность -невинностью -невинные -невинный -невинных -невиновных -невменяем -невнимания -невнимательным -невнятны -неводу -невозвратимо -невозвратимый -невозвратно -невозвратного -невозвратном -невозвратные -невозвратным -невоздержания -невозможен -невозможно -невозможное -невозможному -невозможности -невозможную -невозможный -невозможным -невозможных -невозмутимая -невозмутимее -невозмутимо -невозмутимого -невозмутимое -невозмутимый -невозмутимым -невой -неволе -неволей -неволит -невольно -невольного -невольное -невольной -невольном -невольною -невольный -невольных -невообразимо -невоскресшему -невоспитанный -невою -невпопад -невредим -невредимо -невредимого -невредимый -невский -невскому -неву -невы -невыгодно -невыкупленные -невыносим -невыносима -невыносимая -невыносимо -невыносимое -невыносимы -невыносимый -невыносимыми -невыразимая -невыразимо -невыразимого -невыразимое -невыразимом -невыразимым -невысказанном -невысоко -невысокому -невыстоявшеюся -невысыхаемым -невыторгованный -нег -негаданно -негаданной -негде -неге -неги -негибнущая -неглубокой -неглуп -неглупая -неглупый -него -неговорлив -негодная -негодном -негодный -негодным -негодование -негодованием -негодовании -негодования -негодуя -негодяем -негодяй -негодяя -негой -негоцианта -неграциозными -негреющий -негреющим -негромкие -негромко -негры -негустые -недавнего -недавнее -недавней -недавнем -недавнему -недавний -недавних -недавно -недавнюю -недавняя -недалеко -недалечко -недальней -недальный -недаром -недвижимо -недворянина -неделе -недели -неделикатно -неделикатным -неделовитостью -неделовых -недель -недельку -неделю -неделя -неделям -недетски -недетской -недлинный -недобор -недобровольно -недоброе -недоброжелателен -недоброжелательством -недоваренную -недоварены -недоверием -недоверия -недоверчив -недоверчива -недоверчиво -недоверчивости -недоверчивость -недоверчивостью -недоверчивые -недоверчивый -недоверчивым -недоволен -недовольна -недовольная -недовольны -недовольный -недовольным -недовольства -недовольство -недогадливый -недоглядел -недогляди -недоглядишь -недозрелости -недоимках -недоимки -недоконченное -недолго -недоносков -недоразумения -недорого -недосказанного -недосказанное -недоставало -недостает -недостало -недостатка -недостатками -недостатков -недостатком -недостаток -недостаточно -недостижимой -недостоин -недостойна -недостойному -недостойною -недостойны -недостойный -недостойных -недоступна -недоступно -недоступного -недоступность -недоступную -недоступный -недосягаем -недосягаемо -недосягаемым -недосягаемых -недотепа -недотрогой -недоумевал -недоумевали -недоумевая -недоумение -недоумением -недоумении -недоумений -недоумения -недоумениям -недоуменьем -недоучившихся -недочитанная -недр -недрах -недремлющая -недрогнувший -недруги -недружелюбным -недуг -недугами -недугом -недурна -недурно -нее -неестественно -неестественною -неестественных -нежа -нежат -нежданно -нежданной -нежданные -нежданный -нежели -нежен -неженского -неживой -неживою -нежинский -нежит -нежить -нежливенькая -нежна -нежная -нежнее -нежней -нежнейшего -нежнейшей -нежнейшими -нежно -нежного -нежное -нежной -нежном -нежности -нежность -нежностью -нежною -нежную -нежны -нежные -нежный -нежным -нежных -незабвенная -незабвенной -незабываемую -незабываемые -незабываемых -независимо -независимое -независимости -независимость -независимую -независимым -независящим -незадолго -незаживающие -незаконная -незаконною -незаметнее -незаметно -незаметное -незаметной -незаметную -незапамятные -незапамятных -незапертую -незапятнанном -незаработанном -незаработанный -незаслуженного -незаслуженным -незастенчивые -незатейливой -незачем -незваному -незваный -незвучно -нездешней -нездешнею -нездешний -нездешними -нездоров -нездорова -нездоровая -нездоровилось -нездоровится -нездорово -нездоровы -нездоровье -нездоровьем -неземная -неземного -неземной -неземные -незлобный -незнаемою -незнаком -незнакомец -незнакомого -незнакомое -незнакомой -незнакомом -незнакомому -незнакомству -незнакомую -незнакомцами -незнакомые -незнакомый -незнакомым -незнакомыми -незнание -незнанию -незначащие -незначительна -незначительное -незначительные -незрим -незримо -незримые -незримый -незримым -незыблемое -неизбежная -неизбежно -неизбежного -неизбежное -неизбежность -неизбежною -неизбежные -неизбежный -неизбежным -неизбежными -неизбежных -неизведанных -неизвестен -неизвестная -неизвестно -неизвестное -неизвестном -неизвестности -неизвестность -неизвестные -неизвестный -неизвестным -неизвестными -неизвестных -неизгладимо -неизгладимым -неизлечима -неизлечимую -неизлечимые -неизменной -неизменную -неизменный -неизменным -неизменяющейся -неизмеримою -неизреченной -неизъяснимо -неизъяснимое -неизъяснимых -неимением -неимоверно -неимоверные -неимоверным -неинтересно -неинтересны -неискусно -неисполненные -неисправим -неисправимый -неисправимым -неисправной -неистинном -неистовая -неистово -неистовое -неистовой -неистовые -неистовым -неистощимой -неистощимых -неистребима -неистребимого -неисходно -неисходный -ней -нейдем -нейдет -нейдут -нейрастения -нейти -некий -неких -некогда -некого -некоего -некоммерческих -некому -неконченные -неконченный -некормленая -некоторая -некоторого -некоторое -некоторой -некотором -некоторому -некоторою -некоторую -некоторые -некоторый -некоторым -некоторыми -некоторых -некошенном -некрасива -некрасиво -некрасивой -некрасивый -некрасивым -некраснеющих -некрасова -некрашеный -некрепкий -некрепок -некстати -некто -некуда -некупленных -некую -неладно -неласково -неласковый -нелегкая -нелегко -нелегкую -нелепа -нелепее -нелепей -нелепейшая -нелепо -нелепого -нелепое -нелепости -нелепость -нелепый -нелепым -нелживо -нелицемерной -неловкая -неловкий -неловким -неловко -неловкого -неловкое -неловкости -неловкость -неловкостью -неловок -неложно -нельзя -нельки -нелюбимый -нелюбовь -нем -немалая -немало -немедленно -немедленного -немедленной -немедленном -немедленным -немеет -немезида -немели -немеркнущей -немеркнущий -немец -немецкая -немецки -немецкие -немецкий -немецким -немецких -немецкого -немецкой -немецком -немецкую -немилосердно -неминуемая -неминуемо -неминуемое -неминуемою -неминучий -немка -немке -немки -немку -немногие -немногими -немногих -немного -немножечко -немножко -немо -немое -немой -немок -немолодой -немолодому -немолоды -немолодых -немолчный -немом -немота -немотствует -немочь -немощами -немощеного -немощеными -нему -немудреная -немудрено -немудреный -немудрый -немую -немца -немцами -немцев -немцем -немцу -немцы -немые -немым -немыслимо -немыслимы -немытого -немытую -немытый -немых -ненавидел -ненавидела -ненавидели -ненавидеть -ненавидит -ненавидите -ненавидишь -ненавидя -ненавидят -ненавижу -ненавистен -ненависти -ненавистию -ненавистна -ненавистная -ненавистничают -ненавистно -ненавистного -ненавистное -ненавистною -ненавистным -ненавистными -ненависть -ненавистью -ненаглядная -ненаглядную -ненаглядный -ненаглядным -ненадежно -ненадежных -ненадолго -ненароком -ненарушимая -ненарушимо -ненарушимого -ненастной -ненастный -ненастья -ненасытимое -ненасытимый -ненасытность -ненасытную -ненатурально -ненормальности -ненормальным -ненужная -ненужно -ненужного -ненужной -ненужность -ненужную -ненужны -ненужные -ненужный -ненужным -необдуманно -необдуманное -необитаемою -необитаемыми -необозримая -необозримо -необозримого -необозримой -необразованная -необразованный -необузданной -необходим -необходима -необходимейшие -необходимо -необходимого -необходимое -необходимости -необходимостию -необходимость -необходимостью -необходимою -необходимы -необходимые -необходимыми -необъяснимо -необъяснимое -необъяснимые -необъяснимым -необъятная -необъятно -необъятного -необъятное -необъятном -необъятною -необъятную -необъятные -необыденное -необыкновенная -необыкновенно -необыкновенного -необыкновенное -необыкновенном -необыкновенному -необыкновенною -необыкновенную -необыкновенные -необыкновенный -необыкновенным -необыкновенных -необычайнейшее -необычайное -необычайной -необычайности -необычайный -необычайным -необычный -неоднократно -неоднократный -неодобрение -неодолимая -неодушевленный -неожиданная -неожиданнейшим -неожиданно -неожиданного -неожиданное -неожиданному -неожиданность -неожиданною -неожиданную -неожиданны -неожиданные -неожиданный -неожиданным -неожиданными -неоконченная -неокрепших -неопасен -неопасно -неописанна -неописанная -неописанном -неописанный -неопределенно -неопределенное -неопределенной -неопределенною -неопределенные -неопределенным -неопределенными -неопределенных -неопровержимой -неопрятен -неопрятнее -неопрятном -неопрятный -неопытного -неопытному -неопытности -неопытные -неопытный -неосновательны -неоспоримый -неосторожнее -неосторожно -неосторожного -неосторожное -неосторожности -неосторожность -неосторожны -неосторожным -неостроумен -неосуществима -неосуществимым -неотвратимо -неотвратимый -неотвязная -неотвязный -неотвязчивую -неотвязчивый -неотделанную -неотесанный -неоткуда -неотлагательное -неотлагательные -неотлагательным -неотлучно -неотразим -неотразимо -неотразимого -неотразимое -неотразимою -неотразимые -неотразимый -неотразимых -неотсрочимый -неотступная -неотступнее -неотступно -неотступный -неотъемлемо -неохота -неохотно -неохотой -неохотою -неоцененных -непарадных -неплотно -непобедимой -непобедимый -непобедимым -неповинен -неповоротливой -неповоротливом -неповторимая -непогибшим -непогоды -неподалеку -неподвижен -неподвижна -неподвижная -неподвижнее -неподвижно -неподвижного -неподвижное -неподвижной -неподвижности -неподвижность -неподвижностью -неподвижною -неподвижные -неподвижный -неподвижным -неподвижными -неподдельного -неподдельное -неподкупная -неподкупном -неподобно -неподражаем -неподражаемо -неподходящие -непозволительно -непоказанной -непокладные -непокойна -непокойно -непоколебимее -непоколебимой -непоколебимыми -непокорных -непокрытой -неполнота -неполный -неположенные -непомерной -непомерный -непомерным -непонимании -непонятая -непонятливости -непонятливый -непонятна -непонятная -непонятно -непонятного -непонятное -непонятному -непонятный -непонятным -непорядком -непорядочно -непосвященные -непосильной -непослушны -непосредственного -непосредственное -непосредственной -непостижима -непостижимо -непостижимый -непота -непотребного -непохожее -непохожей -непочтительна -непочтительностию -неправда -неправду -неправедные -неправильного -неправильное -неправильной -неправильности -неправильность -неправильный -неправленный -неправые -непредвиденных -непреклонна -непреклонная -непрекращающегося -непреложным -непремен -непременно -непременною -непреодолимое -непрерывно -непрерывное -непрерывной -непрерывный -непрерывным -непрестанной -непривилегированные -непривлекательной -непривычки -непривычного -непривычное -непривычным -непривычных -неприготовленную -непризнанный -непризнанным -неприкосновенное -неприкосновенность -неприличия -неприлично -неприличное -неприличном -неприличности -неприличным -неприметнее -неприметно -непримиримых -непринужденности -непринужденный -неприступная -неприступны -неприступные -непритворенную -непритворно -непритворной -непритворным -непричастен -непричесанной -неприязненно -неприязнь -неприятель -неприятельский -неприятельским -неприятен -неприятнейшее -неприятно -неприятного -неприятное -неприятной -неприятном -неприятному -неприятностей -неприятности -неприятностию -неприятность -неприятностях -неприятные -неприятный -неприятным -неприятными -непробудней -непробудно -непробудной -непробудную -непробудные -непробудный -непроглядном -непроглядный -непродажных -непродолжительный -непроезжий -непролазная -непроницаема -непроницаемости -непроницаемы -непроницаемым -непроницаемых -непростительно -непростительной -непростительную -непростительные -непроходимая -непрочен -непрошеные -непрошеных -непрядва -непрядвой -непутное -неравенством -неравна -неравнодушен -нерадению -нерадостно -неразборчиво -неразвернувшийся -неразвитость -неразвиты -неразгаданного -неразговорчив -неразговорчивы -неразделенную -нераздельности -неразлучна -неразлучны -неразрезанною -неразрешаемые -неразрешенных -неразрешим -неразрешимому -неразрешимы -неразрешимый -неразрываемую -неразрывно -неразрывного -неразрывную -нерасположение -нерасчетливо -нерв -нервами -нервическая -нервический -нервическим -нервическое -нервная -нервно -нервное -нервной -нервною -нервны -нервный -нервным -нервных -нервов -нервы -нередко -нерешенное -нерешимости -нерешительно -нерешительном -нерешительности -нерешительность -нерешительностью -нерешительны -неровно -неровности -нерукотворный -неряхой -нес -несбывшееся -несбыточной -несбыточною -несбыточную -несбыточные -несбыточный -несбыточных -несвежем -несвежи -несвежую -несветский -несвойственным -несвязанный -несвязно -несвязный -несгораемые -несдобровать -несерьезным -несессер -несессеры -несет -несете -несется -несешь -неси -несказа -несказанно -нескладная -нескладно -нескладном -несколькими -нескольких -несколько -нескольку -нескончаемой -нескончаемому -нескончаемый -нескончаемым -нескромности -нескромный -нескрываемая -нескрываемым -нескучно -несла -неслабый -неслась -несли -неслись -неслиянности -несло -несловоохотлив -неслось -неслушавшие -неслыханно -неслыханное -неслыханной -неслыханном -неслыханному -неслыханные -неслыханным -неслыханными -неслыханных -неслышно -неслышным -несмелые -несметные -несметный -несмотря -несмыкаемости -несносна -несносно -несносное -несносную -несносный -несовершенно -несовершеннолетнее -несовершеннолетний -несовершенств -несогласие -несогласимых -несогласию -несомненно -несомненного -несомненною -несомненный -несомненным -несомненных -несообразный -несообщителен -несоразмерно -несостоятельны -неспешно -неспешные -неспешный -неспешным -неспокойна -неспокойно -неспособность -неспособным -несправедлива -несправедливая -несправедливо -несправедливого -несправедливое -несправедливость -несправедливостью -несправедливую -несправедливы -несправедливые -несравненном -несравненный -нессиметрично -нестерпим -нестерпима -нестерпимая -нестерпимо -нестерпимого -нестерпимой -нестерпимом -нестерпимый -нести -нестиранного -нестройном -несу -несут -несущейся -несуществующий -несущие -несущиеся -несущий -несущихся -несч -несчастен -несчастие -несчастии -несчастий -несчастию -несчастия -несчастиях -несчастлив -несчастлива -несчастливейшим -несчастливый -несчастна -несчастная -несчастнее -несчастненькой -несчастного -несчастное -несчастной -несчастном -несчастному -несчастною -несчастную -несчастны -несчастные -несчастный -несчастным -несчастными -несчастных -несчастье -несчастьем -несчастью -несчастья -несчастьями -несчетные -несытым -неся -нет -нетактично -нетвердо -нетвердой -нетвердым -нетвердыми -нетверез -нетерепении -нетерпелив -нетерпеливо -нетерпеливого -нетерпеливое -нетерпеливой -нетерпеливому -нетерпеливы -нетерпеливый -нетерпеливым -нетерпение -нетерпением -нетерпении -нетерпения -нетопленную -неторопливо -нетрезвом -нетронутую -нетронутый -нету -нетяжко -неуважения -неуважительный -неуверенном -неувядаемая -неувядающая -неувядающим -неувязанное -неугодлив -неугодливая -неугодно -неугомонный -неудавшейся -неудавшиеся -неудавшуюся -неудач -неудача -неудачами -неудаче -неудачи -неудачная -неудачно -неудержимее -неудержимо -неудержимого -неудержимую -неудержимым -неудобно -неудобной -неудобным -неудобств -неудобства -неудобствами -неудобстве -неудобству -неудовлетворенность -неудовлетворительными -неудовольствие -неудовольствием -неудовольствия -неужели -неужель -неузнаваемого -неузнаваемой -неузнанной -неуклонно -неуклюж -неуклюжая -неуклюже -неуклюжее -неуклюжий -неуклюжим -неукоснительно -неукрашенное -неукротимей -неуловимо -неуловимое -неуловимый -неуложенное -неумело -неумелые -неумен -неумением -неуменьем -неуменья -неумеренная -неумеренно -неумеренное -неуместною -неумирающего -неумной -неумолим -неумолима -неумолимо -неумолимый -неумолкаемый -неумолкающей -неумолчной -неумолчные -неумытого -неумытый -неумышленно -неумышленное -неуныло -неурожае -неурожай -неурядиц -неуследимый -неуспеха -неустанный -неустающие -неустойки -неустранимых -неустрашимо -неустройств -неусыпно -неутешными -неутолимую -неутомимая -неутомимо -неутомимым -неученых -неучтиво -неучтивости -неуютно -нехитрого -нехождению -нехороши -нехорошие -нехороших -нехорошо -нехоть -нехотя -нехристь -нецеремонные -нечальны -нечаянно -нечаянного -нечаянностей -нечаянный -нечаянным -нечего -нечеловеческих -нечем -нечему -нечесаную -нечесаный -нечет -нечиновных -нечисто -нечистота -нечистоту -нечистоты -нечистым -нечищенным -нечищеные -нечопорно -нечто -нечувствительно -нечуток -нешто -нештопанного -нештопаных -нешуточному -нею -неявившихся -неярки -неяркий -неясна -неясная -неясно -неясное -неясном -неясному -неясные -неясный -неясным -неясных -ни -нибудь -ниве -нивы -нигде -нигилизм -нигилист -нигилистов -нигилисты -ниже -нижеподписавшийся -нижнего -нижнее -нижней -нижнем -нижнему -нижнею -нижний -нижних -нижнюю -нижняя -низать -низведении -низвела -низводила -низенькие -низенький -низка -низкая -низки -низкие -низкий -низким -низких -низко -низкого -низкое -низкой -низком -низкую -низменный -низок -низости -низость -низшего -низшее -низшем -низший -никак -никакая -никакие -никаким -никакими -никаких -никакого -никакое -никакой -никанора -никем -никита -никите -никитича -никитой -никиту -никиты -никифоровна -никли -никнет -никогда -никого -никодим -никодима -никодиме -никодимом -никодиму -никоим -николавна -николаевич -николаевича -николаевичу -николаевна -николаевне -николаевной -николаевну -николаевских -николаевском -николаем -николаичем -николай -николашка -николашке -николаю -николая -николы -никому -никто -никуда -нил -ним -нимало -нимбы -ними -нимфа -нина -нине -ниной -нину -нины -ниоткуда -нипочем -нисколько -ниспосланное -нисходила -нисходит -нисходят -нити -нитка -нитками -нитки -ниткой -нитку -ниток -ниточками -ниточке -нить -нитью -нитяной -нитяный -них -ниц -ницце -ницше -ничего -ничегошечко -ничей -ничем -ничему -ничком -ничто -ничтожен -ничтожества -ничтожество -ничтожная -ничтожнейшее -ничтожнейшем -ничтожнейший -ничтожного -ничтожной -ничтожностию -ничтожною -ничтожны -ничтожные -ничтожный -ничтожным -ничтожных -ничуть -ничьего -ничьей -ничьи -ничьим -ничьих -ничья -нише -нищ -нищая -нищего -нищей -нищему -нищенские -нищенской -нищета -нищете -нищетой -нищету -нищеты -нищие -нищий -нищим -нищими -нищих -нмением -нная -нной -ннх -нных -но -новая -новейшая -новейшее -новейший -новейшими -новейших -новенькие -новеньким -новенького -новенькое -новехонькая -новизне -новичка -новичкам -новички -новичок -ново -нового -новодевичий -новое -новой -новом -новому -новорожденный -новоселье -новостей -новости -новость -новостью -новостями -новостях -новою -новоявленный -новую -новые -новый -новым -новыми -новых -новь -новью -ног -нога -ногам -ногами -ногах -ноге -ноги -ного -ногой -ноготками -ногою -ногтем -ногти -ногтями -ногу -ноев -ноет -нож -ножа -ножами -ноже -ножей -ножи -ножик -ножичек -ножищами -ножка -ножками -ножки -ножницами -ножнички -ножом -ноль -номер -номере -номинально -ноне -норе -норке -норки -норма -нормален -нормальная -нормально -нормальное -нормальной -нормальному -нормальную -нормальный -нормальным -норму -нормы -норов -норовил -норовит -норы -нос -носа -носами -носе -носики -носил -носила -носилась -носили -носились -носило -носился -носиль -носильщики -носит -носитесь -носится -носить -носиться -носишь -носка -носками -носке -носки -носков -носком -носовой -носок -носом -носу -носы -носясь -носят -носятся -носящих -нот -нота -нотами -ноте -нотка -нотке -нотки -нотой -ноту -нотунг -ноты -ночам -ночами -ночах -ночевавший -ночевал -ночевать -ночевывал -ночей -ночи -ночлег -ночная -ночно -ночного -ночное -ночной -ночном -ночною -ночную -ночные -ночным -ночными -ночных -ночуем -ночует -ночуете -ночуешь -ночую -ночь -ночью -ноша -ношей -ношу -ношусь -нощи -нощно -ноют -ноябре -ноябрь -ноября -нрав -нрава -нравах -нраве -нравилась -нравились -нравилось -нравился -нравитесь -нравится -нравиться -нравов -нравом -нравоучения -нравственная -нравственно -нравственного -нравственное -нравственной -нравственном -нравственности -нравственность -нравственною -нравственную -нравственные -нравственным -нравственными -нравственных -нраву -нравы -нравятся -ну -нудная -нудные -нудный -нужда -нуждается -нуждался -нуждах -нуждаюсь -нуждаются -нуждаясь -нужде -нуждой -нужду -нужды -нужен -нужна -нужная -нужнее -нужно -нужное -нужной -нужную -нужны -нужные -нужным -нужных -нулю -нумер -нумера -нумерам -нумерами -нумерах -нумере -нумеров -нумером -нутру -ны -ные -ныне -нынешнего -нынешнее -нынешней -нынешнем -нынешнему -нынешние -нынешний -нынешнюю -нынче -ньютон -ньютоновы -нюхает -нюхала -нюханье -нюхая -няне -няней -нянек -нянечка -няни -нянчась -нянчил -нянчились -нянчусь -нянька -няньками -няньке -няньки -няньку -няня -нях -о -оазисе -об -оба -обагри -обагрившая -обагрит -обанкрутится -обаяние -обаянием -обаянию -обаяния -обаяньем -обаятельная -обаятельного -обаятельное -обаятельной -обаятельный -обвалиться -обварил -обвел -обвела -обветшал -обвешивают -обвив -обвивал -обвивали -обвиваясь -обвила -обвились -обвинение -обвинении -обвинений -обвинению -обвинения -обвиненного -обвинив -обвинил -обвинила -обвинительные -обвинить -обвинишь -обвиняете -обвиняешь -обвинял -обвиняли -обвинять -обвиняю -обвиняющим -обвитый -обводила -обводили -обводить -обводят -обворожительно -обворожительными -обвязал -обвязано -обвязаны -обглоданной -обдавало -обдадут -обдает -обдаешь -обдал -обдать -обделаешь -обделать -обдергивались -обдерет -обдирать -обдует -обдуло -обдумав -обдумаем -обдумайте -обдумал -обдумала -обдуман -обдуманно -обдумать -обдумывает -обдумывал -обдумывая -обе -обегал -обегая -обед -обеда -обедаем -обедает -обедаешь -обедай -обедал -обедала -обедали -обедать -обедах -обедаю -обедают -обедая -обеде -обеденной -обедне -обедневший -обедней -обедни -обедню -обедня -обедов -обедом -обеду -обеды -обежал -обежит -обездоленный -обезличивают -обезображеннее -обезображенной -обезображено -обезобразили -обезоруженный -обезуме -обезумел -обеим -обеими -обеих -оберегаемая -оберегали -оберегать -оберегаю -оберечь -оберешься -обернется -обернув -обернувшись -обернул -обернулась -обернулись -обернулось -обернулся -обернуты -обернуться -обертках -обескуражены -обеспечена -обеспечение -обеспеченный -обеспечено -обеспечить -обеспокоена -обеспокоенная -обеспокоил -обеспокоила -обеспокоили -обеспокоить -обеспокою -обеспокоятся -обессиление -обессиленный -обессилил -обессилили -обетова -обетование -обетованной -обеты -обещает -обещаете -обещаетесь -обещай -обещал -обещала -обещали -обещались -обещался -обещание -обещанием -обещаний -обещанию -обещания -обещаниях -обещанья -обещать -обещаюсь -обещая -обещаясь -обжег -обжегся -обжечь -обживаясь -обжигаем -обжигаешь -обжигательная -обжог -обжора -обивал -обивать -обид -обида -обидевшись -обидел -обидела -обиделась -обиделись -обиделся -обидеть -обидеться -обиднее -обидно -обидное -обидной -обидном -обидному -обидны -обидой -обиду -обидчивость -обидчиком -обидчику -обиды -обидятся -обижает -обижаете -обижаетесь -обижается -обижаешься -обижайтесь -обижалась -обижался -обижать -обижаться -обижаю -обижают -обижаются -обижена -обиженная -обиженно -обиженный -обиженным -обилие -обилием -обилии -обилия -обильно -обильное -обильный -обильным -обиняков -обираешь -обирать -обираю -обит -обитавшие -обитатели -обитатель -обитая -обитые -обитый -обитым -обиходе -обкрадывал -облагодетельствовал -облагодетельствована -облагодетельствованных -облагороженному -облагороженных -обладателем -облак -облака -облаками -облаках -облаке -облако -облаков -облаком -обласкала -обласкали -обласкают -областей -области -область -облачка -облачко -облегчаемы -облегчает -облегчаете -облегчается -облегчал -облегчалась -облегчающих -облегчить -облезлый -облекать -облекла -обленилась -обленился -облепил -облепленный -облетели -облечена -обливает -обливала -обливалось -обливаюсь -обливая -обливаясь -облигаций -облизываясь -облик -облике -облилось -облита -облитой -облитый -облить -облиться -обличайте -обличало -обличат -обличать -обличают -обличающее -обличающие -обличению -обличения -обличенного -обличенных -обличий -обличили -обличителем -обличители -обличить -обличье -облобызал -обложив -обложил -обложила -обложит -облокотившись -облокотилась -облокотился -облокотиться -облокотясь -обломав -обломаешь -обломками -обломов -обломова -обломове -обломовка -обломовках -обломовке -обломовки -обломовкой -обломовку -обломовская -обломовский -обломовских -обломовского -обломовской -обломовском -обломовскому -обломовскую -обломову -обломовцам -обломовцев -обломовцы -обломовщина -обломовы -обломовым -обломовых -обломок -облупит -обмакнешь -обмакнул -обмакнуть -обман -обмана -обманет -обманете -обманом -обманувшие -обманул -обманула -обманули -обманут -обманутое -обманутые -обмануть -обмануться -обманчив -обманчивый -обманщика -обманщицы -обманывает -обманываете -обманываешь -обманывал -обманывали -обманывать -обманываю -обманывают -обманывающих -обмахивая -обмен -обмена -обмененном -обменялись -обменялся -обмер -обмеривали -обмеривают -обмеривая -обмерить -обмести -обметает -обмоет -обморок -обморока -обмороками -обмороке -обмороки -обмороком -обмороку -обмундировку -обмывает -обмывать -обмызганный -обнажает -обнажаться -обнаженная -обнаженную -обнаженные -обнаженных -обнажил -обнаружен -обнаружена -обнаружением -обнаруживал -обнаруживать -обнаруживая -обнаружил -обнаружили -обнаружило -обнаружилось -обнаружится -обнаружить -обнаружиться -обнеряшиться -обнес -обнесенный -обнимает -обнимаешь -обнимал -обнимала -обнимались -обнимать -обнимаю -обнимаются -обнимая -обнимемся -обнимет -обними -обновившимся -обновился -обновить -обновки -обновления -обновленного -обновлять -обноски -обнюхает -обняв -обнявшись -обнял -обняла -обнялись -обнять -обо -обобрал -обовьет -обовьют -ободком -ободранный -ободрано -ободренная -ободрившийся -ободрившись -ободрил -ободрилась -ободрило -ободрился -ободрись -ободрите -ободритесь -ободрить -ободриться -ободряла -ободряться -обоего -обожаемого -обожает -обожал -обожанием -обожания -обожающие -обожая -обожги -обожгли -обожгло -обожгу -обожжен -обожженный -обоз -обозвав -обозвал -обознать -обозначавшие -обозначается -обозначалась -обозначаются -обозначена -обозначено -обозначился -обозначить -обозники -обозреть -обозу -обои -обоим -обоими -обоих -обой -обойдет -обойдется -обойдешь -обойди -обойдусь -обойдутся -обойдя -обойной -обойти -обойтись -обокрали -обокрасть -оболочке -оболочку -обольет -обольется -обольстит -обольстительнее -обольстительной -обольстительный -обольют -обомлел -обомлели -обопрется -оборачивается -оборачивайте -оборачивались -оборачивался -оборачивая -оборачиваясь -оборвавший -оборвал -оборвала -оборвалась -оборвалось -оборванец -оборванной -оборванный -оборванца -оборванцем -оборвать -оборвет -оборвется -оборвешься -оборви -оборвыш -обороняется -оборот -оборота -оборотившийся -оборотившись -оборотил -оборотилась -оборотился -оборотится -оборотиться -оборотне -оборотнем -оборотной -оборотням -оборотом -оборотясь -оботрет -обошел -обошла -обошлась -обошлись -обошлось -обошьют -обоюдное -обоюдных -обоями -обоях -обрадовавшись -обрадовал -обрадовалась -обрадовались -обрадовался -обрадованная -обрадованного -обрадованный -обрадуемся -обрадуется -обрадуются -образ -образа -образами -образе -образина -образов -образовал -образовались -образовалось -образован -образование -образованием -образовании -образованию -образования -образованная -образованного -образованной -образованном -образованность -образованны -образованные -образованный -образованных -образок -образом -образу -образует -образумить -образумиться -образцами -образцовая -образцовое -образцовый -образцу -обрамлен -обрамлена -обрамленное -обратив -обратившись -обратил -обратила -обратилась -обратили -обратились -обратило -обратилось -обратился -обратим -обратит -обратится -обратить -обратиться -обратно -обратясь -обратят -обратятся -обращает -обращается -обращайте -обращайтесь -обращал -обращалась -обращали -обращались -обращался -обращать -обращаться -обращаюсь -обращаются -обращающийся -обращая -обращаясь -обращен -обращена -обращение -обращением -обращении -обращений -обращения -обращенная -обращенном -обращенному -обращенных -обращены -обращу -обращусь -обреешься -обрезал -обрезки -обрекает -обрел -обречен -обречена -обреченного -обреченные -обреченными -обречь -обрисовывается -обритый -обритым -обробел -обробела -оброк -оброка -оброке -оброку -обронил -обросший -оброчных -обрубила -обрубленный -обрубок -обругает -обругал -обругала -обругали -обругать -обругаться -обругаю -обругают -обруч -обручен -обручился -обручится -обручке -обрушившиеся -обрушила -обрушилась -обрушились -обрушится -обрыв -обрыва -обрывается -обрывалась -обрываю -обрывая -обрываясь -обрывках -обрывке -обрывки -обрывок -обрывы -обрюзг -обряд -обряда -обрядах -обрядов -обряды -обрящете -обсаженный -обсасывая -обслуживания -обставленная -обставленный -обстала -обстановив -обстановка -обстановке -обстановки -обстановкой -обстановку -обстоятельно -обстоятельное -обстоятельную -обстоятельным -обстоятельств -обстоятельства -обстоятельствам -обстоятельствами -обстоятельствах -обстоятельстве -обстоятельство -обстоятельством -обстоятельству -обстреливать -обстриженными -обстроилась -обструганная -обступили -обступило -обступят -обсудил -обсудим -обсудите -обсудить -обсудят -обсуждение -обсуживался -обсыплет -обтерев -обтереть -обтерпелась -обтертую -обтесанный -обтирал -обтирала -обтирая -обтирку -обтяжку -обуви -обугленный -обуется -обузу -обусловлена -обут -обутым -обухом -обучался -обучение -обуют -обуянный -обхватив -обхватил -обхватила -обхватили -обхватывает -обход -обходившую -обходил -обходили -обходилось -обходился -обходит -обходится -обходиться -обходом -обходя -обходятся -обхождении -обшаривал -обшарканные -обшарканными -обшивала -обширен -обширного -обширную -обширные -обширный -обшит -обшлагом -обшмыганные -общая -общего -общее -общей -общем -общему -общества -обществе -общественного -общественное -общественной -общественному -общественный -общественным -общественных -общество -обществом -обществу -общечеловеческая -общие -общий -общим -общих -общую -объедаете -объездили -объезжать -объем -объемистый -объемлет -объемля -объемом -объехать -объявив -объявил -объявила -объявили -объявились -объявился -объявим -объявит -объявите -объявится -объявить -объявлен -объявление -объявлены -объявляет -объявляется -объявляйте -объявлял -объявляю -объявляют -объявляя -объял -объяснение -объяснением -объяснений -объяснению -объяснения -объяснениями -объясненья -объяснил -объяснила -объяснили -объяснились -объяснилось -объяснимся -объяснимым -объяснись -объяснит -объясните -объяснитесь -объяснить -объясниться -объяснишься -объясню -объяснюсь -объясняемую -объясняет -объясняется -объясняешь -объяснял -объяснять -объясняться -объясняю -объясняя -объясняясь -объятие -объятии -объятий -объятия -объятиях -объятый -объятья -объятьях -обывательская -обывательской -обывательскую -обыденной -обыденною -обыденную -обыденных -обыкновение -обыкновению -обыкновения -обыкновенная -обыкновеннейших -обыкновенно -обыкновенного -обыкновенное -обыкновенной -обыкновенном -обыкновенною -обыкновенную -обыкновенны -обыкновенные -обыкновенный -обыкновенным -обыкновенных -обыск -обыски -обыскивает -обыскивайте -обыскивать -обыском -обычаев -обычаи -обычай -обычаю -обычное -обычной -обычную -обычные -обычным -обычными -обычных -обыщем -обыщите -обьятиях -обяжете -обязан -обязана -обязанной -обязанностей -обязанности -обязанность -обязанностью -обязанностях -обязанною -обязанным -обязаны -обязательная -обязательной -обязательны -обязательный -обязательных -обязательств -обязательства -обязательствах -обязательство -овал -овальной -овальными -овацию -овес -овечку -овеют -овеяла -овин -овином -овладевает -овладевала -овладевали -овладевало -овладевать -овладевшей -овладел -овладела -овладели -овладело -овощами -овощи -овощные -овраг -оврага -оврагам -овраге -оврагом -овса -овсе -овца -овцой -овцы -овчинин -овчинину -огарка -огарками -огарки -огарок -огибавшую -огибает -огибали -огибая -огласку -оглоблю -оглобля -оглохла -оглушение -оглушенный -оглушила -оглушили -оглядев -оглядевшись -оглядел -оглядела -огляделся -оглядеть -оглядимся -оглядки -оглядкой -оглядывает -оглядывается -оглядывайся -оглядывал -оглядывала -оглядывался -оглядывание -оглядывать -оглядывают -оглядываются -оглядывая -оглядываяась -оглядываясь -оглянемся -оглянется -оглянись -оглянитесь -оглянувшись -оглянула -оглянулась -оглянулись -оглянулся -оглянуться -огне -огневая -огневицей -огневой -огневые -огневым -огней -огнекрасная -огнекрасные -огнем -огненного -огненной -огненные -огненным -огненных -огни -огнь -огню -огня -огнями -огнях -ого -оговор -огонек -огонь -огонька -огоньки -огоньком -огород -огорода -огородам -огородами -огороде -огородить -огородишком -огородницы -огородом -огороду -огороды -огорошат -огорошивает -огорошить -огорчать -огорчен -огорчением -огорчения -огорчениями -огорченный -огорчены -огорчил -огорчился -огорчить -ограбил -ограбили -ограбить -ограблен -ограбленной -ограбленным -ограда -оградах -ограде -оградить -оградой -ограду -ограды -оградясь -огражу -ограниченные -ограничивался -ограничилось -ограничился -ограничится -ограничить -огрел -огромная -огромней -огромнейшие -огромнейшими -огромного -огромное -огромной -огромном -огромному -огромною -огромные -огромный -огромным -огромных -огрызался -огрызаться -огурец -огурцами -огурцов -огурцы -огурчик -одарен -одаренные -одев -одевается -одеваешься -одевайся -одевала -одевалась -одевали -одевался -одевать -одеваться -одевают -одевающаяся -одеваясь -одевшись -одежа -одежда -одежде -одеждой -одежду -одежды -одежке -одежонку -одеколону -одел -оделась -оделся -оденется -оденешь -одену -оденусь -оденут -одеревенелыми -одержим -одессе -одессы -одет -одета -одетая -одетого -одетой -одетому -одеты -одетые -одетый -одетым -одеть -одеться -одеяла -одеяло -одеялом -одеяние -один -одинаким -одинакова -одинаково -одинаковое -одинаковы -одинаковым -одинехонька -одинешенька -одиннадцати -одиннадцатой -одиннадцатом -одиннадцатый -одиннадцать -одинок -одинока -одинокий -одиноким -одиноко -одинокой -одиноком -одинокому -одиночества -одиночестве -одиночество -одиночку -одиночное -одичал -одичалая -одна -однажды -однако -однакож -однех -одни -одним -одними -одних -одно -одноважды -одновременно -одного -однозвучно -однозвучны -однозвучным -одноименной -одной -однократное -одном -одному -однообразие -однообразием -однообразия -однообразно -однообразное -однообразною -однообразную -однообразны -однообразный -однообразьи -одностороннего -односторонний -односторонним -одноцвет -одною -одну -одобрение -одобрением -одобрительно -одобрить -одобряла -одолеваемый -одолевает -одолевала -одолевают -одолел -одолела -одолели -одолело -одолеть -одолжайтесь -одолжение -одолжением -одолжите -одонцовым -одр -одре -одумается -одумался -одурачить -одуревшими -одуреешь -одурения -одурманения -одурманивающий -одутловатым -одушевлена -одушевление -одушевлением -одушевленные -оды -одышка -одышки -ожерельем -ожесточением -ожесточенная -ожесточенное -оживали -оживет -оживилась -оживили -оживить -оживление -оживлением -оживленнее -оживленно -оживленном -оживленностью -оживленный -оживлю -оживляет -оживлялась -оживлялись -оживлялся -оживляющих -оживляясь -оживут -ожидавшему -ожидавший -ожидает -ожидаете -ожидается -ожидал -ожидала -ожидали -ожидание -ожиданием -ожидании -ожиданий -ожидания -ожидать -ожидающий -ожидающую -ожидая -ожидовел -ожил -ожиревший -оз -озаботится -озабочен -озабоченнее -озабоченно -озабоченную -озабоченный -озабоченным -озадачен -озадаченный -озадачила -озаренная -озарены -озарил -озарила -озарили -озарилось -озарился -озарим -озарит -озарялись -озаряющего -оземь -озер -озера -озерах -озере -озерна -озеро -озером -озеру -озими -озимь -озирается -озирал -озирала -озиралась -озирался -озираньем -озираясь -озлились -озлился -озлобившись -озлобленные -ознакомиться -ознаменовало -ознаменовалось -означавшие -означает -означается -означенного -озноб -озноба -ознобил -озябла -озябшие -озябший -озябшими -ой -ока -окажется -оказалась -оказалось -оказался -оказанных -оказано -оказать -оказии -оказываемым -оказывает -оказывается -оказывала -оказывалась -оказывали -оказывалось -оказывают -окаймляющими -окаменеет -окаменел -окаменелая -окаменелость -окаменелых -окаменяющий -оканчивалось -окарикатурить -окатил -окаянная -окаянного -окаянные -окаянный -океан -океане -океаны -окидывает -окидывая -окинет -окинешь -окинув -окинул -оклад -окладов -оклеветал -оклеветали -оклеивали -окликает -окликать -окликнул -окликнули -окликнуть -окна -окнам -окнами -окнах -окне -окно -окном -окну -око -оков -окованная -окованный -оковы -оковывает -оковывать -околдован -околдованная -околицей -около -околотке -околотку -околоток -оком -окон -оконной -оконные -окончание -окончании -окончания -окончательнее -окончательно -окончательного -окончательное -окончательной -окончательному -окончательные -окончательный -окончательным -окончательных -окончен -окончив -окончил -окончила -окончит -окончится -окончить -окопать -окорока -окороков -окостенел -окостенела -окостенелый -окоченели -окоченил -окошечко -окошка -окошке -окошки -окошко -окошку -окраинах -окраску -окрашена -окрашены -окрест -окрестив -окрестил -окрестности -окрестность -окрестный -окрестных -окрик -окрика -окровавленного -окровавленную -окроме -окромя -окрошки -округлилась -округлости -округляли -округлять -окружавшее -окружавшей -окружали -окружающего -окружающее -окружающей -окружающему -окружающие -окружающий -окружающим -окружающих -окружающую -окружены -окружила -окружили -окружит -окружить -окружном -окрыляли -октавой -октаву -октябрь -октябрьском -октябрьскую -октября -окует -окунулась -окуня -окупаются -окутали -окуталось -оле -оледенела -оледенивший -оледенил -оледенило -олей -олени -оленька -олечка -олешкин -оли -олимпийские -олифе -олицетворенный -олово -олух -олухи -олухов -ольга -ольге -ольги -ольгиной -ольгой -ольгу -ольхи -ольхой -олюшка -олюшкой -оля -омаров -омбрельке -омерзение -омерзением -омерзения -омерзительно -омрачалось -омрачался -омрачение -омрачением -омрачения -омрачилось -ому -омут -омута -омуте -омываемых -омыт -омытый -он -она -онемев -онемела -онемели -онемелое -онемение -онеметь -онерами -они -онисим -онисимовна -онисимовны -онисиму -оно -оного -оную -оны -опадающий -опал -опаленная -опаленные -опаленный -опалит -опамятовавшись -опары -опасался -опасаясь -опасен -опасение -опасением -опасений -опасения -опасениях -опасливо -опасна -опасная -опаснее -опасно -опасного -опасное -опасностей -опасности -опасность -опасностями -опасные -опасный -опасным -опасных -опеки -опекой -опеку -опекун -опекуна -опекуном -опера -операции -операцию -опере -опередил -опередить -оперлась -оперном -оперся -оперу -опершись -оперы -опечаленный -опечалилась -опечалится -опечаток -опиваете -опирается -опираясь -описав -описал -описание -описанием -описании -описаний -описанная -описанное -описано -описать -описи -описывал -описывать -опишу -оплакала -оплакиваю -оплевать -оплетая -оплетет -оплетешь -оплеуха -оплеуху -оплодотворяется -оподлит -опоздавший -опоздает -опоздал -опоздала -опоздали -опоздать -опозоренная -опозорить -опозориться -опомнившись -опомнилась -опомнился -опомнись -опомнитесь -опомниться -опомнясь -опора -опору -опоры -опосля -опочиет -опошлить -оппозицию -оппонировать -оправдает -оправдан -оправдана -оправдание -оправданию -оправдания -оправдательные -оправдать -оправдаю -оправдывавшее -оправдывавшим -оправдывается -оправдываешь -оправдывалась -оправдывали -оправдывались -оправдывался -оправдывать -оправдываться -оправдываюсь -оправдывают -оправдывая -оправе -оправив -оправившись -оправила -оправилась -оправился -оправиться -оправлюсь -оправляла -оправлялась -оправляться -оправляя -опрашивает -опрашивали -определен -определения -определенная -определеннее -определенно -определенного -определенное -определенной -определенности -определенную -определенные -определенный -определенных -определив -определившеюся -определил -определился -определительно -определить -определю -определял -определяя -опредленным -опричь -опробую -опровергает -опровергал -опровергнутых -опровергнуть -опрокидыванье -опрокидываться -опрокидываясь -опрокинул -опрокинутого -опрокинутое -опрокинутою -опрокинутую -опрометчиво -опрометью -опросила -опротивели -опрыскивает -опрятно -опрятное -опрятность -оптический -оптом -опубликован -опускаем -опускает -опускаете -опускается -опускаешься -опускал -опускала -опускалась -опускали -опускалось -опускаться -опускают -опуская -опускаясь -опустевший -опустевшим -опустеет -опустел -опустели -опустело -опустелой -опусти -опустив -опустил -опустила -опустилась -опустили -опустились -опустился -опустись -опустите -опустится -опуститься -опустошает -опустошаются -опустошение -опустошенной -опустошенный -опустя -опутавшие -опухоли -опухоль -опушены -опущена -опущенная -опущенные -опущенный -опущенным -опущенными -опущены -опыт -опыта -опытах -опыте -опытная -опытнее -опытной -опытности -опытность -опытный -опытным -опыту -опыты -опьянев -опьяневший -опьянел -опьяненные -опьяненный -опьянят -опять -орава -оракула -орали -оранжа -оранжерею -оранжереям -оранжереях -орарем -оратор -оратора -ораторской -ораторствовал -ораторствуешь -орбит -органа -организацию -организм -организмами -организме -органом -органчиком -органщика -орда -орден -ордена -орденом -ордою -ореол -орет -орех -орехами -орехи -орешки -оригиналы -оригинальная -оригинально -оригинальности -оригинальность -оригинальный -оригинальным -оригинальных -оркестр -оркестре -орла -орлий -орлиный -орлиным -орлица -орлы -оробев -оробевшая -оробеет -оробела -орудий -орудия -оружие -оружием -орфографии -оса -осадила -осадить -осадка -осадой -осадок -осаду -осаждает -осанисто -осанистый -осанистым -осанка -осанкой -осведомилась -осведомился -осведомиться -освежает -освежалась -освежали -освежать -освежают -освежила -освежило -освежит -освежится -освежить -освежиться -осветил -осветилось -осветит -осветленный -осветят -освещает -освещал -освещало -освещая -освещена -освещение -освещении -освещенная -освободи -освободившись -освободилось -освободить -освободиться -освободу -освободясь -освободят -освобождался -освобождаются -освобождения -освятил -оседает -оседлать -осеклась -осеклись -осекся -осел -осела -оселся -осени -осенила -осенило -осенить -осенней -осенние -осенний -осенних -осень -осенью -осеняет -осеняли -осенялись -осеняя -осердитесь -осерчает -осетр -осетра -осетрина -осетрины -осечка -осиливал -осилил -осилила -осиновый -осину -осипшим -осквернил -осклабясь -осколки -осколок -оскопления -оскорбил -оскорбились -оскорбило -оскорбительнее -оскорбительно -оскорбительное -оскорбить -оскорблен -оскорблена -оскорбление -оскорблении -оскорблений -оскорбления -оскорбленная -оскорбленного -оскорбленное -оскорбленною -оскорбленный -оскорбленным -оскорблены -оскорблю -оскорбляет -оскорбляется -оскорблял -оскорблялась -оскорблять -оскорбляют -оскорбляясь -осла -ослаб -ослабевал -ослабевали -ослабевало -ослабевший -ослабевшим -ослабел -ослабели -ослабело -ослеп -ослепил -ослепила -ослепительно -ослепительной -ослепительные -ослепительным -ослепительных -ослепла -ослепление -ослепления -ослепленный -ослеплял -ослеплялся -ослепнув -ослепнуть -ослепшего -ослепшие -ослепший -ослободился -ослы -ослышался -осматривавшего -осматривает -осматривается -осматривал -осматривалась -осматривался -осматривать -осматриваться -осматриваю -осматривая -осматриваясь -осмеливаюсь -осмелилась -осмелились -осмелился -осмелитесь -осмелится -осмелиться -осмелишься -осмелюсь -осмеяно -осмеять -осмотр -осмотрев -осмотрел -осмотрела -осмотрелась -осмотрелся -осмотрено -осмотреть -осмотрит -осмотрительнее -осмотрится -осмыслив -осмыслилась -осмыслилось -осмыслить -оснеженном -оснеженные -оснежит -основа -основался -основание -основанием -основании -оснований -основания -основаниях -основанная -основанное -основанный -основано -основатель -основательно -основательные -основать -основная -основным -основных -основу -основы -основываете -основываясь -особа -особая -особенная -особенно -особенного -особенное -особенной -особенном -особенностей -особенности -особенность -особенною -особенную -особенные -особенный -особенным -особенных -особо -особого -особое -особой -особом -особому -особу -особую -особы -особый -особых -осой -оспа -оспаривает -оспаривали -оспаривать -оспу -осрамили -осрамлю -оставай -оставайся -оставайтесь -оставалась -оставались -оставалось -оставался -оставаться -оставаясь -оставив -оставил -оставила -оставили -оставим -оставит -оставите -оставить -оставишь -оставлена -оставленную -оставленные -оставленный -оставленных -оставлю -оставляет -оставляй -оставляйте -оставлял -оставляли -оставлять -оставляю -оставляют -оставляя -оставшийся -оставшимся -оставшись -оставшихся -оставь -оставьте -оставят -остаемся -остается -осталась -остались -осталось -остался -остальная -остального -остальное -остальной -остальном -остальную -остальные -остальным -остальных -останавливаемся -останавливаетесь -останавливается -останавливайся -останавливал -останавливалась -останавливались -останавливался -останавливать -останавливаться -останавливаются -останавливающихся -останавливая -останавливаясь -останемся -останетесь -останется -останешься -останови -остановив -остановившегося -остановившись -остановил -остановила -остановилась -остановили -остановились -остановилось -остановился -остановись -остановит -остановите -остановитесь -остановится -остановить -остановиться -остановишь -остановка -остановку -остановлюсь -остановясь -остановят -остановятся -останусь -останутся -останься -останьтесь -остатке -остатки -остаток -остаться -остаюсь -остаются -остающимися -остервенением -остервенении -остервенения -остервенясь -остереглись -остеречь -остзейскому -остолбенел -остолбенелый -осторожен -осторожна -осторожнее -осторожно -осторожного -осторожности -осторожностию -осторожность -осторожностью -осторожною -осторожны -осторожный -осторожным -осторожными -острастка -остри -острием -острия -остров -острова -островах -острове -островов -островок -островского -острову -острог -острога -остроге -острого -острое -острожной -острожных -острота -остротами -остротою -остроты -остроумие -остроумием -остроумии -остроумия -остроумная -остроумнее -остроумнейшим -остроумно -остроумного -остроумны -острые -острый -острым -остудился -оступался -оступаясь -остыл -остынет -осудили -осудит -осудить -осудят -осуждает -осуждайте -осуждала -осуждаю -осужден -осуждена -осужденные -осужденных -осунулось -осунулся -осушая -осуществилось -осуществился -осуществится -осуществить -осуществлялась -осчастливил -осчастливили -осчастливленный -осыпавшимися -осыпает -осыпается -осыпала -осыпалась -осыпали -осыпанье -осыпать -осыпка -осыплет -осьмерка -от -отбивался -отбивные -отбился -отбирал -отбить -отблагодарила -отблеск -отблеском -отборно -отборный -отбрасывать -отбросив -отбросил -отбросила -отброшенный -отваги -отвагой -отвагу -отваживает -отважно -отважные -отважный -отвален -отваливать -отвалил -отведает -отведать -отведет -отведу -отвезите -отвезли -отвезти -отвека -отвел -отвела -отвергался -отверделость -отверженец -отверженности -отверзалась -отверзалось -отверзлась -отверзший -отвернется -отвернувшееся -отвернувшись -отвернулась -отвернулись -отвернулся -отвернуться -отвертывалась -отвертываться -отвесной -отвесов -отвести -ответ -ответа -ответе -ответив -ответил -ответила -ответили -ответит -ответите -ответить -ответишь -ответный -ответов -ответом -ответственности -ответственность -ответу -ответы -ответь -ответьте -отвечает -отвечаешь -отвечай -отвечайте -отвечал -отвечала -отвечали -отвечать -отвечаю -отвечая -отвечу -отвешивает -отвинчу -отвлекайся -отвлекала -отвлекали -отвлеченен -отвлеченные -отвлеченных -отвлечь -отво -отвода -отводил -отводили -отводило -отводит -отводить -отводу -отводя -отводят -отвожу -отворачивалась -отворачиваться -отворачивая -отворачиваясь -отворен -отворена -отворенной -отворенною -отворенную -отворенные -отворенных -отворены -отвори -отворив -отворившего -отворил -отворила -отворилась -отворили -отворились -отворит -отворите -отворить -отворотами -отворотил -отворотился -отворотит -отворотясь -отворю -отворявшийся -отворяет -отворяется -отворяешь -отворяй -отворяйте -отворял -отворялась -отворялись -отворяль -отворять -отворяться -отворяют -отворяются -отворяя -отвратил -отвратительна -отвратительная -отвратительнее -отвратительно -отвратительной -отвратительные -отвратительный -отвратительным -отвратить -отвращение -отвращением -отвращении -отвращения -отвращенье -отвык -отвыкла -отвыкни -отвычки -отвяжешься -отвяжутся -отвязал -отвязался -отвязать -отвязаться -отгадать -отгадываний -отговаривался -отговариваться -отговорил -отговорился -отговорка -отговорки -отголосок -отгони -отгонит -отгонишь -отгонял -отгоняющее -отгороженное -отгуляется -отдававшаяся -отдавал -отдавала -отдавали -отдавался -отдавать -отдаваться -отдавят -отдадите -отдает -отдаете -отдается -отдай -отдайте -отдайтесь -отдал -отдала -отдалась -отдалении -отдаленно -отдаленного -отдаленное -отдаленной -отдаленную -отдаленные -отдаленный -отдаленным -отдаленных -отдали -отдалить -отдалял -отдам -отдан -отданию -отдано -отдаст -отдать -отдаться -отдашь -отдаю -отдают -отдаются -отдающих -отдающуюся -отделан -отделанную -отделаться -отделаюсь -отделение -отделении -отделению -отделения -отделенная -отделено -отделенье -отделкой -отделку -отделом -отделываемой -отделывается -отделывали -отделывать -отделываться -отделывают -отдельная -отдельно -отдельное -отдельной -отдельные -отдельных -отделявший -отделяла -отделялась -отделялось -отделять -отделяющей -отдернул -отдернула -отдохнем -отдохнет -отдохнешь -отдохни -отдохните -отдохновенья -отдохну -отдохнув -отдохнул -отдохнула -отдохнуть -отдых -отдыха -отдыхает -отдыхаете -отдыхал -отдыхала -отдыхать -отдыхаю -отдыхая -отдыхиваясь -отдыхнувшись -отдыхнулся -отдыхом -отдышалась -отдышаться -отекать -отекшим -отель -отеля -отер -отерла -отец -отеческое -отеческой -отечества -отечественные -отечеству -отжившее -отжила -отжило -отзвук -отзвучие -отзовется -отзыв -отзыва -отзывается -отзываешься -отзываться -отзывов -отзывом -отзыву -отзывы -отиравшую -отирать -отирая -откажемся -откажет -откажетесь -откажется -откажите -откажитесь -откажу -откажусь -отказа -отказавшись -отказал -отказала -отказалась -отказали -отказались -отказался -отказано -отказать -отказаться -отказом -отказывает -отказываете -отказываетесь -отказываешься -отказывайтесь -отказывал -отказывался -отказываться -отказываюсь -откапывать -откармливались -откашливаться -откашлянулся -откидные -откидываясь -откинув -откинула -откинутом -откладывал -откладывать -откладывая -откланивалась -откланиваться -откланиваясь -откланялась -откланялся -откланяться -откликалось -откликаясь -отклики -откликнулась -откликнулся -отклонив -отклонить -отколотил -отколотили -откомандировала -откопал -откопать -откровенен -откровенна -откровеннее -откровеннейшим -откровенничает -откровенничал -откровенно -откровенное -откровенности -откровенностию -откровенность -откровенностью -откровенною -откровенны -откровенный -откровенных -откроет -откроется -открой -откройся -открою -откроют -откроются -открыв -открывает -открывается -открывай -открывал -открывалась -открывались -открывалось -открывался -открывать -открываться -открываю -открываются -открывающимся -открывая -открыл -открыла -открылась -открыли -открылись -открылось -открыт -открыта -открытая -открытие -открытием -открытий -открытию -открытия -открыто -открытое -открытой -открытом -открытою -открытую -открыты -открытый -открытым -открытыми -открытых -открыть -открыться -откуда -откудова -откупа -откупам -откупиться -откупорил -откусила -откусить -откушать -откушенной -отлагается -отлагал -отлегло -отлетевший -отлетел -отлетела -отлетит -отлива -отливались -отливало -отливать -отличаемся -отличает -отличались -отличалось -отличат -отличать -отличаются -отличие -отличительные -отличить -отличная -отличнейший -отлично -отличное -отличной -отличном -отличную -отличные -отличный -отлогие -отлогих -отложат -отложенные -отложив -отложил -отложили -отложим -отложите -отложить -отложу -отломанными -отломок -отлучался -отлучился -отлучиться -отлучке -отлучусь -отмалчивается -отмахивается -отмахивался -отмахиваются -отмахиваясь -отмахнувшись -отмахнулась -отменили -отменить -отменном -отменные -отменный -отменят -отменяю -отметил -отметили -отметки -отметкою -отмеченный -отмеченных -отмечены -отмоешь -отмыв -отмывает -отмывал -отмывать -отмыли -отнекивалась -отнекивался -отнес -отнесет -отнесла -отнеслись -отнесло -отнесся -отнести -отнесу -отнимает -отнимается -отнимал -отнимала -отнимало -отнимаю -отнимая -отнимет -отнимите -отниму -отнимут -относил -относилась -относились -относительно -относительны -относитесь -относится -относиться -относятся -относящимся -отношение -отношении -отношений -отношения -отношениях -отношусь -отныне -отнюдь -отняв -отнял -отняли -отнялись -отнять -ото -отобедаем -отобедайте -отобедал -отобедать -отобедаю -отобрал -отобрать -отовсюду -отогнал -отогнать -отогрел -отогрелось -отодвигалась -отодвигалось -отодвигаться -отодвигая -отодвигаясь -отодвинув -отодвинул -отодвинула -отодвинулось -отодвинулся -отодвинуть -отозвал -отозвалась -отозвалось -отозвался -отозваться -отойдет -отойди -отойду -отойдя -отойти -отолстел -отолщением -отомкнув -отомкнула -отомстить -отопление -отопрет -отопрется -оторвавшись -оторвала -оторвало -оторвать -оторваться -оторвет -оторопев -оторопевший -оторопел -оторопью -отослал -отослана -отошел -отошла -отошли -отошло -отощал -отпаривал -отпевании -отпейте -отпер -отперла -отперли -отперта -отпертая -отперто -отпертой -отпертую -отпечаталась -отпечатают -отпив -отпивая -отпил -отпирает -отпирала -отпирать -отпирают -отписал -отпихнул -отпихнула -отпихнуть -отплясывал -отполированного -отпор -отправившимся -отправил -отправила -отправилась -отправили -отправились -отправилось -отправился -отправимся -отправитесь -отправится -отправить -отправиться -отправишь -отправишься -отправлен -отправление -отправлении -отправлений -отправления -отправлениях -отправленью -отправлю -отправлюсь -отправляетесь -отправляется -отправляйся -отправляйтесь -отправляла -отправляли -отправлялись -отправлялось -отправлялся -отправляю -отправляюсь -отправляются -отправляющей -отправляясь -отправятся -отпраздновать -отпрыск -отпрыске -отпрыски -отпрыску -отпуск -отпускает -отпускай -отпускала -отпускалась -отпускали -отпускалось -отпускать -отпуская -отпусти -отпустил -отпустит -отпустить -отпустят -отпущен -отпущено -отрав -отрава -отрави -отравил -отравилась -отравился -отравитесь -отравится -отравить -отравиться -отравлений -отравленной -отравленный -отравленным -отравлены -отравляешь -отравляла -отравлять -отрада -отрадно -отрадного -отражалось -отражать -отражаться -отражаясь -отражение -отражением -отражены -отразились -отразилось -отразился -отразится -отрапортует -отрастил -отрезал -отрезала -отрезали -отрезанные -отрезанный -отрезать -отрезвел -отрезвился -отрезвись -отрезвится -отрезвляется -отрезвлялась -отрезвляло -отрезвляться -отрезвляющее -отрезвляясь -отрезков -отрекаетесь -отрекался -отрекаюсь -отрекомендовался -отрекомендовать -отрекомендоваться -отрекся -отретировался -отречение -отречения -отречься -отрешиться -отринь -отрицаем -отрицаете -отрицал -отрицания -отрицатели -отрицательная -отрицательно -отрицательный -отрицаю -отрицают -отрицая -отроду -отродясь -отрочества -отрочестве -отрубленную -отрывает -отрывается -отрывал -отрывала -отрывать -отрывая -отрываясь -отрывисто -отрывистые -отрывки -отрывок -отрывочно -отряд -отряс -отсвет -отсветы -отсидела -отскакивавший -отскочи -отскочив -отскочил -отскочила -отскочило -отслужив -отслужить -отслужу -отсохли -отсрочивать -отсрочишь -отставал -отставила -отставке -отставку -отставного -отставной -отставные -отставшие -отставший -отставшими -отстает -отстал -отстала -отстали -отстало -отсталого -отсталостью -отсталый -отсталых -отстанет -отстану -отстанут -отстань -отстаньте -отстать -отстаю -отстегнул -отстоял -отстоялся -отстранились -отстраняются -отстраняя -отстраняясь -отстряпает -отступает -отступало -отступающих -отступая -отступив -отступил -отступила -отступили -отступило -отступилось -отступишься -отступлю -отступлюсь -отступятся -отсутствие -отсутствием -отсутствия -отсутствующему -отсутствующих -отсчитал -отсчитывать -отсылал -отсылать -отсыпной -отсюда -оттает -отталкиваешь -отталкивал -отталкивала -отталкивали -отталкивало -отталкивать -отталкивающее -отталкивающий -отталкивающим -отталкивая -оттащить -оттенка -оттенком -оттенок -оттеняет -оттеняется -оттепель -оттепелями -оттер -оттерты -оттого -оттолкнет -оттолкнешь -оттолкнув -оттолкнул -оттолкнула -оттолкнутый -оттопырившуюся -оттрепал -оттреплет -оттуда -оттудова -оттянулось -отуманенный -отуманивать -отупения -отупеть -отупления -отучены -отучит -отхаркивая -отхаркнулась -отхватит -отхлебнул -отхлебывая -отхлеставшему -отхлестал -отхлынет -отхлынули -отходи -отходил -отходила -отходит -отходной -отходят -отца -отцам -отцами -отцах -отцвели -отцветшего -отцветшими -отце -отцов -отцовские -отцовский -отцовских -отцовскую -отцом -отцу -отцы -отчаивайся -отчаивался -отчаиваться -отчасти -отчаявшийся -отчаялась -отчаялись -отчаяние -отчаянием -отчаянии -отчаянию -отчаяния -отчаянная -отчаяннее -отчаянно -отчаянного -отчаянное -отчаянной -отчаянном -отчаянному -отчаянною -отчаянные -отчаянный -отчаянным -отчаянных -отчаянье -отчаянью -отчаянья -отчаяться -отче -отчего -отчеканивая -отчеканила -отчеканилась -отчеканился -отчество -отчет -отчета -отчетливо -отчетливым -отчетов -отчетом -отчеты -отчизне -отчизну -отчий -отчиной -отчистил -отчищенных -отчуждения -отшатнулась -отшатнулся -отшельник -отшибло -отшумела -отщелкивая -отъезд -отъезда -отъезде -отъездом -отъезду -отъезжают -отъезжающими -отъехав -отъявленного -отъявленной -отъявленным -отыскав -отыскал -отыскала -отыскалась -отыскали -отыскались -отыскалось -отыскался -отыскание -отыскать -отыскивает -отыскиваете -отыскивал -отыскивали -отыскивать -отыскиваются -отыскивая -отыщется -отыщешь -отыщи -отягчены -отяжелевшую -отяжелели -отяжелелой -офелию -офицер -офицера -офицерами -офицеров -офицером -офицерская -офицерских -офицеру -офицеры -официально -официальное -официальном -официальный -официальным -официальных -офранцузят -ох -охает -охаете -охала -оханье -оханья -охапку -охая -охватил -охватила -охватили -охватило -охватить -охватывавшим -охватывал -охватывала -охватывают -охвачен -охваченный -охи -охладевших -охлаждается -охлаждался -охлаждение -охлаждений -охмелел -охмелия -охмеляющего -охнет -охнуть -охо -охота -охоте -охотку -охотливо -охотнее -охотник -охотника -охотничья -охотно -охотой -охоту -охоты -охранению -охраню -охраняет -охраняя -охрипший -охта -оцененного -оцени -оценила -оценили -оценить -оценку -оцепенеет -оцепенел -оцепенело -оцепенелой -оцепенении -оцепенения -оцепили -оч -очаг -очами -очаровал -очарован -очарована -очарование -очарования -очарованной -очарованный -очарованье -очарованьи -очарованьям -очарователен -очаровательна -очаровательная -очаровательнее -очаровательнейшая -очаровательное -очах -очевидно -очевидное -очевидности -очевидность -очевидную -очевидные -очевидный -очей -очень -очереди -очередь -очерк -очертаний -очертания -очертанье -очертил -очертя -очи -очинил -очините -очинна -очистительных -очистить -очистки -очищает -очищать -очищений -очию -очками -очках -очки -очнетесь -очнется -очнешься -очнитесь -очнувшийся -очнувшись -очнулась -очнулись -очнулся -очнусь -очнуться -очумел -очутившиеся -очутившийся -очутилась -очутились -очутилось -очутился -очутиться -очутясь -ошеломлен -ошеломленная -ошень -ошибаетесь -ошибается -ошибаешься -ошибалась -ошибались -ошибался -ошибаться -ошибаюсь -ошибаются -ошибетесь -ошибиться -ошибка -ошибке -ошибки -ошибкой -ошибку -ошиблась -ошиблись -ошибок -ошибочка -ошибочно -ошибочное -ошибочных -ошибся -ошибусь -ощеришься -ощетинившейся -ощетинился -ощупав -ощупал -ощупом -ощупывает -ощупывая -ощупью -ощутил -ощутилась -ощутим -ощутительно -ощутить -ощущаете -ощущается -ощущал -ощущала -ощущать -ощущаю -ощущая -ощущение -ощущением -ощущении -ощущений -ощущения -п -па -пава -павел -павильон -павильонам -павла -павлиний -павлиньи -павлиньим -павлович -павловна -павловне -павловной -павловну -павловны -павловцы -павлыч -павлыча -пагубная -падает -падай -падал -падала -падаль -падать -падаю -падают -падающего -падающие -падеж -падение -падением -падении -падений -падения -паденье -паденья -падет -падут -падучая -падчерицей -падчерицы -падшая -падшей -падшему -падший -падшим -падших -падшую -паек -пазухи -пазуху -пай -пакет -пакетом -пакеты -пакостей -пакостно -пал -пала -паладином -палата -палате -палату -палаты -пале -палевые -палевых -палец -пали -палил -палим -палима -палимый -палит -палка -палки -палкой -палку -палладиумом -палочкой -палочку -пальбу -пальмерстон -пальмерстоном -пальмой -пальмы -пальто -пальца -пальцам -пальцами -пальцах -пальце -пальцев -пальцем -пальцы -пальчик -пальчика -пальчики -палящая -палящих -памятен -памяти -памятлив -памятниками -памятно -памятной -память -памятью -пан -панаму -пане -панегирика -панели -пани -панихид -панихиду -панихиды -панический -панического -панн -панна -панорама -панораму -панорамы -пансион -пансиона -пансионе -пансионерки -пансионной -панталон -панталонах -панталоны -пантелеевич -пантелеевна -пантелеич -пантера -панцырь -папа -папаша -папашей -папаши -папашу -папенька -папеньке -папеньки -папенькой -паперти -папильотках -папирос -папиросами -папиросками -папироски -папироской -папироску -папиросочка -папиросочку -папиросочница -папиросочницу -папиросу -папиросы -папка -папку -папочка -папочку -папы -папье -пар -пара -параболу -парада -парадная -парадное -парадному -парадных -параду -парализованы -паралич -паралича -параллель -параллельно -параша -парашу -пардон -паре -парень -пари -париж -парижа -париже -парижем -парижских -парижскому -парикмахера -париком -парили -парит -парк -парка -парке -парку -пармезаном -парней -парнем -парнике -парнишка -парнишкой -парню -парня -парой -пароксизме -пароксизмы -паром -пароход -парохода -пароходах -пароходе -пароходы -партере -партией -партии -партию -партия -пару -парус -парусах -парчами -парче -пары -пас -паску -пасли -пасмурна -пасмурно -пасмурный -паспорт -паспорта -паспорте -паспорту -паспорты -пассивно -пастил -пастух -пастухи -пастухом -пастуший -пастушков -пастырь -пасть -пастья -пасхальной -пасхальный -пасхе -пасхи -пасху -пасьянс -патентованных -патер -патетическая -патетически -патетических -патетической -патетическому -патетическую -патоки -патриархальной -пауза -паузы -паук -пауке -пауки -пауком -паутина -паутиной -паутину -паутины -паф -пафос -пахарь -пахать -пахло -пахнет -пахнул -пахнуло -пахнут -пациент -пациента -пациентами -пациентов -паче -пачками -пачки -пачку -пачтенье -пачулями -пашен -пашенька -пашеньке -пашеньки -пашенькой -пашка -пашой -пашут -паях -паяц -паяца -пе -певал -певали -певец -певица -певицы -певуче -певучее -певучей -певучий -певучим -певучих -певца -певцы -певчий -певчих -певший -пегашке -пегашку -пегую -педагог -педагогическом -педагогов -педант -педантизма -педантизмом -педантически -педантических -педантическое -педантическую -педанты -пей -пейзаж -пейзажа -пейзажах -пейзажей -пейзажи -пейзажист -пейсы -пейте -пекли -пеклись -пекут -пекущуюся -пел -пела -пелагеи -пелагея -пеленами -пеленах -пеленой -пелериной -пели -пело -пена -пене -пени -пение -пением -пении -пенится -пения -пенки -пенкин -пенкиным -пеной -пеною -пенсии -пенсион -пенсиона -пенсионе -пенсионишко -пенсионом -пенсию -пень -пенье -пеньем -пеньи -пеняй -пеняйте -пенять -пепел -пепельницу -пепла -пеплом -пера -первая -первейшая -первейшими -первенец -первенство -первенствующей -первенствующую -первенца -первенце -перво -первобытною -первобытный -первого -первое -первозданный -первой -первом -первому -первоначальная -первоначально -первоначальное -первоначальную -первоначальные -первоначальный -первоначальных -первою -первую -первые -первый -первым -первых -пергаментным -пергаментом -перебегал -перебегала -перебегающими -перебежала -переберем -переберет -переберешься -переберись -переберусь -переберут -перебиваете -перебивай -перебивал -перебивалась -перебиванья -перебиваюсь -перебивая -перебившего -перебил -перебила -перебили -перебирает -перебирается -перебирай -перебирала -перебирать -перебирая -перебиты -перебить -переболело -перебороло -перебором -перебрал -перебрала -перебранился -перебраны -перебрасывается -перебудить -перебывает -перебывали -перебывало -перебьют -перевале -переваливаться -переваливаясь -перевалился -переварилась -переварится -переварить -переведет -перевез -перевезенную -перевезли -перевезут -перевел -перевелась -перевели -перевелись -перевернется -перевернул -перевернула -перевернули -перевернуло -перевернулось -перевернулся -перевернуть -перевертел -перевертывается -перевертывать -перевертываясь -перевес -перевести -перевесть -перевиваясь -перевод -переводе -переводили -переводить -переводной -переводов -переводом -переводы -переводя -переводят -перевожу -перевозиться -перевозка -перевозки -перевозят -переворачивается -переворачивался -переворачивая -переворот -переворотил -переворотов -переворочаешь -переврала -перевязан -перевязана -перевязочным -перевязь -переглотают -переглянулась -переглянулся -перегнувшись -переговаривал -переговорено -переговорив -переговорил -переговорили -переговорить -переговоры -переговорю -перегорает -перегородке -перегородки -перегородкой -перегородку -перед -передав -передаваемая -передаваемой -передавал -передавала -передавали -передавать -передавая -передадите -передает -передайте -передал -передала -передали -передам -переданной -передаст -передать -передаю -передвигая -переделает -переделаешь -переделала -переделано -переделать -переделки -переделку -переделывать -передергивая -передернуло -передернут -передке -передней -переднюю -передо -передовые -передовыми -передовых -передом -передразниванье -передразнил -передумав -передумает -передумал -передумала -передумано -передумать -передумывать -передушил -переедем -переедет -переедете -переедешь -перееду -переежаем -переезд -переезда -переезде -переездкой -переездом -переезжаем -переезжает -переезжай -переезжайте -переезжал -переезжали -переезжать -переезжаю -переезжают -переезжая -переехал -переехала -переехали -переехать -переешь -переждав -переждал -переждать -пережевывает -переживает -переживала -переживаю -переживем -переживешь -переживу -пережил -пережит -пережитых -пережить -перезрелою -переименованы -переимчивым -переиначил -переиначить -перейдет -перейдете -перейдут -перейдя -перейти -перекидывались -перекинет -перекинул -перекинуть -перекладных -перекладывал -перекладывала -перекликаются -перековать -перекосились -перекосилось -перекрестив -перекрестившись -перекрестила -перекрестилась -перекрестился -перекрестись -перекрестит -перекрестка -перекрестках -перекрестке -перекрестку -перекрестный -перекресток -перекрестясь -перекрещивались -перекрещивания -перекрещиваясь -перекрещу -перекупленном -перекусил -перелетная -перелетные -переливает -переливается -переливы -перелилась -перелистывает -перелистывай -перелистывал -перелистывать -перелистывая -переложил -переложили -переложит -перелом -перелома -переломали -переломаны -переломится -перельет -перемелется -перемен -перемена -перемене -перемени -переменившемся -переменившимся -переменил -переменила -переменилась -переменили -переменились -переменилось -переменился -переменит -перемените -переменить -перемениться -переменного -перемены -переменяете -переменят -переменятся -переменять -переменяя -перемешал -перемешались -перемешаны -переминаясь -перемолвить -перемолола -перемыть -перенес -перенесемся -перенесении -перенесено -перенесет -перенесешь -перенесла -перенесли -перенесся -перенести -перенестись -перенесть -перенесу -перенесут -переносил -переносила -переносили -переносит -переносится -переносить -переносье -переночуют -переношу -перенял -перенятым -переодеться -перепало -перепахали -перепел -перепела -перепелки -перепелов -переписал -переписана -переписать -переписка -переписывали -переписыванье -переписывать -перепишет -перепишете -переплет -переплете -переплетом -переплыть -переползанье -переползанья -переполненном -переполненный -переполнено -переполнять -переправил -переправился -переправить -переправиться -перепродает -перепродай -перепугается -перепугаешься -перепугалась -перепугались -перепугался -перепуганная -перепуганные -перепуганными -перепутает -перепутаешь -перепуталось -перепутанные -перепьются -переработалась -перерастает -перервал -перерву -перерезывала -переродило -перерождавшаяся -перерождения -перерыв -перерывая -перерыву -перерывы -переряженный -пересветов -пересекло -пересел -переселился -переселимся -переселить -переселиться -переселяемся -пересиливает -пересиливал -пересиливая -пересилил -пересилила -перескажу -пересказал -пересказать -пересказывал -пересказывала -пересказывать -перескакивали -перескакивать -перескочить -переславший -переслал -переслать -переслюнить -пересмешку -пересмотрю -пересохли -пересохло -переспорил -переспрашиваемый -переспросил -переспросила -перессорились -перестав -переставал -переставала -переставали -переставало -переставая -переставил -переставлял -перестает -перестал -перестала -перестали -перестало -перестанем -перестанемте -перестанет -перестанете -перестанешь -перестану -перестанут -перестань -перестаньте -перестать -перестаю -перестают -перестрадать -перестройки -перестройку -переступал -переступать -переступают -переступая -переступив -переступил -переступила -переступить -пересуды -пересчитаешь -пересчитал -пересчитают -пересчитывал -пересылала -пересылались -пересыпать -перетаскано -перетаскивать -перетасовка -перетащил -перетащить -переулка -переулкам -переулках -переулке -переулки -переулком -переулку -переулок -перехватила -перехватить -перехитренному -переход -перехода -переходил -переходила -переходили -переходим -переходит -переходить -переходя -переходят -переходящее -перехожу -перечислил -перечитав -перечитал -перечница -перешагнешь -перешагнул -перешагнуть -перешедшее -перешедший -перешел -перешептал -перешептываться -перешивал -перешить -перешла -перешли -перешло -перещеголял -перил -перила -перилам -перин -перине -перинное -перины -период -периодически -периодического -периодической -периодическою -периодическую -периферию -перл -перламутра -перлы -перо -пером -персидским -персидской -персидском -персики -персон -перспектива -перспективе -перспективой -перспективу -перспективы -перст -перстень -перстней -перстнем -перстнями -перстнях -перстом -персты -перу -перуджийский -перуджино -перуджия -перунами -перцу -перчатками -перчатках -перчатке -перчатки -перчатку -перчаток -першить -перышко -перьев -перья -перьями -пес -песен -песенка -песенки -песенку -песенники -песенников -песка -песках -песке -пескину -песком -песку -песне -песней -песни -песнию -песнь -песнью -песню -песня -песнями -песнях -песок -пестиком -пестрая -пестреют -пестрили -пестрит -пестрой -пестротой -пестрою -пеструшка -пестрые -пестрый -пестряков -пестрякова -пестряковым -песчаной -песчаную -песчаные -песчинка -петей -петель -петербург -петербурга -петербурге -петербургом -петербургская -петербургские -петербургский -петербургским -петербургских -петербургское -петербургской -петербургском -петербургскую -петербуржцу -петле -петлей -петли -петлицах -петлице -петлицу -петлю -петля -петр -петра -петре -петров -петрович -петровича -петровиче -петровичем -петровичу -петровки -петровна -петровне -петровной -петровну -петровны -петровский -петровского -петроградское -петроградском -петром -петру -петруша -петрушка -петрушке -петрушку -петруща -петух -петуха -петухи -петухом -петушка -петь -петя -пехота -пехоте -пехотного -печалей -печален -печали -печалились -печалить -печалиться -печаль -печальна -печальная -печально -печального -печальное -печальной -печальном -печальною -печальный -печальным -печальных -печалью -печалями -печами -печатаете -печатаетесь -печатал -печататься -печати -печатными -печатных -печать -печатью -печени -печений -печенка -печенками -печеную -печенья -печет -печи -печке -печки -печкой -печку -печь -пешкой -пешком -пешни -пещера -пещеры -пианино -пива -пивал -пивали -пиво -пивом -пивца -пивцо -пигмалионом -пидерита -пиджак -пиджаке -пиджаки -пик -пикирована -пикированная -пикированным -пикнуть -пил -пила -пили -пилит -пилот -пилюли -пилюлю -пион -пир -пира -пирамидами -пирамиду -пирамиды -пире -пиров -пирог -пирога -пироги -пирогов -пирогом -пирожка -пирожки -пирожное -пирожных -пиру -пирушках -пиры -писал -писала -писали -писало -писалось -писан -писаний -писанное -писанный -писаных -писаньем -писанья -писаньям -писарем -писаришек -писаришками -писаришки -писарь -писаря -писателей -писателем -писатели -писатель -писательницей -писательство -писателю -писателя -писателям -писателями -писать -писем -писец -писк -пискариной -пистолет -писца -писцов -писцом -писцы -писывал -письма -письмах -письме -письменно -письменном -письменному -письменный -письменным -письмецо -письмецом -письмо -письмоводителем -письмоводитель -письмоводителю -письмоводителя -письмом -письму -питает -питал -питала -питалась -питали -питание -питать -питаться -питаю -питая -питаясь -питейное -питейной -питер -питере -питером -питии -питомник -питомце -питомцы -пить -питье -питья -пиф -пишем -пишет -пишете -пишется -пишешь -пиши -пишите -пишу -пишут -пишутся -пишущим -пища -пищали -пищат -пище -пищи -пищик -пищика -пищиков -пищиком -пищику -пищу -пиявки -пла -плавает -плаванье -плавать -плавающих -плавит -плавно -плавное -плавный -плакавшие -плакавших -плакавшую -плакал -плакала -плакали -плакались -плакало -плакаль -плакать -плакиды -плаксиво -плакун -пламенем -пламени -пламенная -пламенной -пламенном -пламенные -пламень -пламя -план -плана -планами -планах -плане -планет -планета -планетах -планете -планету -планеты -планом -планомерно -плантатору -плану -планы -пластинка -пластырями -плат -платеже -плати -платил -платили -платиль -платим -платит -платите -платить -платишь -платка -платками -платке -платки -платком -платку -платок -платона -платочек -платочком -платою -плату -платформу -платье -платьев -платьем -платьица -платьице -платьишке -платьишки -платью -платья -платьями -платьях -платя -платят -плач -плача -плаче -плачевный -плачевным -плачем -плачет -плачете -плачешь -плачу -плачут -плачущее -плачущим -плачущих -плачущую -плачь -плачьте -плащ -плаща -плащах -плаще -плащом -пле -плевал -плеванье -плевны -плевок -плед -пледом -плелся -племени -племянника -племянниками -племянница -плен -пленительна -пленительные -пленная -пленник -пленной -плену -пленя -пленял -пленялись -пленяло -пленять -плеск -плесканье -плесну -плеснул -плеснула -плеснули -плести -плетеных -плетень -плетет -плети -плетнем -плетни -плетня -плетут -плеч -плеча -плечам -плечами -плечах -плече -плечи -плечики -плечо -плечом -плечу -плешивым -плещет -плибьет -плисовых -плита -плитам -плитами -плитах -плите -плиты -плод -плодами -плодить -плодов -плодотворная -плодотворной -плоды -плоские -плоско -плоти -плотин -плотине -плотнее -плотник -плотника -плотно -плотного -плотное -плотной -плотный -плотных -плоты -плоть -плох -плоха -плохая -плохие -плохих -плохо -плохонький -плохую -плоше -площади -площадка -площадке -площадки -площадная -площадной -площадь -площадям -площадях -плугом -плут -плутоват -плутоватою -плутовка -плутовская -плутовски -плутовскою -плутовства -плуты -плывет -плыви -плыл -плыла -плыло -плыть -плэд -плюгавенький -плюй -плюнет -плюну -плюнул -плюнуть -плюнь -плюс -плюх -плющами -плющей -плющом -плюю -плюют -пляс -плясала -плясать -пляске -пляски -плясуна -плясунья -пляшет -пляши -пляшут -пни -по -побагровел -побаивается -побаивались -побег -побегом -побегу -побегут -побегушках -победа -победам -победами -победе -победил -победила -победителем -победителя -победить -победно -победный -победой -победоносцев -победоносцевым -победу -победы -побежал -побежала -побежали -побежало -побеждает -побеждал -побеждать -побеждающею -побеждая -побежден -побежденный -побеждены -побежит -побелевшею -побелевшие -побелел -побереги -поберегите -поберегся -поберечь -поберечься -побеспокоили -побеспокоить -побивали -побили -побираться -поблагодари -поблагодарил -поблагодарила -поблагодарить -поблагодарю -побледнев -побледневшая -побледневшими -побледнеет -побледнел -побледнела -побледнели -побледнело -побледнеют -поблек -поблекла -поблекли -поблекло -поблеклые -поблекнет -поблекшей -поблескивает -поближе -поблизости -пободрее -побоев -побожился -побожиться -побои -побоится -побой -побоку -поболее -поболтать -побольше -поборемся -поборол -поборюсь -побрал -побранят -побрезгуй -побрился -побродив -побросать -побудившие -побудила -побудили -побудило -побуду -побудь -побудьте -побуждали -побуждение -побывали -побывать -побываю -побыл -побыстрей -побыть -побьет -повадился -повадки -повадятся -поважнее -повалил -повалилась -повалило -повалилось -повалился -повалится -повалиться -повальной -поваляться -повар -повара -поварам -поваров -поваром -повару -поведать -поведение -поведении -поведению -поведения -поведет -поведешь -поведу -поведут -повез -повезет -повезли -повезут -повел -повела -повелевала -повелел -повеление -повелению -повелено -повели -повелитель -повелительно -повелительным -повело -повелось -повергает -повергался -поверенная -поверенного -поверенному -поверенный -поверенным -поверженный -поверженным -поверив -поверил -поверила -поверили -поверим -поверит -поверите -поверить -поверишь -поверка -поверкою -повернись -поверну -повернувшийся -повернувшись -повернул -повернула -повернулась -повернули -повернулся -повернуть -повернуться -поверстный -повертел -повертеться -повертит -повертывая -поверх -поверхностно -поверхностным -поверхность -поверь -поверьте -поверю -поверяет -поверял -поверяла -поверят -поверять -повеселевшим -повеселее -повеселеет -повеселел -повеселела -повеселели -повеселело -повеселись -повеселиться -повеселясь -повесив -повесившиеся -повесил -повесить -повеситься -повествовала -повествований -повествовать -повествует -повести -повестка -повестке -повестки -повестку -повесть -повестям -повестях -повесьте -повеся -повечеру -повешенные -повеял -повеяло -повивальными -повивальных -повидавшись -повидать -повидаться -повилика -повинился -повинною -повинных -повиновались -повиновался -повинуйся -повинуются -повинуясь -повинюсь -повис -повисали -повисла -повисли -повиснет -повисшей -повисшими -повита -повито -повихнулся -повлекли -повлекло -повлияло -повнимательнее -повод -повода -поводил -поводом -поводу -поводя -поворачивает -поворачивается -поворачивайся -поворачивался -поворачиваю -поворачивая -поворачиваясь -поворот -поворота -повороте -поворотил -поворотили -поворотился -поворотить -поворотом -поворчав -повострее -повредил -повредит -повредить -повредиться -повсеместно -повсеместных -повстречался -повстречаться -повсюду -повторение -повторения -повторенья -повтори -повторившееся -повторил -повторила -повторили -повторило -повторился -повторим -повторит -повторится -повторить -повторю -повторяет -повторяйте -повторял -повторяла -повторялись -повторялось -повторялся -повторять -повторяться -повторяю -повторяют -повторяются -повторяя -повыскочит -повысосет -повыше -повышение -повяжется -повязан -повязаны -повязки -повязкой -повязку -поганая -поганую -погас -погасал -погасали -погасания -погаси -погасил -погасит -погасла -погасли -погасло -погасшие -погиб -погибает -погибайте -погибал -погибало -погибают -погибающий -погибели -погибельные -погибелью -погибла -погибли -погибло -погибнет -погибну -погибнуть -погибший -погибшим -погибшими -погладил -поглотила -поглотит -поглощаются -поглощен -поглощенные -поглубже -поглумился -поглупее -поглупел -поглупеть -поглядев -поглядел -поглядела -поглядели -поглядело -поглядеть -погляди -поглядим -поглядит -поглядите -поглядишь -поглядывает -поглядывал -поглядывала -поглядывали -поглядывая -погляжу -погнал -погнался -погнушались -поговаривали -поговаривать -поговаривают -поговори -поговорила -поговорили -поговорим -поговорит -поговорить -поговоришь -поговорю -погогочут -погода -погоде -погоди -погодили -погодите -погодой -погоду -погоды -погодя -погожу -погони -погонит -погоняя -погордиться -погорел -погорельцам -погорельцев -погорячатся -погорячился -погорячится -погостить -погреб -погреба -погребаете -погребался -погребальный -погребальными -погребе -погребена -погребла -погребло -погрозив -погрозил -погрозила -погрознее -погромче -погружается -погружалась -погружались -погружался -погружаюсь -погружаясь -погружен -погружена -погруженная -погруженный -погрузил -погрузилась -погрузились -погрузилось -погрузился -погрузит -погрузится -погрузиться -погрузишь -погрузясь -погрустив -погрустим -погубил -погубило -погубит -погубить -погублю -погуляет -погуляй -погуляйте -погулял -погулять -погуще -под -подавай -подавал -подавала -подавали -подавался -подавать -подавая -подавила -подавить -подавленной -подавленный -подавленным -подавленными -подавлю -подавлять -подавляются -подавляя -подавно -подагра -подагрика -подагрой -подагру -подагры -подадим -подадите -подадут -подает -подаешь -подай -подайте -подал -подала -подалась -подали -подались -подальше -подам -подан -поданный -подано -поданы -подаренное -подаренный -подари -подарил -подарила -подарили -подарите -подарить -подарка -подарки -подарков -подарок -подарю -подаст -подати -подать -подаче -подачки -подашь -подаю -подают -подающий -подающим -подаяние -подбегая -подбегут -подбежал -подбежала -подбежали -подберу -подбивался -подбирает -подбирала -подбирался -подбираю -подбирающийся -подбирая -подбитые -подбитыми -подбородка -подбородком -подбородок -подбоченясь -подбросить -подвал -подвалы -подвальной -подвальные -подвальный -подведет -подведешь -подвел -подвела -подвели -подвергаемся -подвергается -подвергалось -подвергать -подвергаться -подвергаются -подвергнуться -подвернись -подвернувшемуся -подвернулась -подвернулся -подвести -подвиг -подвига -подвигается -подвигалась -подвигалось -подвигался -подвигах -подвигая -подвигаясь -подвиги -подвигла -подвигов -подвигом -подвижника -подвижною -подвинет -подвинув -подвинул -подвинулась -подвинулись -подвинулось -подвинулся -подвинуться -подвластной -подвода -подводах -подводил -подводит -подводить -подводя -подвожу -подворотню -подвох -подвязанными -подгадил -подгадить -подгибались -подгибаться -подгибая -подглядели -подглядывавшая -подгоняют -подгорелое -подгорит -подгорюнившись -подготовки -подготовленного -подготовлено -подготовлюсь -подготовляет -подготовлялось -подгреб -подгулял -поддавалась -поддавался -поддадим -поддадитесь -поддаешься -поддакивал -поддакивала -поддакивали -поддакивают -поддакивая -поддакнул -поддалась -поддали -поддало -поддамся -поддаст -поддаться -поддеваете -поддевке -поддел -подделаться -подделаю -подделывал -подделывали -подделывателей -поддержания -поддержать -поддержи -поддерживаемую -поддерживает -поддерживал -поддерживала -поддерживалась -поддерживало -поддерживать -поддерживая -поддержите -поддержки -поддразнивает -поддразнивал -поддразнивающие -подействовал -подействовала -подействовали -подействовало -подействовать -подействует -поделаешь -поделится -поделиться -поделом -подержанная -подери -подернулась -подернулось -подернут -подернутое -подернутый -подернутым -подерутся -подешевле -поджав -поджатым -поджег -поджигал -поджигающее -поджидал -поджидала -поджидали -поджидаю -поджимают -поджимая -подзадоривая -подзатыльника -подземелье -подземной -подземный -подземных -подзывал -подзывали -поди -подивился -подивитесь -подите -подкараулил -подкараульте -подкатил -подкинуть -подкипятило -подкладке -подкладкой -подкладку -подкладывал -подкладывала -подкладывая -подков -подколенки -подколодная -подкосились -подкрадется -подкрадутся -подкрепил -подкреплена -подкрепляющим -подкупишь -подлаживаясь -подлая -подле -подлее -подлейшего -подлейший -подлейшими -подлейших -подленькая -подлец -подлеца -подлецов -подлецом -подлецу -подлецы -подливку -подлил -подлиннее -подлинно -подличают -подло -подлого -подлое -подложил -подлой -подлости -подлость -подлые -подлый -подлым -подлых -подманить -подмахнет -подмахни -подмахнул -подмести -подметено -подметишь -подметки -подметок -подмигивать -подмигивающего -подмигивающий -подмигивая -подмигнув -подмигнул -подмонтироваться -подмывает -подмывало -подмышки -подмышкой -поднадул -поднадуть -поднес -поднести -поднеся -поднимавшийся -поднимает -поднимается -поднимай -поднимал -поднимала -поднималась -поднимали -поднимались -поднималось -поднимался -поднимать -подниматься -поднимаю -поднимают -поднимающихся -поднимая -поднимаясь -поднимем -поднимет -подними -поднимут -подноготную -поднос -подноса -подносе -подносом -подносы -подносят -подняв -поднявшаяся -поднявши -поднявшись -поднявшую -поднял -подняла -поднялась -подняли -поднялись -поднялось -поднялся -поднят -поднятым -поднять -подняться -подо -подобен -подобие -подобно -подобного -подобное -подобной -подобном -подобную -подобные -подобный -подобным -подобных -подобострастия -подобострастничал -подобострастно -подобрав -подобрал -подобрала -подобрали -подобрался -подобраны -подобру -подогнутых -подогревалась -подогреть -пододвинул -пододвинула -подожгла -подождав -подождал -подождать -подождем -подождет -подождешь -подожди -подождите -подожду -подожму -подозвала -подозревает -подозреваете -подозревай -подозревал -подозревала -подозревали -подозревать -подозреваю -подозревают -подозревающего -подозревая -подозрение -подозрением -подозрении -подозрений -подозрению -подозрения -подозрениях -подозрителен -подозрительна -подозрительно -подозрительного -подозрительное -подозрительным -подозрительными -подозрительных -подойдет -подойдешь -подойди -подойду -подойдя -подойти -подоконник -подоконниках -подол -подолгу -подолом -подольстилась -подольщаюсь -подонки -подонкихотствовать -подопрет -подосадовал -подослал -подоспеет -подоспела -подоткнул -подох -подошвы -подошедшего -подошедшею -подошедший -подошел -подошла -подошли -подошло -подошлю -подпевает -подпевал -подпевать -подпер -подпереть -подпившая -подпирал -подпираясь -подписал -подписала -подписан -подписана -подписано -подписать -подписи -подписка -подписки -подписку -подписывает -подписывал -подписывалась -подписывались -подписывать -подписывают -подписывая -подпись -подписью -подпишет -подпишете -подпишешь -подпишитесь -подпишу -подползает -подползи -подползла -подполковник -подпольи -подпоручик -подпруга -подпрыгивал -подпрыгивать -подпрыгивая -подпрыгнула -подпускать -подрагивали -подражать -подразделений -подразделения -подразнить -подразумевать -подрал -подрались -подрался -подрастают -подрезаны -подрезать -подробная -подробнее -подробничать -подробно -подробностей -подробности -подробность -подробностью -подробностями -подробностях -подробную -подробные -подробный -подрос -подросли -подруг -подруга -подругам -подруге -подруги -подругою -подругу -подружились -подружится -подряд -подрядами -подряде -подрядчик -подрядчиками -подрядчиков -подряжают -подсвечник -подсвечнике -подсвистывает -подсекают -подсекли -подсекло -подсел -подскажи -подсказанное -подсказывает -подсказывала -подсказывать -подсказывая -подскакивала -подскочил -подскочит -подслеповатыми -подслепые -подслуживается -подслушал -подслушала -подслушанные -подслушивай -подслушивайте -подслушивал -подслушивали -подслушивать -подсматривать -подсмеиваешься -подсмотреть -подсобить -подсочиненные -подставил -подставит -подставить -подставляет -подставлять -подставляя -подстерегает -подстерегают -подстерегающую -подстеречь -подстилая -подстрекательные -подстреленный -подстрелили -подстрелю -подстригали -подступившего -подступило -подсудимой -подсудимому -подсудимый -подсудимых -подсунул -подсунули -подталкивал -подталкивать -подтвердил -подтвердила -подтвердите -подтвердить -подтверждает -подтверждаешь -подтверждал -подтверждала -подтверждало -подтверждалось -подтверждать -подтверждаю -подтверждением -подтвержденное -подтвержу -подтибрил -подтыканной -подтянуть -подув -подувания -подувая -подул -подумав -подумаем -подумает -подумаете -подумаешь -подумай -подумайте -подумал -подумала -подумали -подумалось -подумать -подумаю -подумают -подумывает -подумывал -подурнела -подурнели -подустроить -подушек -подушечку -подушка -подушке -подушки -подушкой -подушку -подхватил -подхватила -подхватили -подхватило -подхватим -подхватит -подхватить -подхватывает -подхватывают -подхватывая -подхлопывать -подходи -подходившие -подходил -подходили -подходило -подходим -подходит -подходите -подходить -подходной -подходя -подходят -подходящего -подходящее -подходящей -подхожу -подчас -подчеркнула -подчиненного -подчиненные -подчиненных -подчинила -подчинились -подчинить -подчиниться -подчинялась -подшиванье -подшивать -подшучивают -подъезда -подъезжает -подъезжают -подъем -подъеме -подъемлют -подъемный -подъехал -подымавшеюся -подымавшийся -подымает -подымайся -подымал -подымалась -подыманием -подымать -подыматься -подымая -подымаясь -подымусь -подыскивает -подышать -подышит -подь -подьяческой -подьячий -подьячим -подьячих -поедем -поедемте -поедет -поедете -поедешь -поединке -поединку -поеду -поедут -поедят -поезд -поезда -поезде -поездка -поездке -поездки -поездку -поездом -поезду -поезжай -поезжайте -поела -поем -поест -поесть -поет -поете -поется -поехал -поехала -поехали -поехать -поешь -пожав -пожал -пожала -пожалев -пожалеет -пожалеешь -пожалей -пожалейте -пожалел -пожалела -пожалели -пожали -пожаловал -пожаловали -пожаловался -пожаловать -пожаловаться -пожалуй -пожалуйста -пожалуйства -пожалуйте -пожар -пожара -пожарах -пожаре -пожарищ -пожарная -пожарные -пожаров -пожаром -пожары -пожатие -пожатия -пожать -пожелав -пожелавшим -пожелаете -пожелал -пожелали -пожеланий -пожелать -пожелаю -пожелают -пожелтевшую -пожелтелая -пожелтели -пожертвовал -пожертвовала -пожертвованием -пожертвовать -пожертвует -пожертвуете -пожертвуйте -поживаете -поживаешь -поживее -поживем -поживешь -пожилая -пожили -пожилой -пожилые -пожилыми -пожилых -пожимает -пожимал -пожимала -пожимая -пожинает -пожирал -пожирали -пожирающая -пожирая -пожить -пожмем -пожмет -позабавится -позаботится -позаботься -позабыв -позабыл -позабытый -позавидовали -позавидовать -позавтракал -позавтракали -позавтракать -позавтракаю -позавчера -позади -позаимствоваться -позаняться -позах -позвал -позвала -позвали -позваль -позвано -позвать -позволением -позволения -позволено -позволил -позволила -позволили -позволит -позволите -позволительна -позволительная -позволительно -позволить -позволь -позвольте -позволю -позволяет -позволяешь -позволял -позволят -позволять -позволяю -позволяют -позволяющей -позвонил -позвонила -позвякивают -позднее -поздней -позднейшее -позднейшей -позднейшие -поздний -поздно -поздняя -поздоровавшись -поздороваемся -поздоровался -поздороваться -поздоровее -поздорову -поздравил -поздравить -поздравлений -поздравляем -поздравляли -поздравлять -поздравляю -поздравляют -поздравь -позе -позевывая -позже -позицию -позлить -познав -познавала -познавший -познаем -познай -познакомил -познакомились -познакомился -познакомить -познакомиться -познакомлю -познакомясь -познал -познала -познании -познания -познаниях -позначительнее -позовет -позови -позову -позовут -позолота -позолотой -позор -позора -позорище -позорно -позорное -позорном -позорным -позором -позу -позы -позыв -позывов -позьми -пои -поиграть -поил -поила -поименно -поискав -поискал -поискать -поиски -поистине -поит -поить -поищи -поищите -поищу -пой -пойдем -пойдемте -пойдет -пойдете -пойдешь -пойду -пойдут -поймав -поймает -поймаешь -поймайте -поймал -поймала -поймали -поймана -пойманной -пойманным -поймать -поймают -поймем -поймет -поймете -поймешь -пойми -поймите -пойму -поймут -пойти -пока -покажет -покажете -покажется -покажи -покажите -покажу -покажут -покажутся -показав -показал -показала -показалась -показали -показались -показалось -показался -показание -показанием -показании -показания -показаниями -показанная -показать -показаться -показывает -показываете -показывается -показывай -показывайся -показывайте -показывал -показывала -показывалась -показывали -показывало -показывался -показывать -показываю -показывают -показываются -показывая -покамест -покатаемся -покатает -покататься -покатилась -покатились -покатился -покатится -покатости -покатываться -покатых -покачав -покачает -покачал -покачала -покачивай -покачивая -покачнулись -покачнулся -покаюсь -покаяния -покаяньи -покиванием -покидает -покидаете -покидал -покидала -покидали -покидать -покидаю -покидая -покинет -покинешь -покину -покинув -покинули -покинутой -покинуть -покладая -покладываться -поклажа -поклажу -поклал -поклон -поклонами -поклонение -поклонением -поклонения -поклонившись -поклонилась -поклонился -поклонись -поклонится -поклониться -поклонник -поклонника -поклонникам -поклонники -поклонников -поклонником -поклонов -поклоном -поклоны -поклонюсь -поклоняется -поклонялась -поклонялся -поклонясь -поклоняются -поклоняясь -поклявшись -поклялась -поклялся -поклянусь -покое -покоем -покоен -покои -покоившейся -покоилась -покоились -покоит -покоится -покоить -покоишься -покой -покойна -покойная -покойнее -покойник -покойника -покойнике -покойников -покойником -покойнику -покойница -покойницу -покойницы -покойно -покойного -покойное -покойной -покойному -покойною -покойную -покойны -покойные -покойный -покойным -покойных -пококетничать -поколебавшись -поколебалась -поколебать -поколением -поколений -поколения -поколениях -поколотил -поколотить -покомфортнее -покончен -поконченный -покончено -покончены -покончив -покончил -покончим -покончит -покончить -покорев -покорению -покорилась -покориться -покормит -покорна -покорнейше -покорнейший -покорно -покорного -покорной -покорности -покорностию -покорность -покорностью -покорную -покорны -покорный -покорным -покорных -покоробило -покоробился -покороче -покорствуй -покоряется -покорять -покоряюсь -покосившись -покосился -покою -покоюсь -покоя -покоятся -покоях -покоящимся -покрадут -покраже -покражи -покраснев -покрасневший -покраснеете -покраснел -покраснела -покрашенных -покрепче -покривившаяся -покривившимися -покрикивать -покричит -покровителей -покровитель -покровительства -покровительство -покровительствовали -покровительством -покровительствует -покровы -покроюсь -покрупнее -покрутившись -покрыв -покрывает -покрывается -покрывал -покрывала -покрывало -покрывалом -покрываясь -покрывший -покрыл -покрыла -покрылись -покрыта -покрыто -покрытый -покрытыми -покрытых -покрыть -покрышку -покуда -покупает -покупается -покупал -покупалась -покупатели -покупать -покупками -покупке -покупки -покупкой -покупкою -покупку -покупные -покуражился -покурить -покуситься -покушает -покушается -покушался -покушение -покушений -покушения -покушениях -покушенья -пол -пола -полагает -полагаете -полагается -полагал -полагали -полагать -полагаю -полагая -полакомиться -поласковее -полатве -полбутылки -полведра -полгода -полгорода -полдень -полдневный -полдня -полдороге -полдюжины -поле -полевых -полегоньку -полегче -поледенело -полежав -полежал -полежать -полежишь -полежу -полез -полезай -полезен -полезет -полезла -полезли -полезная -полезнее -полезнейшая -полезно -полезное -полезной -полезною -полезную -полезны -полезные -полезный -полезным -полей -полем -полен -поленами -поленился -поленом -поленька -поленьке -поленькой -полет -полете -полетел -полетела -полетели -полетело -полететь -полетит -полетишь -полетов -полетом -полечивать -полечка -полечке -полечкой -полечку -полечу -полжизни -ползает -ползала -ползало -ползают -ползет -ползучем -ползущий -ползущих -ползя -поливали -поливающий -полились -полина -полине -полиной -полину -полинявшая -полинявшими -полиняли -полиняло -полинялые -полинялым -полинялых -полис -политика -политике -политики -политико -политику -политическая -политически -политические -политический -политического -политической -политическую -полицейские -полицейский -полицейскому -полицианом -полицией -полиции -полицию -полиция -полицу -полишинель -полк -полками -полкане -полках -полке -полки -полковник -полковника -полковнику -полковничьем -полковничья -полководцем -полковое -полковой -полкомнаты -полку -полмиллиона -полминуты -полна -полная -полнее -полнейшего -полнейшем -полнеть -полно -полноводной -полного -полное -полной -полнокровный -полном -полностью -полноте -полнотой -полноты -полночи -полночный -полночным -полночными -полночь -полною -полную -полны -полные -полный -полным -полными -полных -полов -половецкий -половик -половина -половине -половинки -половинку -половинных -половиной -половину -половинчатой -половины -половой -половому -половую -половчей -половым -полог -пологой -положа -положат -положен -положена -положение -положением -положении -положений -положению -положения -положениях -положенного -положенной -положенные -положенный -положенными -положено -положи -положив -положил -положила -положили -положим -положись -положит -положительно -положительного -положительное -положительной -положительный -положительным -положительных -положится -положить -положиться -положишь -положу -полой -полок -полом -поломаться -поломойная -полон -полоненная -полонский -полосами -полосатой -полоскалась -полосками -полоски -полоской -полоскою -полоску -полоснет -полосой -полосою -полости -полость -полосы -полотенце -полотенцем -полотна -полотнами -полотне -полотнища -полотно -полоумная -полоумного -полоумный -полоумным -полощет -полощутся -полпивной -полпивную -полслова -полсотня -полстакана -полстраницы -полсутки -полтинник -полтинники -полтиннику -полтиной -полтора -полторы -полу -полубезумною -полубессмысленная -полубог -полубреде -полувеселый -полугода -полугоры -полудворянских -полуденными -полудне -полудня -полудремоту -полукругом -полумглу -полумертвый -полумрак -полумраке -полуно -полуночи -полуночной -полунощный -полуотворенной -полуотворенную -полуотворенные -полуотворенный -полуоткрыты -полупоклоном -полупрезрение -полупрезрением -полупросыпаясь -полупьяных -полуразвалившиеся -полуразрушенные -полуслове -полусне -полусознанием -полустрадный -полусумасшедшая -полусумасшедших -полутон -полуторы -полуформенной -получаем -получаемых -получает -получаете -получается -получаешь -получал -получала -получало -получалось -получасу -получать -получаю -получая -получение -получении -получения -полученное -полученному -полученные -полученный -полученными -полученных -получено -получены -получи -получив -получил -получила -получили -получило -получимши -получиновничьих -получит -получите -получить -получишь -получу -получше -полушепотом -полуштоф -полушубком -полушубок -полчаса -полчасика -полчища -полшага -полы -полымем -полымя -полыни -полынь -полыхнет -польза -пользовавшееся -пользовал -пользовалась -пользовалось -пользоваться -пользой -пользу -пользуетесь -пользуешься -пользуются -пользуясь -пользы -полька -польку -польски -польские -польскими -польских -польское -польстилась -польстит -польше -польши -польшу -польщено -полю -полюбил -полюбила -полюбили -полюбим -полюбит -полюбите -полюбить -полюбишь -полюблю -полюбопытствовал -полюбуйтесь -полюс -полюсах -поля -поляк -поляки -поляко -поляков -полям -полями -поляне -поляны -полярный -полях -полячишки -полячка -полячков -полячку -полячок -помадки -помадой -помаду -помаленьку -помалу -помахивая -помашет -помедли -помедлив -помедлить -помедля -помелом -помене -поменее -поменьше -поменялись -поменяться -помер -померанцевой -померанцевую -померанцевые -померанцы -помереть -померещилось -померещился -померзло -померк -померкал -померкла -померкло -померкший -померла -помертвев -помертвевшая -помертвевшей -помертвевшие -помертвевший -помертвевшими -помертвел -помертвело -померяемся -поместившись -поместил -поместились -поместился -поместим -поместительный -поместить -помесячно -помехи -помеченную -помечтаем -помешает -помешаете -помешал -помешала -помешалась -помешали -помешало -помешался -помешан -помешанная -помешанного -помешанной -помешанную -помешанные -помешанный -помешаны -помешательства -помешательстве -помешательству -помешать -помешаю -помешают -помещается -помещалась -помещался -помещаются -помещение -помещений -помещению -помещения -помещик -помещика -помещиков -помещиком -помещику -помещица -помещичьи -помещу -помещьчьих -помилует -помилуй -помилуйте -помимо -помин -поминай -поминайте -поминал -поминала -поминали -поминать -поминкам -поминках -поминки -поминок -помину -поминутно -поминутные -помирает -помирились -помирись -помирите -помиритесь -помириться -помни -помнил -помнила -помнили -помнилось -помним -помнит -помните -помнится -помнить -помнишь -помню -помня -помнят -помнятся -помнящего -помнящей -помнящую -помог -помогает -помогаешь -помогал -помогала -помогать -помогаю -помогают -помогая -помоги -помогите -помогла -помогли -помогло -помогу -помогут -поможет -помойные -помойных -помолимся -помолись -помолитесь -помолиться -помолодела -помолодело -помоложе -помолчав -помолчал -помолчала -помолчали -помолчать -помолчи -помолчим -помолюсь -поморщились -поморщился -помочах -помочи -помочил -помочь -помощи -помощию -помощник -помощнике -помощники -помощницей -помощницы -помощь -помощью -помоями -помоях -помрачался -помрачен -помрачение -помрачения -помрачилась -помрет -помудренее -помутилось -помутневший -помучается -помучить -помыкают -помыслить -помыслишь -помыслов -помыслы -помышления -помышленья -помышлял -помягче -помянет -помяни -помяните -помянул -помянут -помянуть -помятый -помять -понаведаться -понадеялась -понадеялся -понадеяться -понадобились -понадобилось -понадобился -понадобится -понадобиться -понадоблюсь -понадобятся -понапрасну -понасажать -понатужиться -поневоле -понедельник -понедельника -понедельники -понелепее -понемногу -понемножку -понес -понесем -понесет -понесется -понесли -понеслись -понесло -понесут -понижая -пониже -понижения -понизив -понизилась -поник -поникнув -понимавшая -понимавший -понимаем -понимает -понимаете -понимаешь -понимал -понимала -понимали -понимание -понимании -пониманию -понимания -понимать -понимаю -понимают -понимающею -понимающие -понимающим -понимая -понмю -поновее -поносил -поношенное -поношенном -поношенные -поношенный -поношено -понравилась -понравились -понравилось -понравился -понравится -понравиться -понудила -понуждай -понукал -понуканий -понукая -понурил -поныне -понюхав -понюхает -понюхай -понюхайте -понюхала -понюхать -поняв -понявшая -понявший -понял -поняла -поняли -понят -понятен -понятие -понятием -понятии -понятий -понятия -понятиям -понятливый -понятна -понятная -понятнее -понятней -понятно -понятное -понятны -понятным -понятое -понять -пообедав -пообедаем -пообедаете -пообедал -пообедала -пообедать -пообедаю -пообтерся -поодаль -поочередно -поощряли -поощряю -попав -попавший -попадавшиеся -попадает -попадаете -попадается -попадал -попадались -попадало -попадалось -попадать -попадают -попадаются -попадая -попадет -попадется -попадешь -попадешься -попал -попала -попалась -попали -попались -попало -попалось -попался -попами -попасть -попахивает -поперек -попеременно -поперечного -поперечных -попестрей -попечение -попираешь -попираньи -пописываете -поплавок -поплакали -поплачет -поплачут -поплевывающих -поплевывая -поплелись -поплелся -поплотнее -поплывут -попов -поповича -попозже -попойки -пополам -пополз -поползет -поползли -поползновения -пополнела -пополнит -пополудни -попользоваться -попомните -попона -попортились -попотчевать -поправил -поправила -поправилась -поправилось -поправился -поправимое -поправит -поправить -поправиться -поправка -поправке -поправки -поправлю -поправляет -поправляется -поправлял -поправляют -поправляя -поправочки -поправь -поправьте -поправят -попрекаете -попрекаешь -попрекал -попрекала -попрекать -попрекнула -попреков -попридержать -попридержу -поприща -поприще -поприщина -поприщу -попробовал -попробовала -попробовать -попробуй -попробуйте -попробую -попрозорливее -попроси -попросил -попросила -попросили -попросит -попросите -попросить -попроситься -попросишь -попросту -попросят -попрошу -попугать -попудриться -попустит -попутчиков -попытался -попытать -попытаться -попытка -попытку -попыток -попятился -пор -пора -поработает -поработать -порабощении -поравнявшись -поравнялись -поравнялся -порадовалась -порадовался -порадуется -поражает -поражал -поражало -поражен -поражена -пораженная -пораженное -пораженному -пораженную -пораженные -пораженный -пораженным -поражены -пораженья -поразившая -поразил -поразила -поразили -поразило -поразительной -поразить -пораньше -пораспотрошили -порастет -порах -порвала -порвался -порванная -порвать -порвется -поре -порешивший -порешил -порешили -порешите -порешить -порицал -порицанию -порицать -поровнявшись -поровнялся -порог -порога -порогами -пороге -пороги -пород -порода -породе -породить -порождает -порождают -порожнее -порой -порок -пороках -пороков -пороку -поросенка -поросла -порослях -поросята -порох -пороха -пороховом -пороховые -порохом -пороху -порочен -порочна -порочного -порочной -порочные -порочный -порошками -порошком -порошок -порошочек -порою -портер -портером -портеру -портила -портили -портит -портить -портмоне -портниха -портнихе -портнихи -портного -портной -портному -портным -портными -портрет -портрета -портретик -портреты -портфеля -портьер -пору -порубки -поругались -поругание -поруганный -поруганье -поруганьи -порумянее -поручат -поручают -поручение -поручением -поручений -поручению -поручения -поручениями -порученному -поручено -поручившись -поручик -поручика -поручики -поручиков -поручикова -поручиком -поручику -поручил -поручился -поручит -поручите -поручить -поручиться -поручу -порфирием -порфирии -порфирий -порфирию -порфирия -порхает -порхала -порхнула -порхнули -порцию -порчи -поры -порыв -порыва -порывается -порывались -порывалось -порывался -порывами -порываний -порываниями -порыванье -порываются -порыве -порывисто -порывистой -порывистую -порывистых -порывов -порывом -порывы -порылась -порылся -порыскать -порядка -порядке -порядки -порядков -порядком -порядку -порядок -порядочная -порядочно -порядочного -порядочное -порядочную -порядочные -порядочный -порядочным -порядочных -посади -посадив -посадил -посадила -посадили -посадит -посадите -посадить -посадят -посаженные -посаженный -посажу -посватал -посватался -посвататься -посвежее -посвистывая -посвятил -посвятить -посвящается -посвящал -посвящают -посвящена -посвящением -посев -поседевшие -посекут -поселились -поселился -поселить -поселиться -поселюсь -поселятся -посему -посередине -посетило -посетит -посетителей -посетители -посетитель -посетителю -посетителя -посетителями -посетить -посетят -посечь -посещавшие -посещавших -посещаемых -посещайте -посещал -посещали -посещать -посещают -посещающие -посещение -посещением -посещении -посещения -посещениями -посеял -посидев -посидел -посидеть -посиди -посидим -посидит -посидите -посидишь -посиживает -посижу -посильное -посильную -посильные -посимпатичнее -посиневших -поскакать -поскачет -поскольку -посконного -посконные -поскорее -поскорей -послав -послал -послала -послали -послан -послания -посланник -посланника -посланную -послать -после -последки -последнего -последнее -последней -последнем -последнему -последнею -последние -последний -последним -последними -последних -последнюю -последняя -последовавшего -последовавшее -последовал -последовала -последовало -последовательно -последовательности -последовать -последствием -последствий -последствия -последствиям -последствиями -последующее -последующий -последующим -послезавтра -послеобеденного -послеобеденную -послеобеденный -пословица -пословице -послужила -послужили -послужило -послужит -послужить -послушаем -послушает -послушается -послушаешь -послушай -послушайте -послушайтесь -послушал -послушала -послушали -послушались -послушался -послушание -послушании -послушанию -послушать -послушаюсь -послушна -послушно -послушною -послушный -послушным -послушными -послушных -послышавшийся -послышалась -послышались -послышалось -послышался -послышатся -послышится -послышишь -посматривал -посматривая -посмеемся -посмеет -посмеется -посмеивается -посмеиваться -посмел -посмели -посметь -посмешу -посмеются -посмеялись -посмеяться -посмирнее -посмотрев -посмотрел -посмотрела -посмотрели -посмотрелся -посмотреть -посмотри -посмотрим -посмотрит -посмотрите -посмотришь -посмотрю -посмотрят -поснимали -пособию -пособия -посовестился -посовестится -посоветовал -посоветовались -посоветовать -посоветоваться -посоветуется -посоветуюсь -посолиднее -посолить -посоловелые -посольства -посох -поспал -поспала -поспевала -поспевать -поспевают -поспеет -поспел -поспеть -поспешайте -поспешающих -поспешая -поспешив -поспешил -поспешила -поспешили -поспешить -поспешно -поспешное -поспешность -поспешностью -поспешные -поспешу -поспею -поспи -посплетничать -поспорил -посреди -посредине -посредника -посредником -посредство -посредством -поссорились -поссорился -поссорить -поста -поставив -поставил -поставила -поставили -поставило -поставим -поставит -поставить -поставлен -поставленная -поставленное -поставленный -поставляла -поставцами -поставь -поставьте -поставят -постараетесь -постарается -постаралась -постарались -постарался -постараться -постараюсь -постаревшем -постарел -постарела -постарели -постареть -постарше -постели -постель -постельке -постельку -постельное -постелью -постелям -постепенная -постепенно -постепенного -постепенное -постепенностью -постиг -постигать -постигнет -постигнешь -постигнуть -постилает -постилая -постичь -постлал -постлан -постлано -постлать -постного -постный -постным -постой -постойте -постольку -постом -посторонился -посторонись -постороннего -постороннее -посторонней -постороннем -постороннему -посторонние -посторонний -посторонними -посторонних -посторонннй -посторонняя -постояв -постоял -постояла -постояли -постоялом -постояннее -постоянно -постоянного -постоянное -постоянной -постоянною -постоянную -постоянные -постоянный -постоянным -постоянством -постоять -пострадавшую -пострадайте -пострадать -постращать -пострел -постреленок -постричься -построек -построен -построение -построения -построже -построив -построили -построит -построить -постройка -постройки -постройкой -постройку -посту -постукивал -постукиванье -постукивают -постукивающим -поступаешь -поступал -поступали -поступать -поступаю -поступают -поступи -поступил -поступила -поступили -поступило -поступит -поступите -поступить -поступка -поступкам -поступками -поступках -поступке -поступки -поступков -поступком -поступку -поступлю -поступок -поступь -поступью -постучав -постучал -постучались -постучаться -постучите -постучу -постыдились -постыдился -постыдится -постыдного -постылая -постыли -постылом -постылый -посуда -посудинкой -посудинку -посудите -посудой -посуду -посуды -посуетиться -посущественнее -посылаем -посылает -посылается -посылаешь -посылал -посылала -посылали -посылались -посылалось -посылать -посылают -посылки -посыльный -посыпались -посягал -пот -пота -потаенною -потанчиков -потапыча -потаскали -потасканной -потаскун -потаскуна -поташ -потащил -потащила -потащили -потащился -поте -потекла -потекло -потекут -потемневший -потемневшую -потемнее -потемнело -потемок -потеплее -потере -потерей -потерею -потери -потерпели -потерпите -потертом -потертым -потерь -потеря -потеряв -потерявший -потерявшийся -потерявшись -потеряет -потеряется -потеряешь -потерял -потеряла -потерялась -потеряли -потерялись -потерялся -потерян -потеряна -потерянная -потерянно -потерянный -потеряно -потеряны -потерять -потеснее -потехи -потешаясь -потешится -потешить -потешником -потешно -потирает -потирал -потирания -потирая -потихоньку -потише -поток -потока -потоками -потоком -потолка -потолки -потолковее -потолку -потолкуем -потолок -потолочь -потолстеет -потом -потомили -потомки -потомков -потомок -потомству -потому -потонет -потонуло -потонут -потонуть -поторапливайтесь -поторговалась -поторопился -потосковала -потратить -потрафил -потрачено -потребления -потребности -потребность -потребностью -потребностями -потребностях -потребовал -потребовала -потребовали -потребовалось -потребовать -потребу -потребует -потребуется -потребуешь -потребую -потревожить -потрепал -потрепала -потрепанным -потрепать -потрепещут -потрет -потрогивая -потроха -потрохами -потрудился -потрудитесь -потрут -потряс -потрясаемый -потрясает -потрясающие -потрясающий -потрясая -потрясен -потрясений -потрясенный -потрясла -потрясло -поту -потуг -потупив -потупившись -потупил -потупила -потупилась -потупленные -потупляет -потупляясь -потупя -потупясь -потускли -потускнели -потух -потухал -потухший -потухшим -потухших -потушая -потушены -потуши -потчеванье -потчеванья -потчевать -потчую -потягивается -потягиваться -потягиваясь -потянет -потяни -потянул -потянулась -потянулись -потянуло -поубавил -поубрать -поудалее -поужинал -поужинать -поужинаю -поумнее -поумничала -поутру -поучался -поучения -поучительно -поучить -пофанфаронить -пофилософствовал -пофилософствовать -пофилософствуем -пофилософствуешь -пофорсить -похаживая -похвал -похвала -похвалами -похвалил -похвалила -похвалить -похвалиться -похвалой -похвалы -похвальбы -похвально -похвальном -похвальный -похвастается -похвастать -похвать -похитил -похитителя -похищаю -похищенных -похлопотать -похлопочу -похлопывая -похмелье -похмельем -похмелья -поход -похода -походами -походе -походившему -походил -походила -походили -походило -походимте -походит -походите -походить -походка -походкой -походкою -походку -походной -походы -походя -похож -похожа -похожая -похождениях -похоже -похожего -похожее -похожей -похожем -похожему -похожи -похожие -похожий -похожими -похозяйничать -похолодев -похолодел -похолодела -похолодели -похолодело -похорон -похоронами -похоронах -похоронен -похоронены -похоронив -похоронил -похоронила -похоронили -похоронить -похоронная -похоронных -похороны -похороню -похоронят -похорошела -похоти -похотливой -похудевшая -похудевшее -похудеешь -похудел -похудела -похудели -похудело -похуже -поцеловав -поцеловал -поцеловала -поцеловать -поцелуе -поцелуев -поцелуем -поцелуемся -поцелует -поцелуи -поцелуй -поцелуйте -поцелую -поцелуя -поцелуями -почавкав -початая -почаще -почва -почве -почву -почвы -почел -почем -почему -почерк -почерневшее -почернели -почернелых -почерпать -почерпнешь -почерпнутые -почерпнуть -почесал -почесть -почестью -почесывает -почесывая -почетно -почетном -почетным -почетных -почетом -почивает -почивал -почивали -почивать -почивают -почиет -почил -починена -починивала -починили -починить -починки -починкова -починку -починю -почистить -почитает -почитаешь -почитай -почитал -почитали -почитатели -почитаю -почитают -почище -почищу -почиющий -почли -почмокавшись -почт -почта -почтальона -почтальону -почтамте -почте -почтение -почтении -почтенная -почтеннейшая -почтеннейшие -почтеннейший -почтеннейшим -почтенного -почтенное -почтенном -почтенному -почтенные -почтенный -почтенным -почти -почтит -почтительнейшие -почтительно -почтительной -почтительном -почтительность -почтительною -почтительные -почтительным -почтить -почтмейстером -почто -почтовой -почтовом -почтовые -почтовый -почтовым -почтовых -почтой -почту -почты -почувствовав -почувствовал -почувствовала -почувствовать -почувствует -почудилась -почудились -почудилось -почудится -почуя -пошаливают -пошарив -пошарил -пошатнется -пошатнулось -пошатывается -пошатываясь -пошевелив -пошевеливаться -пошевелил -пошевелила -пошевелилась -пошевелились -пошевелилось -пошевелился -пошевелится -пошевелить -пошевелиться -пошел -пошептал -пошепчут -пошла -пошлейшая -пошлейшую -пошлем -пошленький -пошленького -пошленькой -пошлет -пошлешь -пошли -пошлите -пошло -пошлое -пошлой -пошлом -пошлости -пошлость -пошлостью -пошлые -пошлый -пошлых -пошлю -пошляками -пошляков -пошляком -пошляческая -пошто -пошты -пошутил -пошутила -пошутили -пощаде -пощадите -пощадить -пощады -пощекотали -пощекотать -пощелкав -пощелкивал -пощупать -поэзии -поэзию -поэзия -поэма -поэму -поэмы -поэт -поэта -поэтах -поэтическая -поэтически -поэтические -поэтический -поэтическим -поэтических -поэтическое -поэтической -поэтична -поэтично -поэтов -поэтому -поэты -пою -поют -поющую -появилась -появились -появился -появится -появиться -появление -появлением -появлении -появления -появляется -появлялась -появлялось -появлялся -появляться -поярче -пояс -пояса -поясе -пояснее -пояснений -пояснить -поясом -поят -прав -права -правам -правами -правах -правая -правда -правде -правдиво -правдой -правдоподобия -правдоподобнее -правдоподобным -правдою -правду -правды -праве -праведная -праведным -праведными -правее -правел -правил -правила -правилам -правилах -правило -правильнее -правильно -правильного -правильное -правильной -правильность -правильною -правильную -правильным -правит -правительствующему -правительствующий -правителя -правление -правнуки -право -правовед -правого -правой -правом -правому -православной -православному -православную -православный -правосудие -правою -праву -правую -правы -правые -правый -правым -прадед -прадедов -прадедушки -празден -праздная -праздник -праздника -праздникам -праздниками -праздниках -празднике -праздники -праздников -празднику -празднично -праздничные -праздничный -праздничных -праздно -праздного -праздное -праздной -празднолюбцами -праздном -праздному -праздности -праздность -праздностью -праздные -праздный -праздных -празелень -практика -практике -практики -практиковать -практику -практические -практический -практических -практического -практическое -практической -практическую -праотцам -праотцев -прасковьи -прасковью -прасковья -прах -праха -прахе -прахом -прачки -прачку -преавенантненькая -преблагополучно -пребудет -пребуду -пребывали -пребывания -пребывая -превесело -превозмогало -превозмочь -превозносили -превозносят -превосходительство -превосходительством -превосходительству -превосходная -превосходнейшем -превосходно -превосходного -превосходный -превосходными -превосходных -превосходства -превратил -превратила -превратилось -превратился -превратится -превратно -превращается -превращалась -превращался -превращать -превращаться -превращения -превышает -превышать -преглупейшею -преград -преграда -преградах -преградой -преграды -пред -предавала -предавать -предаваться -предал -предала -предам -предамся -предан -предана -предание -преданий -предания -преданиями -преданнейшая -преданной -преданности -преданность -преданностью -преданную -преданные -преданный -преданьям -преданьях -предаст -предатели -предательство -предать -предаться -предварительно -предварительные -предварительных -предвестником -предвестье -предвечном -предвещало -предвзятому -предвзятых -предвидел -предвидела -предвидели -предвиделось -предвидений -предвидения -предвидеть -предвидите -предвидится -предвидя -предвижу -предводителя -предел -предела -пределов -предзнаменование -предисловие -предки -предлагавший -предлагаем -предлагаемого -предлагает -предлагается -предлагаешь -предлагал -предлагала -предлагали -предлагать -предлагаю -предлагают -предлагая -предлог -предлога -предлогам -предлогами -предлоги -предлогом -предложат -предложен -предложение -предложением -предложении -предложений -предложению -предложения -предложениями -предложил -предложила -предложит -предложите -предложить -предложу -предместье -предмет -предмета -предметам -предметах -предмете -предметов -предметом -предмету -предметы -предназначена -предназначенное -предназначенные -преднамеренно -преднамеренном -предо -предопределение -предопределением -предорогие -предоставив -предоставить -предоставляла -предоставляю -предостерегал -предостерегаю -предостережение -предостережений -предостережения -предостеречь -предосторожности -предотвращение -предохранял -предписал -предписания -предписанную -предписанным -предписано -предписываю -предполагавшийся -предполагавшихся -предполагает -предполагаете -предполагается -предполагаешь -предполагал -предполагали -предполагались -предполагалось -предполагать -предполагая -предположение -предположением -предположении -предположения -предположено -предположи -предположив -предположили -предположите -предположительно -предположить -предпослать -предпочел -предпочитают -предпочитая -предпочла -предпочтение -предпочтет -предпримет -предпринимайте -предпринималась -предпринимаю -предпринять -предприятие -предприятием -предприятии -предприятию -предприятия -предприятьях -предрассудкам -предрассудками -предрассудках -предрассудке -предрассудки -предрассудков -предрассудок -предрассудочные -предрассудочных -предрек -председателем -председатель -председательствует -председателя -предсказал -предсказания -предсказывая -предсмертного -предсмертный -представали -представив -представившейся -представил -представила -представилась -представили -представилось -представительницею -представится -представить -представиться -представление -представления -представленный -представлю -представляем -представляет -представляетесь -представляется -представлял -представляла -представлялась -представляли -представлялись -представлялось -представлялся -представлять -представляться -представляюсь -представляя -представь -представьте -представят -предстала -предстанет -предстать -предстоит -предстоял -предстояла -предстояли -предстояло -предстоящего -предстоящее -предстоящей -предстоящим -предстоящих -предубеждение -предубеждений -предубеждения -предуведомить -предуведомлены -предугадает -предугадала -предугадывает -предуготовительном -предузнало -предупредив -предупредил -предупредила -предупредительна -предупредить -предупреждал -предупреждаю -предупреждена -предусмотрела -предусмотрительностью -предчувствие -предчувствием -предчувствий -предчувствию -предчувствия -предчувствиями -предчувствовавшая -предчувствовал -предчувствовала -предчувствовалась -предчувствовались -предчувствовалось -предчувствовать -предчувствует -предчувствую -предчувствуют -предчувствуя -предшественником -предшествовавшие -предшествовавших -предъявляет -предыдущая -предыдущего -предыдущий -предыдущим -предыдущую -прежде -преждевременно -преждевременными -прежнего -прежнее -прежней -прежнему -прежнею -прежние -прежний -прежним -прежними -прежних -прежнюю -прежняя -президентом -презиравшие -презиравших -презирает -презираете -презирал -презирала -презирали -презирать -презираю -презирают -презирающие -презирая -презревши -презрение -презрением -презрения -презренная -презренно -презренного -презренье -презренья -презрительнее -презрительно -презрительной -презрительный -презрительным -презрительных -преимуществ -преимущества -преимуществе -преимущественно -преимущество -преимуществом -преимуществу -преисподнего -преисполнена -преисполнила -преклонив -преклонила -преклонился -преклониться -преклонный -преклоняться -прекомические -прекословь -прекрасен -прекрасна -прекрасная -прекраснее -прекрасней -прекраснейшая -прекрасно -прекрасного -прекрасное -прекрасной -прекрасном -прекрасною -прекрасную -прекрасны -прекрасные -прекрасный -прекрасным -прекрасными -прекрасных -прекратив -прекратились -прекратило -прекратить -прекращалось -прекращаю -прела -прелести -прелестная -прелестней -прелестной -прелестные -прелестный -прелесть -прелестями -преломились -преломлялись -прельститься -прельщает -прелюбопытный -премило -премудрости -премудрствующие -премудрые -премудрых -пренаивно -пренебрег -пренебрегал -пренебрегать -пренебрегая -пренебрежение -пренебрежением -пренебрежения -преобладали -преобладало -преображаются -преобразилась -преобразилось -преобразований -преогромнейшему -преодолела -преодолеть -преподаванию -преподал -преподана -преподаю -препочтенный -препровождал -препровожу -препьяные -препятствие -препятствий -препятствию -препятствия -препятствиями -препятствовала -препятствуют -прервав -прервал -прервала -прервали -прервался -прерванных -прервано -прерий -прерываемый -прерывает -прерывай -прерывал -прерывался -прерывать -прерываю -прерывающее -прерывающуюся -прерывая -прерывисто -прерывистым -пресвятая -пресекла -пресеклось -пресекся -пресекшую -пресинее -прескладной -преследовал -преследовала -преследования -преследовать -преследует -преследуйте -преследуют -пресмыкаюсь -преспокойно -пресс -преставлю -престарелая -престарелому -престарелую -престоле -престранная -преступать -преступают -преступление -преступлением -преступлении -преступлений -преступлению -преступления -преступлениях -преступленьице -преступленья -преступна -преступнее -преступник -преступника -преступникам -преступниками -преступнике -преступники -преступников -преступнику -преступница -преступного -преступной -преступны -преступный -претендуете -претендующих -претендуя -претензии -претензий -претензию -претензия -претензиями -претерпели -претит -преткновения -преткнулся -претрудная -претят -преувеличенно -преувеличенного -преувеличенною -преувеличенный -преувеличено -преувеличены -преувеличиваете -преувеличивал -преувеличивающий -преувеличил -преувеличили -преувеличить -преумножать -преуспеяние -преуспеяния -прехитрейшее -прехорошенькие -пречистенки -прещено -при -прибавив -прибавил -прибавила -прибавили -прибавило -прибавилось -прибавим -прибавит -прибавить -прибавишь -прибавке -прибавкой -прибавлена -прибавление -прибавлением -прибавления -прибавлено -прибавлю -прибавляет -прибавляешь -прибавлял -прибавляла -прибавлять -прибавляю -прибавляют -прибавляются -прибавочные -прибавь -прибавьте -прибегал -прибегала -прибегают -прибегая -прибегнул -прибежавшей -прибежал -прибежала -прибежали -прибежит -приберегла -приберет -приберешь -прибившему -прибил -прибили -прибиль -прибирает -прибирали -прибирать -прибираться -прибитый -приближавшейся -приближается -приближалась -приближался -приближающееся -приближая -приближения -приблизив -приблизилась -приблизился -приблизительно -прибой -прибор -прибоя -прибрал -прибрано -прибраны -прибрать -прибрежный -прибрежья -прибудет -прибудут -прибыв -прибывает -прибывшего -прибыл -прибыли -прибытия -прибыть -прибьет -прибьют -привалило -приватном -приватным -приведенное -приведены -приведет -приведи -приведу -приведут -привез -привезет -привезите -привезла -привезли -привезти -привезть -привезу -привезут -привел -привела -привели -привело -привелось -привесить -привести -привет -приветливо -приветливым -приветные -приветствие -приветствий -приветствует -приветствую -привечали -привешены -привидение -привидений -привидения -привил -привилегию -привилегия -привить -привлек -привлекает -привлекало -привлекательном -привлекать -привлекают -привлекло -привлечь -приводил -приводила -приводили -приводит -приводить -приводят -привозили -привозом -приволье -приволью -приволья -привскочив -привскочила -привстав -привставший -привстал -привстала -привстанет -привык -привыкает -привыкали -привыкла -привыкли -привыкнет -привыкнете -привыкнешь -привыкну -привыкнуть -привыкши -привыкшим -привычек -привычка -привычками -привычках -привычке -привычки -привычкой -привычку -привычно -привычной -привычную -привычны -привычный -привычными -привяжусь -привяжутся -привязал -привязалась -привязался -привязан -привязана -привязанности -привязанность -привязанностью -привязанностям -привязаны -привязаться -привязки -привязчивее -привязываетесь -пригвожден -приглаживает -пригласил -пригласила -пригласили -пригласит -пригласите -пригласить -приглашаем -приглашает -приглашайте -приглашал -приглашала -приглашалась -приглашали -приглашаль -приглашать -приглашаю -приглашают -приглашен -приглашена -приглашение -приглашением -приглашения -приглашенных -приглашены -приглашенье -приглядеть -приглядится -приглядывалась -приглядывался -приглядываться -приглядывая -приглядываясь -приглянуть -пригнул -пригнула -пригнулись -пригнулся -приговаривал -приговаривала -приговаривая -приговарнвал -приговор -приговора -приговоренного -приговоренный -приговорили -приговоркой -приговоров -приговору -пригодилась -пригодитесь -пригодится -пригодное -пригодятся -пригорка -пригорки -пригорку -пригорок -пригорюнившись -пригорюнился -приготовившись -приготовил -приготовилась -приготовился -приготовит -приготовить -приготовиться -приготовлен -приготовление -приготовлений -приготовления -приготовлениях -приготовленный -приготовленным -приготовлено -приготовлены -приготовляй -приготовлялось -приготовлять -приготовляться -приготовляюсь -приготовляясь -приготовят -пригрезился -пригрозили -придававшая -придавал -придавала -придавали -придавало -придавил -придавили -придавило -придавим -придавить -придавлено -придавливая -придает -придаете -придам -приданный -приданого -приданое -придаст -придаток -придать -придачу -придвигая -придвинул -придвинулась -придворной -придем -придержал -придержать -придержаться -придерживает -придерживал -придерживались -придерживать -придерживаться -придерживаюсь -придерживая -придерживаясь -придет -придете -придется -придешь -приди -придираетесь -придираться -придирки -придирчив -придите -придорожной -приду -придумаем -придумает -придумай -придумал -придумала -придуманное -придуманных -придумать -придумывает -придумывай -придумывала -придумывая -придут -придутся -придя -приедем -приедет -приедете -приедешь -приеду -приедут -приезд -приезда -приезде -приездом -приезду -приезжавшие -приезжаем -приезжает -приезжай -приезжайте -приезжал -приезжала -приезжали -приезжать -приезжают -приезжая -приезжее -приезжие -приезжий -приезжих -прием -приема -приемам -приемами -приеме -приемлеши -приемлю -приемная -приемной -приемные -приемов -приему -приемы -приехав -приехавшем -приехал -приехала -приехали -приехать -прижав -прижавшись -прижал -прижала -прижалась -прижали -прижата -прижатыми -приживал -приживалы -прижила -прижимается -прижимала -прижималась -прижимался -прижимаю -прижимая -прижимаясь -прижмешь -прижмись -прижму -призадумался -призван -призвание -призванием -призвании -призванию -призванную -призвать -признав -признавай -признавайся -признавал -признавала -признавалась -признавалось -признавался -признаваться -признавая -признаваясь -признает -признаете -признаетесь -признайся -признайтесь -признак -признака -признакам -признаками -признаках -признаки -признаков -признаком -признал -призналась -признали -признался -признание -признании -признания -признаниям -признанную -признанных -признанья -признательности -признательный -признать -признаться -признаю -признаюсь -призовет -призовешь -призрак -призрака -призраками -призраках -призраки -призраков -призраку -призрачное -призрение -призрения -призыв -призывал -призывать -призывающе -призывающий -призывая -призыве -призывном -призывных -приидет -прииди -приидите -приискал -приискания -приискать -приискивать -приищете -прийти -прикажет -прикажете -прикажешь -прикажите -приказ -приказал -приказала -приказали -приказан -приказание -приказанием -приказании -приказанию -приказания -приказаниями -приказано -приказать -приказного -приказчик -приказчика -приказчики -приказчиков -приказывает -приказываете -приказывайте -приказывал -приказывала -приказывали -приказывать -приказывающего -прикапливал -прикасалось -прикасаясь -прикидываются -прикинешься -прикинулся -прикинуться -прикладывал -прикладывали -прикладывая -приклеившись -приклонить -приключалась -приключение -приключений -приковалась -приковываться -приколотить -прикомандировался -прикосновением -прикосновения -прикоснулись -прикоснулось -прикоснулся -прикоснуться -прикраситься -прикрасной -прикрепил -прикрутит -прикрыв -прикрывается -прикрывала -прикрывалось -прикрываясь -прикрыл -прикрыла -прикрыли -прикрытая -прикрытого -прикрытой -прикрытую -прикрытыми -прикрытых -прикрыть -прикупить -прикусив -прилагает -приладил -приладиться -прилаженный -прилаживалась -прилаживать -приласкав -приласкаешь -приласкать -прилег -прилегавший -прилежанием -прилежно -прилежным -прилепившись -прилепилась -прилепить -прилепливаются -прилеплялся -прилетит -прилетят -прилечь -прилив -прилива -приливало -приливам -приливе -приливом -приливы -прилип -прилипчивая -прилипшие -приличие -приличием -приличий -приличия -приличнее -приличненьким -прилично -приличного -приличной -приличном -приличною -приличную -приличные -приличный -приличным -приличных -приложа -приложат -приложена -приложением -приложи -приложив -приложил -приложила -приложить -прилуковой -прильнет -прильнув -прильнул -прильнула -прильнуть -прильпне -прилягу -приляжет -приманивала -примачивайте -примелькавшиеся -примем -применены -применилась -применить -применять -пример -примерами -примерив -примеривал -примеривая -примерит -примерить -примерно -примеров -примером -примеру -примерчик -примерчики -примеры -примеряет -примерять -примесью -примет -примета -приметам -примете -приметесь -приметил -приметила -приметить -приметишь -приметная -приметнее -приметно -приметною -приметную -приметным -приметными -примется -примету -приметы -примечал -примечательную -примечать -примешивается -примешивал -примешивалась -прими -примирении -примирения -примирительный -примирительным -примирительных -примирится -примириться -примите -примолвив -примолвить -примолк -примолкла -примолкли -примочками -примочки -приму -примут -примутся -примыкавшей -примятой -принагнувшись -принадлежавшая -принадлежавшего -принадлежавшее -принадлежавший -принадлежал -принадлежала -принадлежали -принадлежало -принадлежат -принадлежащие -принадлежащий -принадлежащих -принадлежит -принадлежите -принадлежностей -принадлежности -принадлежностью -принадлежу -принарядиться -принес -принесенного -принесенное -принесенные -принесенный -принесенных -принесено -принесены -принесет -принесете -принесешь -принеси -принесите -принесла -принесли -принесло -принести -принесу -принесут -принеся -принижающее -принижение -приниженная -приниженное -приниженную -принижено -приник -приникла -приникшей -принимавшие -принимает -принимаете -принимается -принимаешь -принимай -принимайте -принимал -принимала -принималась -принимали -принимались -принимало -принимался -принимать -приниматься -принимаю -принимаюсь -принимают -принимающим -принимая -принимаясь -приносил -приносили -приносились -приносилось -приносимые -приносит -приносить -приносят -приношением -приношу -принудив -принудила -принудили -принудить -принуждал -принужден -принуждена -принуждение -принуждений -принужденным -принц -принцип -принципах -принципиально -принципу -принципы -приняв -принявшие -принял -приняла -принялась -приняли -принялись -приняло -принялся -принят -принятая -принятию -принято -приняты -принятый -принятых -принять -приняться -приобрел -приобрела -приобрести -приобресть -приобретается -приобретал -приобретала -приобреталось -приобретался -приобретать -приобретаю -приобретают -приобретая -приобретение -приобретению -приобретенного -приобретенной -приобщались -приоделась -приостановились -приостановился -приотворена -приотворенная -приотворил -приотворилась -приоткрытой -припав -припадает -припадая -припадем -припадка -припадках -припадке -припадки -припадков -припадком -припадок -припадочек -припадочного -припадочный -припал -припала -припас -припасами -припасен -припасов -припасы -припахивает -припевах -припеваючи -припер -приписанное -приписать -приписываемые -приписывает -приписывал -приписывают -приплюснут -приподнимайтесь -приподниматься -приподнимаются -приподнимая -приподнимаясь -приподняв -приподнявшись -приподнял -приподняла -приподнялась -приподняли -приподнялись -приподнялся -приподнятые -приподнять -приподняться -припомажен -припоминаемое -припоминал -припоминала -припоминался -припоминать -припоминаться -припоминая -припомни -припомнив -припомнил -припомнила -припомнилась -припомнилось -припомнился -припомните -припомнить -припомнишь -припомню -припрыгнул -припрятал -припрятано -припрятать -припускает -припутали -припухлые -припухшее -припухшем -припухшею -припухшие -припухшими -прирастала -приращение -приревнует -природа -природе -природная -природное -природной -природным -природой -природу -природы -прирожденный -прирос -приросли -приросло -приручил -присвататься -присватывался -присвистнул -присвоить -присев -приседает -приседала -приседать -приседая -присел -присела -присесть -прискорбием -прискорбию -прислал -прислала -прислали -прислан -присланные -присланных -прислать -прислоненная -прислонил -прислонилась -прислонился -прислонясь -прислуга -прислуге -прислуги -прислугой -прислуживала -прислуживать -прислужница -прислушавшись -прислушался -прислушать -прислушивавшийся -прислушивается -прислушивалась -прислушивались -прислушивался -прислушиваться -прислушиваются -прислушиваясь -присматривать -присмиреет -присмирел -присмирела -присмирели -присмотрит -присмотрите -приснившийся -приснилась -приснились -приснилось -приснился -приснится -присовокупить -присочиним -приспела -приспособились -приспособился -приспособить -приспособлено -пристав -пристава -приставай -приставал -приставала -приставания -приставать -приставил -приставить -приставлен -приставленными -приставу -пристает -пристаешь -пристал -пристала -пристало -пристальнее -пристальней -пристально -пристальном -пристальность -пристальный -пристальным -пристальными -пристанет -пристани -пристанище -пристань -пристают -пристрастно -пристроены -пристроил -пристроили -пристроились -пристройками -пристукнуло -приступил -приступила -приступим -приступить -пристяжная -присужден -присуждено -присутственного -присутственное -присутственном -присутственные -присутственным -присутственных -присутствие -присутствием -присутствии -присутствия -присутствовавших -присутствовал -присутствовала -присутствовало -присутствовать -присутствует -присутствующим -присутствующих -присылаемые -присылает -присылал -присылали -присылать -присылки -присягнул -присягу -присядет -присяду -присядь -присядьте -присяжного -притаившись -притаились -притаился -притаиться -притащи -притащит -притащить -притащу -притаясь -притворе -притворена -притворил -притворила -притворилась -притворили -притворился -притворить -притвориться -притворной -притворным -притворства -притворство -притворщик -притворяется -притворяла -притворялись -притворяться -притворяясь -притих -притихла -притихли -притихнет -притом -притон -приторности -приторный -притрогивалась -притупились -притупленными -притуши -притягивал -притягивая -притязания -притянуть -приударил -приумножают -приуныл -приучи -приучил -приучили -прихлопнуть -прихлынувшей -прихлынуло -приход -прихода -приходи -приходившая -приходивший -приходивших -приходил -приходила -приходилась -приходили -приходило -приходилось -приходит -приходите -приходится -приходить -приходишь -приходо -приходом -приходя -приходят -приходящих -прихожая -прихожей -прихожу -прихожую -прихотей -прихоти -прихотливо -прихотливой -прихотливый -прихрамывал -прицеливается -прицепилось -прицепился -прицепиться -причалены -причастись -причастных -причащение -причем -причесал -причесалась -причесан -причесана -причесанные -причесанный -причесанным -причесать -прическа -прическе -прически -прической -причесывает -причесывал -причешутся -причин -причина -причинам -причине -причиной -причиною -причину -причины -причисленных -причислила -причисляешь -причитается -причитал -причитала -причитаньях -причитающиеся -причтется -причуд -причуды -пришедшего -пришедши -пришедшим -пришедших -пришел -пришелся -пришивать -пришивая -пришили -пришить -пришла -пришлем -пришлет -пришли -пришлись -пришлите -пришло -пришлось -пришлю -пришлют -пришоль -пришпорить -прищелкивать -прищурившись -прищурил -прищурилась -прищурился -прищуря -приют -приюта -приютиться -приютов -приятелей -приятелем -приятели -приятель -приятельница -приятельницею -приятельницы -приятельские -приятелю -приятеля -приятелям -приятелями -приятелях -приятен -приятна -приятнее -приятнейшего -приятнейшие -приятно -приятного -приятное -приятной -приятном -приятности -приятною -приятную -приятные -приятный -приятным -приятными -приятных -про -пробавляться -пробавляются -пробалтывался -пробегает -пробегал -пробегала -пробегающий -пробегая -пробежал -пробежала -пробежали -пробежало -пробежит -пробиваем -пробивается -пробивалась -пробивался -пробивать -пробившись -пробил -пробили -пробило -пробирается -пробирались -пробирался -пробираться -пробираясь -пробить -пробиться -пробка -проблеск -проблеска -пробовал -пробовала -пробовали -пробои -пробок -проболтался -проболтаться -пробор -пробормотал -пробормотала -пробормотать -пробором -пробочка -пробравшись -пробралась -пробрался -пробу -пробудет -пробудившегося -пробудился -пробудись -пробуду -пробудь -пробудясь -пробуждавшимися -пробуждались -пробуждаться -пробуждающейся -пробуждения -пробужденного -пробужденные -пробуя -пробывшее -пробыл -пробыть -провале -проваливается -провалившимся -провалилась -провалился -провались -провалиться -провалишься -провалом -провалялся -провалятся -проведать -проведем -проведена -проведение -проведенного -проведенный -проведет -проведу -проведя -провезут -провел -провела -проверил -проверить -провесная -провести -проветрись -провиантский -провиантского -провиантскому -провидел -провидение -провидением -провидения -провидит -провижу -провизии -провизию -провинциалка -провинциальной -провинциальный -провинции -провинцию -провод -провода -проводи -проводив -проводил -проводила -проводили -проводим -проводимых -проводит -проводите -проводится -проводить -провожавшего -провожает -провожай -провожайте -провожал -провожала -провожали -провожать -провожаю -провожают -провожая -провождение -провожу -провозгласил -провозили -провозит -провозишься -проволок -проворен -проворковать -проворная -проворно -проворное -проворным -проворонил -проворством -проворчав -проворчал -проворчат -проврался -провспоминаешь -проглотил -проглотить -проглочу -проглядели -проглядывала -проглядывало -проглянула -прогнал -прогнала -прогнали -прогналь -прогнать -прогневали -проговаривается -проговариваться -проговаривая -проговорено -проговорив -проговорившись -проговорил -проговорила -проговорилось -проговорился -проговорится -проговориться -проговорюсь -проголодалась -прогонами -прогоните -прогоны -прогоню -прогоняли -прогонят -прогонять -программ -программе -программу -прогресс -прогресса -прогрессивно -прогрессивного -прогрессивные -прогрессиста -прогрессистов -прогрессисты -прогрессом -прогрессу -прогуливается -прогуливаясь -прогулка -прогулках -прогулке -прогулки -прогулок -прогуляемся -прогуляла -прогуляться -продав -продавайте -продавал -продавало -продавать -продаваться -продавец -продавить -продавленном -продавца -продадут -продаем -продает -продается -продаешь -продажей -продажи -продажной -продажу -продай -продал -продала -продали -продан -проданный -продано -продаст -продать -продашь -продают -продаются -продеваемой -продеваемые -продевала -продевая -проделка -проделки -продержали -продиктует -продиктую -продиралась -продлил -продлить -продлятся -продовольствие -продовольствии -продолговатым -продолжавшему -продолжавшийся -продолжает -продолжаете -продолжается -продолжай -продолжайте -продолжал -продолжала -продолжалась -продолжали -продолжалось -продолжался -продолжать -продолжаться -продолжаю -продолжают -продолжаются -продолжая -продолжена -продолжение -продолжением -продолжения -продолженье -продолжил -продолжим -продолжительно -продолжительного -продолжительное -продолжительный -продолжительным -продолжится -продранные -продранным -продувная -продувной -продувных -продукт -продуктов -продукты -продумал -продумала -проедет -проедусь -проезда -проезду -проезжавшей -проезжавший -проезжавшую -проезжает -проезжающих -проезжая -проезжий -проект -проекты -проел -проехал -проехала -проехали -проехать -прождала -прожег -прожектор -прожжено -прожжет -проживавшего -проживаем -проживает -проживаете -проживал -проживали -проживать -проживают -проживем -проживет -проживете -проживешь -проживу -проживут -прожил -прожила -прожили -прожита -прожитой -прожиток -прожитую -прожить -прожитье -прожорливым -прожужжит -прозвал -прозвали -прозвание -прозвенели -прозвучала -прозвучали -прозвучит -прозе -прозирать -прозорлив -прозорливейший -прозоров -прозорова -прозоровых -прозрачная -прозрачное -прозрачной -прозрачный -прозрачным -прозревал -прозрения -прозреть -прозябает -прозябал -проиграл -проиграла -проигрались -проигрался -проиграно -проигрыше -произведен -произведена -произведение -произведением -произведении -произведений -произведения -произведенное -произведенный -произведено -произведет -произвел -произвела -произвели -произвело -произвести -производивший -производил -производило -производилось -производился -производит -производительности -производить -производишь -производят -произвол -произволу -произвольно -произнес -произнесенные -произнесено -произнесены -произнесла -произнести -произносили -произносимые -произносит -произносить -произнося -произносят -произойдет -произойти -произошел -произошла -произошли -произошло -происходившую -происходил -происходила -происходили -происходило -происходит -происходить -происходят -происходящее -происхождение -происхождения -происшедшим -происшедшую -происшествие -происшествием -происшествии -происшествий -происшествия -пройдем -пройдемте -пройденное -пройдет -пройдете -пройдется -пройдешь -пройди -пройдите -пройдохе -пройдохой -пройду -пройдусь -пройдут -пройдя -пройдясь -пройти -проказ -проказа -проказил -проказить -проказнику -прокаркал -прокатимся -прокатимтесь -прокатитесь -прокатиться -проклинает -проклинал -проклинала -проклинали -проклинать -проклял -проклянешь -проклясть -проклят -проклятая -проклятие -проклятием -проклятий -проклятию -проклятия -проклятиями -проклято -проклятого -проклятое -проклятой -проклятом -проклятую -прокляты -проклятые -проклятый -проклятым -проклятых -проклятье -проклятья -проконсула -прокормить -прокормиться -прокормлю -прокофий -прокофьич -прокофьича -прокофьичем -прокричал -прокричала -проку -прокурора -пролегли -пролежал -пролежала -пролежали -пролежало -пролежит -пролез -пролезайте -пролезают -пролезая -пролезть -пролей -пролетает -пролетала -пролетарий -пролетария -пролетевший -пролетевших -пролетел -пролетела -пролетит -пролетки -пролив -проливать -проливают -проливая -проливной -пролил -пролилась -пролита -пролитая -пролитую -пролог -пролога -проложат -проложил -проложить -пролюбить -промалчивал -промах -промаха -промахнулся -промаху -промедленья -промедлить -промеж -промежутками -промежутках -промежуток -промежуточная -промелькнет -промелькнувшею -промелькнула -промелькнуло -променял -променяла -променять -променяю -прометеев -промозглым -промозолил -промокший -промолвил -промолвила -промолвили -промолвить -промолчал -промолчала -промочит -промучился -промысл -промысла -промычал -промычит -промышленник -промышленниками -промышленников -промышляет -промышляют -промышляющее -промямлил -пронес -пронесет -пронесется -пронесла -пронеслась -пронесли -пронеслось -пронесся -пронесу -пронзал -пронзали -пронзающий -пронзающим -пронзенная -пронзенный -пронзенными -пронзи -пронзил -пронзили -пронзило -пронзиль -пронзительные -пронзительным -пронзительных -пронизан -пронизывает -проник -проникал -проникать -проникающим -проникло -проникнет -проникнув -проникнут -проникнута -проникнуты -проникнуть -проникся -проникшись -проницал -проницательнее -проницательного -проницательности -проницательным -проницающим -проносили -проносилось -проносит -проносить -проносящейся -пронюхал -пронюхают -пропаганд -пропаганде -пропагандировать -пропагандного -пропадает -пропадай -пропадал -пропадала -пропадали -пропадало -пропадать -пропадают -пропадающие -пропадающих -пропадет -пропадете -пропадешь -пропаду -пропадут -пропал -пропала -пропали -пропало -пропастей -пропасти -пропасть -пропастью -пропастями -пропастях -пропащего -пропащий -пропев -пропекать -пропел -пропела -пропели -пропеллер -пропетая -пропивал -пропил -прописала -прописанной -прописываешь -пропитан -пропитанном -пропитано -пропитаны -проплакала -проплывет -проплывший -проплыли -проповедовал -проповедовали -проповедует -проповедуется -пропоет -проползет -пропускал -пропускающем -пропускающим -пропуская -пропусти -пропустив -пропустил -пропустили -пропустит -пропустить -пропустят -пропущенная -пропыленные -пропьет -пропятие -прорва -прорвалось -прорвался -проревел -прорезывались -прорепетировать -прореха -прорехою -прореху -пророк -пророка -пророком -проронил -проронила -проронит -проронить -пророчат -пророческая -пророчески -пророческий -пророчества -пророчество -пророчит -прорубил -прорывает -прорывами -прорывать -прорыве -просватали -просветился -просветите -просветлевшее -просветлеет -просветлели -просветлении -просвечивалось -просвещение -просвещению -просвещения -просвещенной -просвещенный -просвещенья -просвирне -просеванье -проседью -просеет -проселки -проселок -просидев -просидел -просидела -просидели -просидеть -просиди -просиживала -просиживаю -просил -просила -просилась -просили -просился -просиль -просим -просимой -просипел -просит -просите -просителей -просители -просительных -проситесь -просится -просить -просишь -просияла -проскакать -проскакивать -просквозит -проскользнет -проскользнул -проскользнула -проскользнуть -проскрежетал -проскучает -прославить -прославленный -проследил -проследовали -прослезились -прослезился -прослезится -прослужил -прослужили -прослужит -прослушал -прослушали -прослушать -прослышал -прослышали -прослышать -просмотрел -просмотреть -просмотришь -проснетесь -проснется -проснешься -проснись -проснитесь -проснувшаяся -проснувшегося -проснувшиеся -проснувшись -проснулась -проснулись -проснулся -проснусь -проснуться -просо -проспал -проспали -проспать -проспект -проспекта -проспекте -проспекту -просроченное -просроченные -просроченный -просрочить -прост -проста -простаковых -простая -простегивала -простейшей -простейшем -простейшим -простенке -простенькое -простер -простерла -простерт -простертой -простерши -прости -простившись -простил -простила -простили -простились -простился -простим -простирает -простиралось -простирать -простирая -простит -простите -простительно -проститутка -простить -проститься -простишь -просто -простоват -простоватого -простоватость -простоватый -простоволосая -простоволосые -простого -простодушие -простодушием -простодушия -простодушно -простодушное -простодушные -простодушными -простое -простой -простокваши -простоквашу -простолюдин -простом -простонал -простонало -простонародный -простонародье -простонет -простор -простора -просторе -просторно -просторное -просторную -просторные -просторный -простору -простота -простоте -простотой -простотою -простоту -простоты -простою -простоял -простояла -простоять -пространным -пространств -пространства -пространство -пространствовал -прострелено -прострет -простуда -простудилась -простудился -простудитесь -простудится -простудишь -простудишься -простуды -простуживайся -простужусь -проступали -проступок -простучат -просты -простые -простыл -простыла -простым -простыми -простыне -простыней -простыни -простыню -простыня -простынях -простых -простят -просунется -просунул -просунулась -просунуть -просушить -просыпается -просыпаешься -просыпалась -просыпали -просыпались -просыпалось -просыпался -просыпаться -просыпаюсь -просыпаются -просыпающегося -просыплю -просьб -просьба -просьбами -просьбе -просьбица -просьбой -просьбу -просьбы -прося -просясь -просят -просятся -протанцевал -протанцевала -протанцевать -протащила -протекал -протекли -протекция -протекших -протер -протереть -протерпела -протертые -протеснилась -протеснились -протеснился -протеснявшихся -протеснятся -протесняясь -протест -протестовал -протестованное -протестовать -протестом -протестуй -протестую -протесты -против -противен -противиться -противная -противнее -противник -противника -противником -противно -противное -противном -противны -противный -противным -противных -противоестественном -противоположная -противоположного -противоположной -противоположном -противоположность -противоположную -противоположные -противоположный -противоположными -противопоставить -противоречие -противоречии -противоречий -противоречило -противоречит -противоречить -противоречия -противоречу -противоречь -противуположную -противься -протискиваясь -протиснулся -проткнет -протокол -протолкнул -протолкуешь -протопопов -протопопова -протопоповым -протоптанной -проторила -протягивает -протягивай -протягивайте -протягивал -протягивала -протягивались -протягивая -протяжен -протяжно -протяжный -протянет -протянешь -протяните -протяну -протянув -протянувшеюся -протянувшиеся -протянул -протянула -протянулись -протянулся -протянут -протянута -протянутая -протянутой -протянутою -протянутую -протянутый -протянутыми -протянуть -протянуться -проулок -профессор -профессора -профессоров -профессором -профессорскую -профессору -профессоршу -профилем -профиль -профиля -прохаживается -прохаживался -прохаживаться -прохватила -прохватывали -прохлада -прохладная -прохладно -прохладной -прохладные -прохладный -прохладных -прохладой -прохлады -проход -прохода -проходи -проходившего -проходившей -проходившему -проходил -проходила -проходили -проходило -проходимцев -проходит -проходите -проходить -проходишь -проходная -проходной -проходу -проходя -проходят -проходящих -прохожего -прохожей -прохожем -прохожему -прохожие -прохожий -прохожим -прохожих -прохожу -прохора -прохрипел -процветал -процветала -процветают -процедил -процедур -процеживая -процент -процентами -процентные -процентов -процентщица -процентщицу -процентщицы -проценты -процесс -процесса -процессе -процессии -процессия -процессом -процессу -проч -проча -прочего -прочее -прочел -прочесть -прочие -прочий -прочим -прочими -прочитав -прочитайте -прочитал -прочитанного -прочитанное -прочитано -прочитать -прочитают -прочитывал -прочих -прочла -прочно -прочного -прочной -прочность -прочтем -прочтении -прочтения -прочтет -прочтете -прочтешь -прочти -прочтите -прочту -прочтя -прочь -прошагнул -прошедшая -прошедшего -прошедшее -прошедшем -прошедшие -прошедших -прошедшую -прошел -прошелся -прошептал -прошептала -прошептались -прошибет -прошипел -прошла -прошли -прошло -прошлого -прошлогоднего -прошлогодний -прошлогодним -прошлогодних -прошлое -прошлой -прошлом -прошлому -прошлую -прошлый -прошлым -прошлых -прошлялся -прошмыгнул -прошмыгнуть -прошу -прошумевшего -прошумела -прощаетесь -прощается -прощай -прощайте -прощал -прощали -прощались -прощальный -прощальным -прощание -прощании -прощанию -прощанье -прощаться -прощаю -прощаюсь -прощают -прощаются -прощая -прощаясь -проще -прощение -прощении -прощения -прощено -прощенья -прощипаны -прощу -проявилась -проявилось -проявить -проявление -проявлению -проявления -проявлениями -проявляется -проявляла -проявлялась -проявлялись -проявлялось -прояснел -прояснели -прояснившийся -прояснилось -прояснить -проясняет -прояснялось -прояснялся -пруд -пруда -прудами -пруде -прудов -прудовой -пруды -пружин -пружинами -пружинах -пружиной -пружины -прусская -прусскую -прыг -прыгавший -прыгает -прыгай -прыгал -прыгала -прыгали -прыгало -прыганье -прыгать -прыгают -прыгая -прыгнул -прыгнуть -прыжка -прыжком -прыжок -прынцессы -прыскается -прыснет -прыснула -прыснуть -прыть -прытью -прядет -прядь -пряжку -прям -прямехонько -прямились -прямо -прямого -прямодушии -прямодушия -прямодушный -прямое -прямой -прямому -прямою -прямую -прямые -прямым -прямыми -прямых -пряничного -пряно -пряное -пряности -прянул -пряный -прятал -прятала -пряталась -прятались -прятался -прятать -прятаться -пряча -прячась -прячет -прячется -прячешь -прячут -прячутся -прячущегося -пса -псами -психически -психоз -психологии -психологическая -психологически -психологические -психологический -психологическим -психологическое -психологической -психологическую -психологию -психология -психологов -психологом -психопат -псом -псу -псы -птенцов -птиц -птица -птицами -птицах -птице -птицей -птицу -птицы -птичек -птичий -птичка -птички -птичку -птичницы -птичьего -птичьем -птичьи -пуантов -публика -публике -публики -публикой -публику -публичная -публичного -публичное -публичной -публичную -публичные -публичный -публичных -пугает -пугаете -пугается -пугаешь -пугай -пугайся -пугайтесь -пугал -пугала -пугали -пугало -пугался -пугать -пугаться -пугаюсь -пугают -пугающая -пугающий -пугающим -пугаясь -пугливая -пугливее -пугливо -пугливого -пугливые -пугливых -пуговиц -пуговицами -пуговицы -пуговкой -пуд -пуда -пудами -пудинг -пудов -пудрится -пудрой -пужливые -пузатый -пузатых -пузырек -пузырь -пуль -пульс -пульса -пульхерией -пульхерии -пульхерию -пульхерия -пулю -пуля -пулями -пулярку -пункт -пункта -пунктам -пунктах -пункте -пунктов -пунктом -пункту -пункты -пуншем -пуншу -пуп -пуританский -пурпурово -пускает -пускаете -пускаешь -пускай -пускайте -пускал -пускала -пускалась -пускали -пускался -пускать -пускаться -пускают -пуст -пуста -пустая -пустейшем -пустейших -пусти -пустив -пустил -пустила -пустилась -пустили -пустились -пустило -пустился -пустим -пустит -пустите -пустить -пуститься -пусто -пустого -пустое -пустой -пустом -пустому -пустота -пустоте -пустоту -пустоты -пустоши -пустошь -пустою -пустую -пусты -пустые -пустым -пустыми -пустыне -пустыней -пустыни -пустынна -пустынного -пустынной -пустынном -пустынную -пустынные -пустынный -пустынным -пустынь -пустыню -пустырей -пустырем -пустырь -пустых -пусть -пустякам -пустяками -пустяках -пустяки -пустяков -пустят -пустячков -пустяшная -пустяшное -пустяшным -путал -путали -путались -путаница -путаницу -путанно -путаться -путаю -путаются -путая -путеводителем -путеводительный -путеводной -путей -путем -путешественники -путешественников -путешествие -путешествии -путешествий -путешествия -путешествиях -путешествует -пути -путилки -путилкой -путилку -путник -путнику -путное -путной -путь -путями -путях -пуф -пух -пуха -пухленькие -пухлое -пухлых -пуховые -пуховым -пухом -пучат -пучине -пучину -пучком -пушечный -пушистые -пушистый -пушка -пушки -пушкин -пушкина -пушкинское -пушкиным -пушкиньянца -пушку -пушок -пущай -пуще -пущенное -пущенными -пущу -пхайло -пчелка -пчеловодство -пчелы -пшеница -пшеницын -пшеницына -пшеницыной -пшеницыну -пшеницыных -пшла -пшол -пыжикова -пыл -пылает -пылал -пылала -пылают -пылающим -пылающими -пылая -пыли -пылили -пылинки -пылинку -пылким -пылко -пылкой -пылом -пылу -пыль -пыльная -пыльного -пыльной -пыльном -пыльную -пыльные -пыльный -пыльными -пылью -пылят -пытала -пытался -пытая -пытаясь -пытка -пытки -пыткой -пытку -пытливо -пытливого -пытливости -пытливый -пыток -пыхтя -пышная -пышнейшее -пышно -пышной -пышном -пышную -пышные -пышных -пышут -пьан -пьедестал -пьем -пьер -пьеса -пьесах -пьесе -пьесу -пьесы -пьет -пьете -пьешь -пью -пьют -пьющей -пьющий -пьющих -пьян -пьяна -пьяная -пьяненькие -пьяненький -пьяненькой -пьянею -пьянея -пьяниц -пьяница -пьяницей -пьяницу -пьяницы -пьяного -пьяной -пьяном -пьяному -пьянства -пьянство -пьянствовал -пьянствовать -пьянствует -пьянствуй -пьяную -пьяны -пьяные -пьяный -пьяным -пьяных -пэб -пялит -пялить -пясту -пятак -пятака -пятаками -пятаки -пятаков -пятам -пятачка -пятачку -пятачок -пятая -пятен -пятеро -пяти -пятидесяти -пятидесятилетнему -пятидесятилетнею -пятидесятирублевую -пятидесятью -пятилетнего -пятилетняя -пятиминутным -пятипроцентные -пятипроцентный -пятипроцентных -пятипудовая -пятисот -пятистах -пятить -пятиэтажного -пятками -пятки -пятна -пятнадцати -пятнадцатилетнюю -пятнадцатом -пятнадцать -пятнам -пятнами -пятнах -пятница -пятнице -пятницу -пятницы -пятно -пятном -пятнышка -пятнышко -пятого -пятое -пятой -пятом -пяточками -пятою -пятую -пятый -пять -пятьдесят -пятьсот -пятью -пятясь -р -ра -раб -раба -рабам -рабами -рабой -рабом -работ -работа -работавшая -работавши -работавший -работаем -работает -работаете -работаешь -работай -работал -работала -работали -работам -работами -работать -работах -работаю -работают -работе -работник -работника -работниках -работники -работников -работнику -работой -работу -работы -рабочие -рабочий -рабочим -рабочих -рабочую -рабская -рабски -рабских -рабстве -рабы -равенна -равеннских -равенства -равенство -равна -равнина -равнины -равно -равновесие -равновесии -равновесия -равнодушен -равнодушие -равнодушием -равнодушии -равнодушию -равнодушия -равнодушна -равнодушная -равнодушно -равнодушного -равнодушное -равнодушны -равнодушный -равное -равномерно -равносильное -равны -равным -равных -равняется -равняла -равняли -равнять -равняю -рагулиным -рад -рада -радехонек -ради -радикально -радикальный -радиус -радищев -радо -радовавшемуся -радовались -радовался -радоваться -радостей -радости -радостн -радостная -радостно -радостного -радостном -радостный -радостным -радостных -радость -радостью -радостями -радостях -радуется -радуешься -радужного -радужные -радушие -радушием -радушия -радушно -радушный -радуюсь -радуясь -рады -раз -раза -разбавлять -разбегаются -разбей -разберет -разберешь -разбери -разберу -разберут -разберутся -разбивал -разбивалась -разбиваются -разбивающее -разбившимся -разбил -разбила -разбилась -разбили -разбился -разбирал -разбирала -разбиранья -разбирать -разбирая -разбит -разбито -разбитого -разбитое -разбитой -разбитою -разбитую -разбитым -разбить -разблаготворились -разбогатевший -разбогател -разбогатеть -разбой -разбойник -разбойника -разбойниках -разбойники -разбойников -разбойником -разбойничий -разбойную -разболелась -разболелся -разболтал -разболтали -разболтался -разбор -разборчив -разборы -разбранил -разбрасывается -разбредутся -разбрелись -разбросала -разбросались -разбросанные -разбросанный -разбросанных -разбросано -разбросаны -разбуди -разбудил -разбудила -разбудили -разбудило -разбудит -разбудить -разбудишь -разваливается -развалившуюся -развалилась -развалились -развалилось -развалился -развалинами -развалинах -развалине -разве -разведу -разведывать -развел -развели -развелось -разверзается -разверзалась -развернув -развернувший -развернул -развернула -развернулись -развернутое -развернутую -развернуты -развернутые -развернуть -развертывает -развертывая -развеселившись -развеселился -развеселить -развеселясь -развести -развешивает -развешивал -развешивать -развивает -развиваете -развивается -развивал -развивалась -развивалось -развивать -развиваю -развиваются -развившись -развилась -развились -развился -развинтился -развит -развитие -развитием -развитии -развитий -развитию -развития -развитой -развитость -развитый -развитым -развить -развлекайтесь -развлекать -развлекись -развлечения -развлечь -разводить -разводя -развозимыми -разворчатся -разврат -разврата -разврате -развратен -развратник -развратника -развратничает -развратной -развратный -развратным -развратятся -развращение -развращенный -развяжешься -развяжите -развязал -развязала -развязался -развязаны -развязать -развязен -развязка -развязке -развязки -развязку -развязная -развязнее -развязно -развязности -развязным -развязных -развязывать -разгадал -разгадать -разгадка -разгадке -разгадки -разгадку -разгаре -разгибать -разгладились -разгладился -разглаживается -разглядев -разглядел -разглядела -разглядели -разглядеть -разгляди -разглядит -разглядишь -разглядывавший -разглядывает -разглядываете -разглядывал -разглядывать -разглядывая -разгневанная -разговаривавшие -разговаривает -разговаривал -разговаривала -разговаривали -разговаривать -разговаривают -разговаривая -разговеемся -разговенья -разговор -разговора -разговорам -разговорами -разговорах -разговоре -разговорился -разговоров -разговором -разговору -разговорчивым -разговоры -разговорят -разгонял -разгорался -разгоревшееся -разгорелось -разгорится -разгороженную -разгорячаясь -разгорячились -разгорячился -разгула -разгуливала -разгульная -разгульного -разгулялась -разгулялось -раздавались -раздавалось -раздавался -раздаваться -раздавил -раздавила -раздавили -раздавлен -раздавлена -раздавленного -раздавленный -раздается -раздала -раздалась -раздались -раздалось -раздался -раздарить -раздастся -раздаются -раздвигать -раздвигаются -раздвигая -раздвинув -раздвинул -раздвинулась -раздвинулись -раздвинуто -раздев -раздевала -раздевался -раздевать -раздевают -раздеваясь -раздевшись -раздел -разделаешься -разделался -разделенная -разделив -разделил -разделила -разделит -разделить -раздельнее -раздельно -разделявший -разделяет -разделял -разделяла -разделялась -разделяю -разделяются -разделяющего -разденусь -раздетого -раздетые -раздирающим -раздольем -раздольи -раздор -раздоры -раздосадованный -раздражает -раздражается -раздражайтесь -раздражал -раздражались -раздражался -раздражать -раздражают -раздражаются -раздражающие -раздражающим -раздражаясь -раздражен -раздражена -раздражение -раздражением -раздражении -раздражению -раздражения -раздраженная -раздраженнее -раздраженно -раздраженного -раздраженное -раздраженную -раздраженным -раздражившись -раздражил -раздражилась -раздражило -раздражит -раздражителен -раздражительная -раздражительнее -раздражительно -раздражительное -раздражительном -раздражительностию -раздражительную -раздражительны -раздражительные -раздражительный -раздражительным -раздражить -раздразнить -раздроблен -раздроблено -раздробляется -раздувает -раздувала -раздувающий -раздувая -раздуем -раздулась -раздумал -раздумался -раздумчиво -раздумывал -раздумывали -раздумываться -раздумывая -раздумье -раздумью -раздумья -раздуть -раздушенный -разевая -разжал -разжалобил -разжалобясь -разжалована -разжигает -раззадорило -разик -разини -разинув -разинул -разинули -разинутым -разинутыми -разиня -разит -разлакомившийся -разлакомившись -разлакомились -разлегся -разлейся -разлетясь -разлетятся -разлив -разливалась -разливались -разливался -разливах -разливающейся -разливе -разливных -разлилась -разлились -разлилось -разлился -разлито -разлитого -разлитому -разлитый -различал -различала -различать -различаю -различен -различил -различить -различия -различно -различные -различным -различными -различных -разложения -разложенными -разложено -разложенье -разломал -разлука -разлуке -разлуки -разлучаться -разлучен -разлучимся -разлучиться -разлюбил -разлюбите -разлюбить -разлюбишь -разлюблю -разлюбя -размазывать -размарать -размах -размаха -размахи -размахивается -размахивай -размахивать -размахиваются -размахивая -размахнувшись -размахнулся -размаху -размашисты -размен -разменивать -разменявший -разменявшись -разменял -разменялся -разменянного -разменять -размер -размера -размерам -размере -размеренно -размеров -размеры -разметает -размечтался -разминается -разминать -размножится -размозжу -размолвки -размучен -размышление -размышлении -размышления -размышляет -размышлял -размышлять -размышляя -размягчило -размягчилось -разная -разнежась -разнежил -разнесет -разнесется -разнесла -разнесшейся -разнился -разнимались -разница -разницей -разницу -разновековой -разного -разное -разнокалиберное -разноличного -разнообразие -разнообразило -разнообразия -разнообразна -разнообразная -разнообразно -разнообразное -разнообразные -разнообразных -разнообразят -разнородной -разнорядицу -разносились -разносилось -разносится -разносить -разностями -разносчик -разносчики -разнофасонное -разнохарактерный -разноцветные -разноцветным -разную -разные -разный -разным -разными -разных -разо -разобидел -разобижен -разобрал -разобрала -разобрало -разобрано -разобраны -разобрать -разобраться -разобьют -разовьют -разогнавший -разогнать -разодета -разодетая -разодетой -разодетых -разодранной -разодраны -разожженным -разозлившись -разозлил -разозлился -разойдемся -разойтись -разольет -разольется -разом -разомкнуть -разорвал -разорвала -разорвали -разорвалось -разорванного -разорванное -разорванной -разорванные -разорванным -разорвано -разорвать -разорвусь -разорение -разорены -разорила -разорили -разорились -разорился -разоряет -разорять -разостлали -разостлались -разочаровался -разочарование -разочарования -разочарованный -разочаровать -разочароваться -разочаровываться -разочек -разошлась -разошлись -разработана -разработкою -разработывания -разразилась -разразились -разразился -разразит -разразится -разразиться -разрежены -разрезал -разрешается -разрешаешь -разрешалась -разрешать -разрешаться -разрешаю -разрешение -разрешения -разрешено -разрешенье -разрешил -разрешила -разрешили -разрешился -разрешите -разрешится -разрешить -разрешиться -разрешишь -разрозненных -разронял -разрослась -разрушает -разрушаете -разрушаешь -разрушал -разрушать -разрушают -разрушающий -разрушающими -разрушая -разрушение -разрушений -разрушения -разрушенное -разрушено -разрушила -разрушители -разрушительного -разрушительными -разрушителями -разрушиться -разрыв -разрыва -разрывала -разрывались -разрывать -разрывающим -разрывая -разрыве -разрыву -разряд -разряда -разрядится -разрядов -разряду -разряды -разряженные -разряженных -разу -разубедить -разубеждали -разубран -разуверило -разуверит -разуверить -разуверять -разудалого -разузнавать -разузнал -разузнали -разузнамши -разузнать -разузнаю -разукрашенную -разукрашенные -разукрашенный -разум -разума -разумеет -разумеется -разумеешь -разумел -разумела -разумели -разумения -разумихин -разумихина -разумихине -разумихину -разумихиным -разумнее -разумно -разумного -разумное -разумною -разумные -разумом -разучился -разъединения -разъезде -разъездов -разъезды -разъезжать -разъезжая -разъехавшись -разъехались -разъешься -разъяснением -разъяснений -разъяснения -разъяснено -разъяснил -разъяснилось -разъяснится -разъяснить -разъяснял -разыграется -разыгралась -разыгрались -разыгрался -разыграть -разыгрывавшиеся -разыгрывается -разыгрываешь -разыгрывайте -разыгрывалась -разыгрывались -разыгрывался -разыскав -разыскал -разыскали -разыскать -разыскивал -разыскиваний -разыскивать -разыскиваю -разыщу -разящий -рай -райские -райского -райское -рак -раковина -раковинами -рама -раме -рамках -рамке -рамкой -рамой -рамочку -рампе -рамы -ран -ранах -ране -раневская -раневской -ранее -ранен -ранена -раненого -ранешенько -ранил -ранили -ранит -ранить -раннего -ранней -раннею -ранние -ранний -ранним -ранняя -рано -рану -раны -раным -раньше -ранят -рапортом -раскаетесь -раскаешься -раскаивался -раскаиваться -раскаиваюсь -раскаиваясь -раскаленные -раскаленный -раскаленными -раскат -раскаты -раскачнувшись -раскаялся -раскаяние -раскаянием -раскаянии -раскаяния -раскаяться -раскидал -раскинется -раскинув -раскинул -раскинулась -раскинулся -раскинутыми -раскладывает -раскладывать -раскладывают -раскланивается -раскланялся -расклю -расколдуешь -расколот -расколотом -раскольников -раскольникова -раскольникове -раскольниковой -раскольникову -раскольниковым -раскольничьи -раскрасавицу -раскрасневшаяся -раскрасневшимися -раскраснелся -раскричалась -раскричится -раскрывал -раскрывались -раскрываться -раскрывают -раскрывая -раскрыл -раскрыла -раскрыли -раскрылись -раскрылся -раскрытая -раскрытым -раскрытыми -раскрыть -раскуси -раскусивший -раскусить -распался -распарит -распахивает -распахнувшийся -распахнул -распахнулась -распахнулись -распахнут -распашку -распечатал -распечатали -распечатывай -распечатывать -распечатывая -распивочная -распивочной -распивочные -распивочными -распивочных -распивошной -распирать -расписалась -расписался -расписание -расписки -расписок -расписочки -расписывались -расписываться -расплакалась -расплата -расплатившись -расплатился -расплатиться -расплатишься -расплачутся -расплевывался -расплескав -расплести -расплодилось -расплывается -расплываться -расплываясь -расплылось -расплюеве -распни -распознавать -распознать -располагается -располагаешь -располагал -располагать -располагаются -располагающий -расползается -расползлась -располнел -расположен -расположение -расположении -расположения -расположены -расположил -распомаженный -распорядилась -распорядился -распорядись -распорядительнице -распорядительности -распорядительность -распорядится -распорядиться -распорядок -распорядятся -распоряжаетесь -распоряжается -распоряжалась -распоряжался -распоряжение -распоряжений -распоряжению -распоряжения -распоряжениям -распоряжусь -расправил -расправила -расправиться -расправляя -расправу -распределить -распри -распродал -распростерла -распростерлось -распростертый -распростершийся -распространение -распространенное -распространены -распространилась -распространилось -распространился -распространить -распространяется -распространять -распрях -распугала -распускается -распускал -распускала -распускались -распускать -распустив -распустившийся -распустил -распустила -распустили -распустился -распустить -распутает -распутица -распухшее -распущенность -распущенные -распущены -распылавшийся -распяв -распятие -распять -рассадить -рассажены -рассвет -рассвета -рассвете -рассветет -рассветом -рассвирепев -рассвирепел -рассеет -расселись -рассердившийся -рассердившись -рассердилась -рассердили -рассердились -рассердился -рассердитесь -рассердится -рассердиться -рассердятся -рассержен -рассерженный -рассержены -рассечь -рассеялось -рассеян -рассеянна -рассеянно -рассеянности -рассеянность -рассеянностью -рассеянны -рассеянный -рассеянным -рассеяно -рассеять -рассеяться -расскажет -расскажете -расскажешь -расскажи -расскажит -расскажите -расскажу -расскажут -рассказ -рассказа -рассказав -рассказал -рассказала -рассказали -рассказам -рассказами -рассказана -рассказанный -рассказать -рассказах -рассказе -рассказов -рассказом -рассказу -рассказчика -рассказчиц -рассказы -рассказывает -рассказываешь -рассказывай -рассказывайте -рассказывал -рассказывала -рассказывали -рассказывать -рассказываю -рассказывают -расслабленного -расслабленный -расслабленным -расследован -расслушала -расслушать -расслышав -расслышал -расслышала -расслышать -рассматривавшего -рассматривает -рассматривается -рассматривал -рассматривала -рассматривали -рассматривания -рассматривать -рассматривают -рассматривая -рассмеетесь -рассмешат -рассмешил -рассмешила -рассмешили -рассмешит -рассмеявшись -рассмеялся -рассмеяться -рассмотрев -рассмотрение -рассмотреть -рассориться -расспрашивайте -расспрашивал -расспрашивала -расспрашивали -расспрашивать -расспрашивая -расспросами -расспросила -расспросит -расспросить -расспросов -расспросы -расставаться -расставив -расставил -расставила -расставили -расставлено -расставляет -расстаемся -расстается -рассталась -расстались -расстался -расстанемся -расстановисто -расстановками -расстановкой -расстаться -расстаются -расстегнул -расстегнуть -расстелет -расстилалася -расстилались -расстилаться -расстояние -расстоянии -расстояния -расстраивались -расстроен -расстроена -расстроенного -расстроенной -расстроенную -расстроенные -расстроенный -расстроено -расстроены -расстроивает -расстроил -расстроили -расстроить -расстроиться -расстроишь -расстроишься -расстройства -расстройстве -расстройство -расступись -рассуди -рассудив -рассудил -рассудила -рассудилось -рассудит -рассудите -рассудительна -рассудительная -рассудительнее -рассудительный -рассудить -рассудка -рассудке -рассудкина -рассудком -рассудок -рассуждает -рассуждаете -рассуждаешь -рассуждал -рассуждать -рассуждаю -рассуждают -рассуждая -рассуждение -рассуждений -рассуждению -рассуждения -рассуждениями -рассчитав -рассчитайте -рассчитал -рассчитали -рассчитаны -рассчитать -рассчитываем -рассчитывает -рассчитываете -рассчитывай -рассчитывал -рассчитывали -рассчитывать -рассчитываю -рассчитывая -рассыпается -рассыпала -рассыпалась -рассыпались -рассыпался -рассыпчатые -расталкивает -расталкивать -растаял -растворена -растворенных -растворил -растворилась -растворились -растворить -растворяя -растение -растениями -растерзанном -растерявшаяся -растерявшимся -растерявшись -растеряется -растеряла -растеряли -растерялся -растерян -растерянно -растерянные -растеряют -растет -расти -растлелось -растолкала -растолковал -растолковать -растолковывать -растолкуйте -растолкую -растопалась -растопчет -растопыренных -расторопного -расторопный -расточаемые -расточает -расточаю -расточилась -расточители -расточительности -растравлять -растревожили -растреклятого -растреклятым -растрепанная -растрепанного -растрепанную -растроган -растроганная -растроганной -растроганный -растут -растущего -растущей -растягивает -растянет -растянулись -растянулся -расфранченную -расфуфыренных -расхаживаешь -расхаживают -расхищения -расхлебывают -расхлябанные -расход -расхода -расходились -расходился -расходится -расходными -расходы -расходясь -расходятся -расхохоталась -расхохотался -расцвела -расцвело -расцвет -расцветала -расцветало -расцветание -расцветания -расцветая -расцветшей -расчесанные -расчесанный -расчесывает -расчесывая -расчет -расчета -расчетам -расчетах -расчетливый -расчетов -расчетом -расчету -расчеты -расчищаем -расчувствовался -расшалясь -расшаталось -расшевелили -расшевелить -расшиб -расшибанья -расшибет -расшибется -расширением -расширены -расширялась -расширялся -расширяя -расщедрилась -расщедрился -ратую -рать -раут -рафаэлевой -рафаэлевских -рафаэля -рацею -рационально -рационального -рациональный -рачителен -рачительно -раю -рая -рвал -рвало -рвался -рвание -рваного -рваной -рванула -рванулась -рванулся -рвануться -рваные -рвать -рваться -рвение -рвет -рвется -рвешь -рвешься -рву -рдеет -рдели -рдеют -рдея -реализме -реализмом -реальное -ребенка -ребенке -ребенком -ребенку -ребенок -ребеночек -ребер -ребра -ребре -ребят -ребята -ребятишек -ребятишкам -ребятишками -ребятишки -ребяческая -ребяческий -ребячества -ребячий -ребячьих -рев -ревель -реверанс -реви -ревизор -ревматизм -ревматизмом -ревнивая -ревнивее -ревниво -ревнивой -ревнивый -ревновал -ревновала -ревновать -ревности -ревность -ревностью -ревнует -ревнуя -револьвер -револьвером -революции -революционных -революция -ревом -ревущих -регистраторша -регистраторши -регре -регулировать -регулярно -редактора -редакции -редакций -редакция -редеет -редеть -редкая -редки -редкие -редкий -редким -редкими -редких -редко -редкое -редкой -редкости -редкость -редька -редьки -редьку -реет -реже -режет -режу -резались -резанная -резать -резв -резва -резвая -резвому -резвость -резвы -резвые -резвясь -резвятся -резедой -резеду -резеды -резиденция -резиновых -резкая -резкие -резкий -резким -резкими -резких -резко -резкой -резком -резкость -резной -резню -резок -резоны -резоня -результат -результатах -результате -результатов -результату -результаты -резцом -резче -резюме -рейнгольду -рейт -рек -река -рекам -рекамье -реке -реки -рекой -рекомендации -рекомендацию -рекомендация -рекомендовал -рекомендовать -рекомендует -рекомендуется -рекомендую -рекомендуя -рекорд -рекою -ректор -реку -религией -религии -религий -религиозно -рельефностью -рельс -рельсах -рельсы -реляции -реляцию -ремень -ремесла -ремесленник -ремесленники -ремесленное -ремеслу -ремне -ремни -ренегате -реникса -ренную -рент -реомюра -репетитором -реплики -репой -репу -репутацией -репутации -репутаций -репутацию -репы -ресниц -ресницами -ресницах -ресницы -ресслих -рессорную -ресторан -ресторана -ресторане -ретивое -ретировавшегося -реторту -ретроград -ретроградна -рефлексом -реформа -реформы -рехнулись -рехнулся -рецепт -рецепта -рецептов -речами -речах -речей -речи -речисто -речка -речке -речки -речкой -речку -речной -речь -речью -решает -решаете -решается -решаешься -решай -решайтесь -решал -решала -решалась -решались -решался -решатся -решать -решаюсь -решают -решаясь -решен -решена -решение -решением -решении -решений -решения -решениям -решенном -решенный -решено -решетку -решетчатого -решетчаты -решетчатые -решетчатым -реши -решив -решившегося -решившей -решившийся -решившись -решил -решила -решилась -решили -решились -решился -решим -решимости -решимость -решимостью -решит -решите -решителем -решительная -решительнее -решительно -решительного -решительное -решительном -решительности -решительную -решительный -решительным -решится -решить -решиться -решоткой -решусь -решь -реяли -ржавой -ржавые -ржавый -ржавых -ржаной -ржи -ризами -ризой -рим -рима -римляне -римские -ринется -ринулся -ринутся -ринуться -рис -риск -риски -рискнул -рискнула -рискнули -риском -рисовал -рисовала -рисовало -рисовалось -рисовался -рисования -рисовать -рисовой -рису -рисует -рисуешь -рисунка -рисунков -рисунок -рисую -рисуюсь -рисуя -ритм -ритма -ритмическое -ритмы -риторика -риторики -рифм -рифмованную -ро -робел -робела -робели -робенок -роберте -робеют -робея -робка -робкая -робкие -робкий -робким -робко -робкого -робкой -робком -робок -робостию -робость -робостью -робче -ровесник -ровна -ровнее -ровнехонько -ровно -ровное -ровной -ровны -ровные -ровный -ровным -ровняет -рог -рога -рогам -рогами -рогатого -рогатые -рогов -роговой -рогожею -род -рода -родах -роде -родей -роденьку -роди -родила -родилась -родились -родилось -родился -родименький -родимой -родимый -родина -родине -родиной -родину -родины -родион -родиона -родионом -родиону -родионыч -родителей -родители -родитель -родительская -родительский -родительского -родительском -родителя -родителями -родится -родиться -родная -родне -роднейший -родни -роднила -родного -родное -родной -родном -родную -родные -родным -родными -родных -родню -родня -родов -родом -родства -родственник -родственника -родственнике -родственники -родственников -родственнику -родственница -родственницей -родственницу -родственницы -родственного -родственное -родственной -родственному -родственные -родственный -родственных -родство -роду -родька -родьке -родькин -родэ -родю -родя -родясь -родятся -роем -роется -роешься -рожа -рожами -рождает -рождается -рождал -рождали -рождалось -рождался -рождают -рождающейся -рождающимся -рождающихся -рождение -рождением -рождении -рождения -рожденные -рожденья -рождества -рождестве -рождественном -рождество -рождеством -рождеству -роже -рожи -рожком -рожок -рожу -рожь -рожью -роз -роза -розан -розах -розни -розно -розные -розовеет -розовеют -розовея -розовое -розовой -розовом -розовые -розовый -розовыми -розовых -розой -розоперстая -розу -розы -роится -рой -рок -рока -роковая -рокового -роковое -роковой -роковые -роковым -рокот -рокотание -рокотов -рокотом -рокоты -роланда -ролей -роли -роль -ром -роман -романа -романах -романе -романистов -романический -романическим -романического -романов -романович -романовича -романовичу -романовна -романовне -романовной -романовну -романовны -романс -романсов -романчик -романы -романыч -романыча -романычем -романычу -ромео -рому -роняет -ронял -ронять -роняя -ропот -ропота -роптал -роптали -роптать -ропщу -рос -роса -росах -росинки -росистую -роскоши -роскошная -роскошнее -роскошно -роскошного -роскошные -роскошный -роскошным -роскошных -роскошь -роскошью -росла -росли -росло -росный -росписные -россией -россии -российский -россию -россия -россияда -россиянину -рост -роста -росте -ростовщика -ростовщица -ростом -росту -росы -рот -рошую -роща -рощах -роще -рощей -рощи -рощу -роют -роются -рояле -роялем -рояль -рояля -роясь -роящихся -рт -рта -ртами -ртом -рту -рты -рубах -рубахе -рубаху -рубашек -рубашечку -рубашечный -рубашка -рубашках -рубашке -рубашки -рубашкой -рубашку -рубашонке -рубежей -рубежи -рубец -руби -рубивших -рубикон -рубила -рубили -рубин -рубини -рубинштейн -рубит -рубить -рубища -рубище -рубиянить -рублев -рублевым -рублей -рубликов -рубль -рублю -рубля -рублям -рублями -рублях -рубнуть -рубцы -ругает -ругается -ругал -ругали -ругались -ругался -ругань -ругательски -ругательским -ругательств -ругательства -ругательствами -ругать -ругаться -ругают -ругая -ругаясь -ругнул -руда -рудник -ружье -ружьем -ружья -рук -рука -рукав -рукава -рукавами -рукавом -рукам -руками -руках -руке -руки -руководитель -руководителя -руководить -руководств -руководства -руководствовался -руководством -руководствуясь -рукой -рукомесло -рукомойнику -рукописи -рукопись -рукоплесканий -рукопожатий -рукопожатья -рукою -руку -руля -румяна -румяная -румянец -румянил -румянит -румянится -румяное -румяную -румянца -румянцем -румяный -румяными -руне -рус -русака -русалке -русалкой -русалкою -русалочья -руси -русло -русская -русски -русские -русский -русским -русскими -русских -русско -русского -русской -русском -русскому -русскую -руссо -русые -русыми -русь -русью -рутина -рутине -рутинеры -рутину -рухлядь -рухнул -рухнулась -рухнуло -рухнулся -рухнут -руце -ручаетесь -ручайтесь -ручаюсь -ручей -рученьку -ручищи -ручка -ручками -ручки -ручкой -ручку -ручном -ручным -ручонками -ручонкой -ручонку -ручьем -ручьи -ручья -ручьями -рушатся -рушились -рушилось -рыба -рыбак -рыбаками -рыбачьих -рыбинскую -рыбой -рыбу -рыбы -рыбьим -рыдает -рыдал -рыдала -рыдали -рыдало -рыдалось -рыданием -рыданий -рыдания -рыданиями -рыданиях -рыдать -рыдают -рыдающие -рыдая -рыжая -рыжеватыми -рыжие -рыжики -рыкающих -рыло -рылом -рылся -рылу -рынкам -рынках -рынке -рынком -рынок -рысак -рытвину -рыться -рыхлый -рыцарей -рыцари -рыцарь -рычага -рычание -рычаньем -рыщет -рыщу -рьяно -рю -рюмка -рюмке -рюмки -рюмкой -рюмку -рюмочки -рюмочку -рюшем -рябая -рябило -рябину -рябого -рябчика -рябчики -рябчиков -рябь -ряд -ряда -рядах -рядов -рядом -ряду -ряды -рядышком -рядят -ряженые -ряженых -рязанские -с -саблей -сабли -саблю -саван -саване -савиновых -савич -савича -савишна -саврасая -савраске -савраской -савраску -сад -сада -садами -садик -садике -садику -садилась -садился -садись -садитесь -садится -садить -садиться -садки -садов -садовник -садовника -садовнику -садовой -садовского -садовскому -садовую -садовый -садовых -садом -саду -садясь -садятся -садящееся -сажает -сажал -сажала -сажать -сажаю -сажают -сажая -сажен -сажени -сажень -саженях -сажусь -сайкой -сайку -саксонии -саксонских -саксонского -салазки -салат -сале -сало -салом -саломеи -саломея -салон -салоне -салонов -салоном -салоп -салопа -салопе -салопов -салопом -салопы -салфетке -салфетку -сальная -сальной -сальный -сам -сама -самая -сами -самим -самих -само -самовар -самовара -самоваре -самоваров -самоваром -самоварчик -самовлюбленностию -самовольно -самого -самодержавный -самодовольное -самодуров -самое -самозабвением -самозабвения -самозабвенья -самой -самойлу -самолично -самолюбив -самолюбивая -самолюбивой -самолюбивы -самолюбивый -самолюбивых -самолюбие -самолюбием -самолюбия -самом -самомалейшему -самомнение -самому -самонаслаждением -самонужнейшее -самоотвержении -самоотвержения -самоотверженным -самопожертвования -самосознания -самосохранения -самостоятельная -самостоятельно -самостоятельного -самостоятельной -самостоятельности -самостоятельностию -самоубийств -самоубийства -самоубийство -самоубийством -самоубийца -самоуверенная -самоуверенно -самоуверенности -самоуверенность -самоуверенностью -самоунижения -самоуправство -самою -самую -самые -самый -самым -самыми -самых -сана -сандалий -саней -санки -санкт -сановником -сапог -сапога -сапогам -сапогами -сапогах -сапоге -сапоги -сапогов -сапогом -сапожникам -сапожной -сарае -сараев -сараи -сарай -саранча -саратов -сарафане -сарая -сараям -сараях -сарказма -сарказмами -сарказмов -саркастически -саркастическую -саркофаги -саркофагом -сатанинский -сатир -сатира -сатире -сатиров -сатиру -сатиры -сафьянные -сафьяном -сахар -сахарная -сахарница -сахарницу -сахарные -сахару -сбавка -сбавки -сбалмошные -сбегает -сбегаешь -сбегай -сбегала -сбегались -сбегать -сбегаю -сбежал -сбежала -сбежались -сбежался -сбережения -сбереженные -сбережет -сберечь -сбивает -сбиваете -сбивается -сбиваешься -сбивали -сбивался -сбивать -сбивают -сбиваются -сбивающих -сбиваясь -сбивчиво -сбивчивую -сбившейся -сбившеюся -сбившись -сбил -сбилась -сбили -сбило -сбился -сбирались -сбирался -сбит -сбитая -сбитый -сбитых -сбить -сближались -сближался -сближение -сближению -сближения -сблизил -сбоку -сболтнул -сборник -сборнике -сборное -сбрасывали -сбрасывая -сбредить -сбрил -сбрили -сброду -сбросил -сбросила -сбросили -сбросить -сбрось -сбрую -сбруя -сбудется -сбываться -сбывают -сбывающихся -сбывшимся -сбыл -сбылось -сбыта -сбыть -сбыться -сва -свадеб -свадьба -свадьбе -свадьбой -свадьбу -свадьбы -сваливается -сваливал -свалил -свалилась -свалился -свалит -свалится -свалить -свалял -свалят -сварили -сварить -сватался -сватают -сватаясь -сватовства -сватовство -све -сведений -сведения -сведениями -сведенная -сведете -сведи -сведущих -свеж -свежа -свежая -свежего -свежее -свежей -свежем -свежему -свежеодетым -свежепросоленные -свежести -свежесть -свежестью -свежею -свежие -свежий -свежим -свежими -свежих -свежо -свезти -свезу -свезут -свел -свели -свергнуть -сверка -сверкавшие -сверкает -сверкала -сверкали -сверканий -сверканьи -сверкать -сверкающие -сверкающим -сверкающими -сверкнет -сверкнув -сверкнувшее -сверкнувший -сверкнул -сверкнула -сверкнули -сверкнуло -сверкнут -сверлящих -свернет -свернется -свернула -свернули -свернулись -свернулся -свернутого -свернуть -свертков -свертывает -свертывали -свертывают -сверх -сверху -сверхъестественное -сверхъестественный -сверчок -свершай -свершать -свершая -свершив -свершил -свершилось -свершился -свершится -свершу -сверь -свесив -свести -свет -света -светает -светать -свете -светел -светелке -свети -светик -светил -светила -светилась -светились -светило -светилось -светит -светится -светить -светла -светлая -светлее -светлей -светлела -светленькие -светленькое -светлице -светлицу -светло -светловыбритого -светлого -светлое -светлой -светлом -светлою -светлую -светлы -светлые -светлый -светлым -светлыми -светлых -светляка -световой -светозарный -светом -светопреставление -светская -светский -светскими -светских -светской -светском -светскому -свету -светы -светятся -светящими -свеч -свеча -свече -свечей -свечи -свечка -свечке -свечки -свечкой -свечку -свечными -свечой -свечу -свешивалась -свивает -свидание -свидании -свиданий -свиданию -свидания -свиданиях -свиданья -свидетеле -свидетелей -свидетелем -свидетели -свидетель -свидетельница -свидетельский -свидетельства -свидетельстве -свидетельство -свидетельствовала -свидетельствовать -свидетельством -свидетельствую -свидетельствуют -свидетельствуя -свидетеля -свидетелями -свидетелях -свидригайлов -свидригайлова -свидригайлове -свидригайлову -свидригайловы -свидригайловым -свидригайловых -свинец -свинкин -свинства -свинство -свинтус -свинцовый -свинцовым -свинцом -свиным -свиньи -свинья -свирбею -свирели -свирель -свирепо -свирепость -свирепою -свирепствует -свисают -свист -свисте -свистела -свисти -свистит -свистки -свистнет -свистнула -свисток -свистя -свита -свиток -свиты -свищешь -свобода -свободе -свободен -свободна -свободная -свободнее -свободно -свободного -свободное -свободной -свободном -свободною -свободную -свободны -свободный -свободным -свободу -свободы -свод -свода -своде -сводил -сводила -сводит -сводить -сводная -сводя -свое -своевольного -своеволья -своевременно -своевременным -своего -своей -своем -своему -своею -свозили -свои -своим -своими -своих -свой -свойски -свойств -свойства -свойствам -свойствах -свойстве -свойственен -свойственная -свойственно -свойственной -свойственную -свойственным -свойство -сворачивал -своротит -своротишь -сворочен -свою -своя -свысока -свыше -свяжем -свяжись -связав -связал -связали -связался -связан -связана -связанную -связанных -связать -связаться -связей -связи -связке -связных -связывала -связывало -связываться -связь -связью -связям -связями -святая -святейшая -святках -святки -свято -святого -святое -святой -святок -святому -святую -святые -святым -святыми -святынею -святыни -святынь -святых -священная -священник -священника -священником -священнику -священной -священную -священный -священным -священных -сгиб -сгибался -сгинешь -сгинула -сгинуть -сгинь -сглаживался -сглазим -сглазить -сглупа -сглупил -сгнил -сгниют -сговаривались -сговариваются -сговорившись -сговорилась -сговорились -сговоримся -сговориться -сговорятся -сгонит -сгоняли -сгоняют -сгорал -сгорало -сгорая -сгорбленные -сгорбленный -сгорел -сгорела -сгорело -сгореть -сгорит -сгоряча -сготовила -сгреб -сгруппировались -сгубил -сгубила -сгубили -сгубило -сгущавшейся -сгущавшихся -сгущались -сгущающейся -сдав -сдавило -сдает -сдается -сдал -сдано -сдать -сдач -сдача -сдачи -сдачу -сдаю -сдаются -сдвигала -сдвинешься -сдвинув -сдвинул -сдвинулась -сдвинулись -сдвинулся -сдвинусь -сдвинуты -сдвинутых -сделав -сделаем -сделает -сделаете -сделается -сделаешь -сделай -сделайте -сделал -сделала -сделалась -сделали -сделались -сделалось -сделался -сделан -сделанная -сделанное -сделанный -сделано -сделаны -сделать -сделаться -сделаю -сделают -сделаются -сделку -сдержав -сдержал -сдержали -сдержанная -сдержанно -сдержанной -сдержанностью -сдержанны -сдержанный -сдержанным -сдержанных -сдержать -сдерживает -сдерживал -сдерживала -сдерживали -сдерживались -сдерживался -сдерживать -сдерживаться -сдерживая -сдерживаясь -сдержу -сдернет -сдернул -сдерут -сдесь -сдобные -сдружусь -сдует -сдурил -се -себе -себя -себятешение -севастополе -севастополь -севастьяныч -севе -север -севера -северного -северной -северный -северу -севшей -сегидилья -сего -сегодня -сегодняшней -сегодняшнему -сегодняшние -сегодняшний -сегодняшняя -седая -седеть -седеют -седея -седла -седлах -седого -седое -седой -седок -седоков -седому -седою -седые -седым -седыми -седых -седьмая -седьмого -седьмом -седьмую -сеет -сезон -сей -сейчас -секи -секирой -секрет -секретами -секретарем -секретарше -секретаршу -секретарь -секретарю -секретаря -секрете -секретного -секретных -секретов -секрету -секреты -сектант -секунд -секундант -секунду -секунды -секут -секучим -секущих -сел -села -селадон -селам -селе -селедка -селедкой -селедку -селения -селенья -сели -селиться -село -селу -сельди -сельский -сельской -сельтерскую -сельцо -селянку -сем -семафор -семафоре -семгой -семейного -семейное -семейной -семейном -семейною -семейные -семейный -семейным -семейных -семейств -семейства -семействе -семейство -семейством -семейству -семен -семена -семени -семенила -семенит -семенов -семенович -семеновича -семеновиче -семеновичем -семеновичу -семеновна -семеновне -семеновной -семеновну -семеновны -семеном -семену -семеныч -семеныча -семи -семидесяти -семидесятых -семик -семика -семилетний -семинарии -семинарист -семинариста -семинаристов -семицветной -семнадцати -семнадцать -семой -семом -сему -семь -семьдесят -семье -семьей -семьи -семьсот -семью -семья -семьянин -семя -сен -сена -сенат -сенате -сенатора -сенатору -сенатским -сенатского -сенату -сеней -сени -сенная -сенной -сенную -сенным -сенных -сено -сеновал -сеновала -сеновале -сеновалу -сенокос -сеном -сентенции -сентенций -сентенциозно -сентенцию -сентенциями -сентиментальности -сентябре -сентябрь -сентября -сень -сенью -сенях -септимия -сера -серафимы -серая -сервирован -сервированный -сергевна -сергевне -сергевну -сергеевич -сергеевна -сергеевне -сергеевной -сергеевну -сергеич -сергию -сердечко -сердечнее -сердечно -сердечного -сердечной -сердечные -сердечный -сердечными -сердечных -сердилась -сердился -сердимся -сердись -сердит -сердита -сердитая -сердитесь -сердито -сердится -сердитый -сердиться -сердишься -сердобольная -сердолики -сердца -сердцами -сердцах -сердце -сердцем -сердцу -сердятся -серебра -серебре -серебристо -серебристые -серебро -серебром -серебряков -серебрякова -серебрякову -серебряная -серебряника -серебряной -серебряную -серебряные -серебряный -серебряным -серебряных -серег -середи -середина -середине -серединных -середину -середины -середы -сережками -сережках -серей -серенькое -сержусь -серий -серо -серовато -серого -серое -серой -сером -серпами -серую -серчал -серы -серые -серый -серыми -серых -серьгами -серьги -серьезная -серьезнее -серьезно -серьезного -серьезное -серьезной -серьезном -серьезною -серьезную -серьезны -серьезные -серьезный -серьезным -серьезных -сестер -сестра -сестрам -сестре -сестрино -сестрину -сестриц -сестрица -сестрице -сестрицей -сестрицу -сестрицы -сестрой -сестру -сестры -сесть -сети -сетка -сетке -сетку -сетовал -сеттиньяно -сеть -сетях -сечет -сечи -сечь -сею -сеют -сея -сжав -сжавшись -сжал -сжала -сжалась -сжалилось -сжались -сжалится -сжалиться -сжало -сжалось -сжался -сжато -сжатую -сжаты -сжатые -сжатый -сжатыми -сжевать -сжег -сжечь -сжигающем -сжимал -сжимала -сжималась -сжимали -сжимались -сжимаю -сжимают -сжимая -сзади -сибарит -сибариты -сибири -сибирке -сибирь -сивиллины -сиволапым -сигар -сигарету -сигарой -сигару -сигары -сигать -сигнал -сидевшая -сидевшего -сидевшему -сидевший -сидевшим -сидел -сидела -сидели -сидело -сиделось -сиденье -сидеть -сиди -сидим -сидит -сидите -сидится -сидишь -сидя -сидят -сидящая -сидящей -сие -сиена -сиенский -сиенского -сижу -сизая -сизой -сизые -сикстинской -сил -сила -силам -силами -силах -силача -силе -силен -силилась -силился -силится -силой -силою -силу -силушки -силуэтом -силы -сильва -сильна -сильная -сильнее -сильней -сильнейшее -сильно -сильного -сильное -сильной -сильном -сильною -сильную -сильны -сильные -сильный -сильным -сильных -силясь -сим -символ -символами -символизма -символизмом -символизму -символистов -символических -симеонов -симеонова -симеоновых -сими -симметрически -симметрично -симпатией -симпатии -симпатичен -симпатичная -симпатичной -симпатичны -симпатичный -симпатию -симпатия -симплон -симптомы -синевой -синеву -синевы -синего -синее -синей -синем -синенькие -синеньким -синенькою -синеокая -синечерною -синеющих -синие -синий -синим -синими -синих -синодальный -синодальных -синонимы -синтаксис -синь -синьора -синьоры -синюю -синяках -синяя -сипел -сипенье -сипеньем -сипеть -сиплая -сипло -сиплую -сиплым -сиплыми -сиреневая -сиреневой -сиреневых -сирени -сиреной -сирень -сирины -сириус -сиропа -сирот -сирота -сиротами -сиротка -сиротливо -сиротливой -сиротские -сиротских -сиротском -сироты -систем -система -систематическом -системе -систему -системы -сите -ситху -ситцевое -ситцевом -ситцевую -ситцевыми -ситцевых -ситцем -сих -сию -сия -сияет -сияешь -сиял -сияла -сияли -сияло -сияние -сиянием -сиянии -сияния -сияньем -сияньи -сиянья -сиятельство -сиять -сияют -сияющей -сияющие -сияющий -сияющими -сияющих -сияющую -скабрезный -скажем -скажет -скажете -скажешь -скажи -скажите -скажу -скажут -сказ -сказав -сказавшись -сказал -сказала -сказали -сказались -сказалось -сказаль -сказаниям -сказаниями -сказанного -сказанное -сказанном -сказанные -сказанный -сказано -сказаны -сказать -сказка -сказкам -сказками -сказках -сказке -сказки -сказку -сказок -сказочник -сказочный -сказывай -сказывайте -сказывал -сказывала -сказывали -сказывать -сказываться -скакал -скакала -скаканье -скаканьем -скаканья -скакать -скакнет -скакнуть -скал -скалами -скалдырничество -скале -скалистый -скалить -скалишь -скалкой -скалой -скалою -скалу -скалы -скальда -скалясь -скамеечка -скамеечке -скамеечку -скамей -скамейка -скамейке -скамейки -скамейку -скамье -скамьи -скамью -скамья -скамьях -скандал -скандалезнейшем -скандалезное -скандализируя -скандально -скандальному -скандируя -сканированный -скаредной -скаредном -скаредную -скатерти -скатерть -скатертью -скатилась -скача -скачет -скачка -скачков -скважине -скважину -скверен -скверная -сквернее -сквернейшего -сквернейшим -скверно -скверное -скверном -скверность -скверные -скверный -скверным -скверных -сквозила -сквозит -сквозить -сквозного -сквозняках -сквозь -сквозя -сквозящий -скворцов -скворцом -скворцы -скелет -скептик -скидывать -ский -скинет -скинуть -скиньте -скит -скитайся -скитались -скитался -скитальцам -скитальцев -скитальцу -скитанья -скитаться -скитов -скиты -склад -склада -складам -складенные -складка -складках -складке -складки -складкой -складку -складно -складной -складок -складываете -складывались -складывая -склепе -склона -склоне -склонен -склоненный -склони -склонив -склонившейся -склонившись -склонил -склонила -склонилась -склонили -склонилось -склонился -склоним -склонится -склонить -склонность -склонны -склону -склоню -склоняет -склоняется -склоняла -склонялись -склонясь -склоняюсь -склоняют -склоняющийся -склоняясь -склубясь -склянка -склянками -склянки -скобками -скобках -сковород -сковорода -сковороде -сковородке -сковороду -сковороды -сковывал -ского -ской -сколотились -сколоченной -сколоченных -сколь -скользила -скользит -скользить -скользкие -скользких -скользкой -скользнет -скользнул -скользнула -скользнуло -скользнуть -скользя -скользят -скользящей -скользящий -скольких -сколько -скольку -ском -скомкала -скомканная -скомканное -скомпрометировать -сконфуженно -сконфуженный -сконфужены -сконфузившаяся -сконфузившийся -сконфузившись -сконфузилась -сконфузился -сконфузит -сконфузитесь -скончался -скопившегося -скопившейся -скопить -скопленных -скоплено -скорбей -скорбеть -скорби -скорбит -скорбная -скорбного -скорбное -скорбной -скорбную -скорбь -скорбя -скорбями -скорее -скорей -скоренько -скорлупами -скорлупу -скорлупы -скорняки -скоро -скорого -скороговорке -скороговоркой -скорое -скорой -скором -скорому -скоропостижно -скорчившись -скорый -скорым -скорыми -скосил -скот -скота -скотина -скотининых -скотины -скотнице -скотницу -скотный -скотоводство -скотта -скошенную -скошено -скрадывала -скрасить -скребет -скребла -скрежет -скрежета -скрежетал -скрежеща -скрежещущий -скрепил -скрепилась -скрепился -скрестив -скрестил -скривив -скривил -скривило -скривя -скрижали -скрижалями -скрип -скрипач -скрипел -скрипели -скрипи -скрипит -скрипка -скрипкам -скрипками -скрипке -скрипки -скрипкой -скрипнула -скрипок -скрипом -скрипу -скрипучие -скрипучий -скрипучим -скрипят -скроем -скроен -скроет -скроется -скромен -скромная -скромно -скромной -скромности -скромною -скромную -скромные -скромный -скрутило -скручена -скрыв -скрываемая -скрываемого -скрываемых -скрывает -скрываете -скрываешься -скрывайся -скрывал -скрывалась -скрывали -скрывались -скрывать -скрываться -скрываю -скрываются -скрывая -скрываясь -скрыл -скрыла -скрылась -скрыли -скрылись -скрылся -скрыпя -скрыт -скрыта -скрытна -скрытном -скрыто -скрытой -скрытому -скрытою -скрытую -скрыты -скрытый -скрытых -скрыть -скрыться -скрючившись -скрючился -скряга -скуден -скудной -скудном -скудную -скудны -скудный -скует -скука -скуке -скуки -скукой -скуку -скулах -скулистое -скульптору -скуп -скупа -скупает -скупал -скупо -скупости -скупость -скупцом -скупы -скучает -скучаете -скучаешь -скучай -скучал -скучала -скучать -скучаю -скучают -скучающему -скучая -скучен -скученное -скучища -скучна -скучная -скучнее -скучнейшие -скучно -скучного -скучное -скучной -скучном -скучную -скучны -скучные -скучный -скушали -скую -слаб -слаба -слабая -слабее -слабеет -слабел -слабенькая -слабенькие -слабенькою -слабея -слабо -слабого -слабое -слабой -слабом -слабонервная -слабосилие -слабости -слабостию -слабость -слабостями -слабою -слабы -слабые -слабый -слабым -слабыми -слабых -слава -славе -славит -славить -славная -славненькая -славно -славном -славны -славные -славный -славным -славных -славой -славу -славы -славянофил -славянский -славянском -слагает -слагается -сладить -сладишь -сладкая -сладкие -сладкий -сладким -сладких -сладко -сладкое -сладкой -сладкою -сладок -сладостно -сладостное -сладостной -сладостных -сладострастие -сладострастием -сладострастного -сладострастный -сладость -сладчайший -сладчайшую -слаж -слаженный -сластию -сласть -слать -слаще -слева -слег -слегка -слегла -след -следа -следам -следами -следившего -следил -следила -следили -следим -следит -следите -следить -следов -следовал -следовала -следовали -следовало -следователей -следователи -следователь -следовательно -следователю -следователя -следователями -следовать -следственно -следственных -следствие -следствии -следствия -следует -следующее -следующей -следующем -следующие -следующий -следующих -следующую -следуя -следы -следя -следят -следящий -слежу -слез -слеза -слезам -слезами -слезах -слезинками -слезинки -слезла -слезно -слезой -слезши -слезы -слезьми -слеп -слепа -слепнуть -слепо -слепого -слепой -слепому -слепота -слепоте -слепы -слепых -слепя -слепящей -слесарное -слесаря -слесарями -слетает -слетала -слетаю -слетел -слетели -слетело -слететь -слетит -слив -сливаешься -сливались -сливалось -сливался -сливами -сливках -сливки -сливок -сливочками -слившиеся -слилась -слились -слипаются -слитых -слить -слиться -сличить -слишком -слиянием -слов -слова -словам -словами -словаре -словах -слове -словесная -словесное -словечка -словечкам -словечки -словечко -словно -слово -словом -словоохотливо -словоохотливый -словоохотнее -слову -словцо -слог -слога -слоге -слогом -слоев -слоем -сложа -сложен -сложена -сложение -сложения -сложенного -сложенную -сложенный -сложенными -сложены -сложив -сложившиеся -сложил -сложилась -сложили -сложились -сложился -сложиль -сложим -сложить -сложиться -сложнее -сложно -сложного -сложный -сложных -слоистому -слоистые -сломал -сломалась -сломали -сломались -сломана -сломать -сломают -сломила -сломили -сломит -сломя -слоновой -слоняюсь -слою -слоями -слуг -слуга -слугам -слугами -слуги -слугой -служака -служаки -служанка -служанкам -служанке -служанки -служат -служащего -служащий -служб -служба -службе -службой -службу -службы -служебные -служение -служения -служи -служившая -служившей -служивший -служившую -служивый -служил -служила -служили -служились -служим -служит -служите -служить -служишь -служу -слух -слуха -слухи -слухом -слуху -случа -случае -случаев -случаем -случается -случаи -случай -случайная -случайно -случайного -случайное -случайной -случайному -случайностей -случайности -случайность -случайностью -случайностями -случайною -случайные -случайный -случайным -случайных -случались -случалось -случался -случаю -случаются -случая -случаям -случаях -случившееся -случившемся -случившимся -случилась -случились -случилось -случился -случись -случится -случиться -слушавшая -слушавшей -слушавшие -слушавший -слушает -слушаете -слушается -слушаешь -слушай -слушайся -слушайте -слушал -слушала -слушалась -слушали -слушался -слушателе -слушателей -слушатель -слушательниц -слушателя -слушателями -слушать -слушаю -слушаюсь -слушают -слушающей -слушая -слывя -слыл -слыла -слыхав -слыхал -слыхала -слыхали -слыханное -слыхано -слыхать -слыхивал -слыхивала -слыхивали -слыхом -слыша -слышал -слышала -слышалась -слышали -слышались -слышалось -слышался -слышамши -слышанное -слышанные -слышанный -слышат -слышатся -слышать -слышен -слышим -слышит -слышите -слышится -слышишь -слышна -слышнее -слышней -слышно -слышны -слышный -слышным -слышу -слышь -слюбится -слягу -слякоть -смазанные -смазано -смазаны -смазать -смазлива -смазные -смак -смастерила -сматывалось -смахнет -смахнул -смахнула -смеет -смеете -смеетесь -смеется -смеешь -смеешься -смеженные -смежил -смежную -смей -смейся -смейте -смейтесь -смекали -смекнул -смел -смела -смелая -смелее -смелей -смели -смело -смелой -смелость -смелостью -смелую -смелы -смелые -смелый -смелым -смель -смене -смени -сменил -сменились -сменилось -сменился -сменится -сменить -смену -сменяемых -сменяла -сменялась -сменялись -сменялось -сменять -сменяются -смердит -смерить -смеркается -смеркаться -смерклось -смертей -смертельно -смертельною -смертельную -смертельных -смерти -смертию -смертная -смертного -смертной -смертном -смертную -смертный -смертным -смертоубийству -смерть -смертью -смерч -смести -смесь -сметаешь -сметал -сметания -сметаной -сметаны -смети -сметливая -смету -сметы -сметь -смех -смеха -смехе -смехом -смеху -смешавшись -смешал -смешала -смешалась -смешались -смешанные -смешанный -смешения -смешивал -смешивала -смешивался -смешиваясь -смешил -смешит -смешить -смешлив -смешливая -смешливого -смешливых -смешная -смешнее -смешно -смешного -смешное -смешной -смешную -смешны -смешные -смешным -смешными -смешон -смею -смеюсь -смеют -смеются -смеющееся -смеющейся -смеющиеся -смеющимися -смея -смеялась -смеялись -смеялось -смеялся -смеясь -смеяться -смигнув -смирен -смиренен -смирением -смиренная -смиренней -смиреннейший -смиренно -смирит -смирительный -смирится -смириться -смирно -смирному -смирные -смирный -смирных -смирю -смирялась -смирялся -смиряются -смог -смогла -смогли -смогу -смоет -сможем -сможет -смоле -смоленском -смолист -смолк -смолкает -смолкай -смолкали -смолкло -смолкнет -смолой -смолол -смолчал -смольный -сморил -сморила -сморкается -сморкался -смородинной -смородинном -смородинную -смородинные -смородинным -смородиновку -смородиновой -смородиновую -сморозил -сморщенной -сморщены -сморщившись -сморщится -смотр -смотревшего -смотревшее -смотревшей -смотревшую -смотрел -смотрела -смотрели -смотрело -смотрель -смотреть -смотри -смотрим -смотрит -смотрите -смотрителя -смотрится -смотришь -смотрю -смотря -смотрят -смочена -смоченную -смочены -смою -смрад -смрадною -смрадную -смрадом -смуглая -смугловатый -смуглое -смуглом -смуглою -смуглые -смуглый -смуглым -смуглых -смутен -смутившись -смутила -смутилась -смутился -смутить -смутно -смутное -смутной -смутном -смутные -смутный -смутным -смутных -смутясь -смущавшей -смущает -смущается -смущайся -смущал -смущала -смущали -смущались -смущался -смущать -смущаться -смущаю -смущаюсь -смущаясь -смущен -смущена -смущение -смущением -смущении -смущения -смущенная -смущенно -смущенный -смущенным -смущеньи -смущенья -смываешь -смывать -смывая -смыкала -смыкая -смысл -смысла -смысле -смыслит -смыслишь -смыслом -смыслу -смысль -смысля -смыслят -смытый -смыть -смычкам -смычки -смычок -смягчают -смягчающие -смягчая -смягчению -смягчившись -смягчился -смягчить -смял -смят -смятение -смятенная -смятенье -смятеньи -смятой -смятые -смятый -сна -снабжает -снадобья -снам -снами -снаружи -снастью -снах -сначала -сне -снег -снега -снегами -снеговая -снеговой -снеговою -снеговую -снегом -снегу -снедает -снедающий -снедая -снежинок -снежки -снежком -снежку -снежная -снежно -снежной -снежном -снежному -снежную -снежные -снежный -снежных -снес -снесем -снесешь -снеси -снесите -снесла -снести -снизойти -снизошла -снизу -снилась -снились -снилось -снился -снимает -снимаете -снимаешь -снимала -снималась -снимали -снимать -снимаю -снимают -снимая -снимет -снимитесь -сниму -снисходителен -снисходительна -снисходительная -снисходительно -снисходительного -снисходительной -снисходительном -снисходительностью -снисходительною -снисходительную -снисходительным -снисхождение -снисхождением -снисхождения -снится -сниться -снов -снова -сновал -сновать -сновидений -сновидцу -сном -сноп -снопы -сноровки -сносили -сносить -сносное -сносному -сносные -сносный -сношение -сношений -сношения -сну -снурке -снурку -снурок -снуют -снующих -сны -снюхались -снял -сняла -сняли -снят -снята -снято -снятся -снять -со -собак -собака -собакам -собаками -собаке -собаки -собаку -собачий -собачкой -собачонка -собачонку -собачонок -собачьей -собачьи -собачьих -соберет -соберется -соберу -соберусь -соберутся -собеседника -собеседниками -собеседников -собеседником -собираемся -собирает -собираетесь -собирается -собираешь -собираешься -собирала -собиралась -собирали -собирались -собирался -собирательным -собирателя -собирать -собираться -собираюсь -собираются -собираясь -соблазненная -соблазнитель -соблазнительная -соблазнительно -соблазнительное -соблазнительною -соблазнительную -соблазнительные -соблазнительным -соблазнительных -соблазнителям -соблазнить -соблазнял -соблазняю -соблазняют -соблазняя -соблюдал -соблюдаю -соблюдения -соблюсти -собой -соболезнованием -соболезнуя -собор -собора -соборе -собору -собою -собрав -собравшийся -собравшимися -собравшись -собравшихся -собрал -собралась -собрали -собрались -собрался -собран -собрание -собрании -собранию -собрания -собранье -собрат -собрать -собраться -собственная -собственно -собственного -собственное -собственной -собственном -собственному -собственноручно -собственноручное -собственность -собственную -собственные -собственный -собственным -собственными -собственных -событие -событии -событий -события -событиям -событиями -событиях -собьет -собьешь -собьешься -собьют -сова -совал -соваться -совершаемой -совершает -совершается -совершал -совершала -совершались -совершалось -совершать -совершаются -совершающиеся -совершения -совершенная -совершеннейшем -совершеннейший -совершенно -совершенного -совершенное -совершеннолетия -совершенном -совершенному -совершенною -совершенный -совершенным -совершенными -совершенных -совершено -совершенства -совершенство -совершенствуя -совершившийся -совершил -совершила -совершилось -совершит -совершить -совести -совестился -совестится -совестливо -совестно -совесть -совестью -совет -совета -советами -совете -советник -советника -советники -советником -советнику -советов -советовал -советовала -советовались -советовался -советовать -советоваться -советом -совету -советует -советуйте -советуют -советы -совещались -совещание -совещаться -совиные -совладал -совладеть -совлечет -совмещаются -совокупного -совокупность -совпадает -совпадать -совпадение -совпадением -совпадений -совпало -соврав -соврал -совралась -соврать -современно -современного -современное -современный -современными -соврешь -совсем -совьется -согбен -согбенный -согласен -согласие -согласии -согласилась -согласились -согласился -согласись -согласитесь -согласится -согласиться -согласишься -согласия -согласна -согласная -согласно -согласны -согласный -согласятся -соглашаетесь -соглашается -соглашалась -соглашались -соглашался -соглашаться -соглашаюсь -соглашение -соглашении -соглашусь -соглядатай -согнать -согнется -согнув -согнувшись -согревать -согреваться -согрелась -согрет -согрето -согреться -согрешил -согрешишь -согрею -содержал -содержание -содержанием -содержании -содержания -содержатель -содержать -содержит -содом -содрал -содрогалась -содрогался -содроганием -содрогания -содрогнется -содрогнулся -содрогнуться -соды -соединенную -соединенным -соединил -соединилась -соединилось -соединимся -соединить -соединяющая -сожалел -сожаление -сожалением -сожалению -сожаления -сожаленья -сожалеть -сожалею -сожалея -сожгло -сожжен -сожжена -сожженные -сожженный -сожжено -сожителе -сожительницы -сожителя -сожмет -созвал -созваны -созвездиям -созвучий -создавали -создавать -создал -создала -создан -создана -создание -созданием -созданию -создания -созданная -созданного -созданной -созданном -созданную -созданный -созданным -создано -созданы -созданьем -созданья -создательница -создать -создают -создающими -созерцание -созерцании -созерцания -созерцательной -созерцать -сознав -сознавал -сознавала -сознавалось -сознавать -сознаваться -сознавая -сознает -сознаетесь -сознается -сознайся -сознайтесь -сознал -сознала -сознался -сознание -сознанием -сознании -сознанию -сознания -сознанье -сознаньем -сознанья -сознательная -сознательнее -сознательно -сознательные -сознательным -сознательных -сознать -сознаться -сознаю -сознаюсь -сознаются -созревает -созревало -созревшей -созреет -созрел -созрела -созрели -созрело -созреть -созывали -сойдемся -сойдет -сойдется -сойдешь -сойду -сойдусь -сойдутся -сойдясь -сойти -сойтись -сок -сока -соки -сокол -соколиными -соколов -соколы -сократить -сокращают -сокращение -сокращения -сокращены -сокровенные -сокровенный -сокровенных -сокровищ -сокровища -сокровище -сокройся -сокрушаться -сокрушением -сокрытый -солгал -солгать -солгу -солдат -солдата -солдатам -солдатка -солдатом -солдатскими -солдатское -солдатской -солдаты -солений -соленого -соленому -соленый -соленым -соленье -соленья -солжет -соли -солиднее -солиднейший -солидно -солидной -солидному -солидностью -солидный -солидным -солидными -солнечно -солнечного -солнечной -солнечный -солнечным -солнечных -солнца -солнце -солнцем -солнцу -солнышко -соловей -соловьев -соловьи -соловьиная -соловьиного -соловьином -соловьиный -соловья -солома -соломе -соломенной -соломинку -солонами -солонину -солонины -солонка -солонкой -солонку -соль -сольнес -сольнеса -солью -сольются -сом -сомкнет -сомкни -сомкнутых -сомкнуть -сомневаетесь -сомневаешься -сомневайтесь -сомневался -сомневаться -сомневаясь -сомнение -сомнением -сомнений -сомнению -сомнения -сомнениями -сомнителен -сомнительная -сомнительно -сомнительного -сон -соне -соней -сонетку -сонечка -сонечке -сонечки -сонечкин -сонечкина -сонечкиной -сонечкой -сонечку -сони -сонина -сонливости -сонливые -сонм -сонмы -сонная -сонник -сонно -сонного -сонное -сонной -сонному -сонною -сонную -сонные -сонный -сонным -сонными -сонных -сонь -соню -сонюшка -соня -соображает -соображал -соображали -соображать -соображаю -соображают -соображая -соображение -соображений -соображения -соображениям -соображениях -сообразив -сообразившись -сообразил -сообразила -сообразит -сообразите -сообразить -сообразишь -сообразно -сообразные -сообразный -сообразят -сообщает -сообщается -сообщала -сообщались -сообщать -сообщаю -сообщая -сообщению -сообщено -сообщества -сообщи -сообщил -сообщила -сообщили -сообщился -сообщим -сообщите -сообщительнее -сообщительный -сообщить -сообщу -соответственного -соответствовала -соответствует -соответствующими -соперник -соперника -соперников -соперницы -соперничать -сопеть -сопит -сопля -сопляк -сопоставить -сопоставление -сопоставлении -сопоставлять -соприкасались -соприкосновений -соприкосновения -сопричастные -сопровождаемая -сопровождаемое -сопровождаемый -сопровождает -сопровождается -сопровождала -сопровождалась -сопровождался -сопровождать -сопровождаться -сопровождают -сопровождении -сопротивление -сопротивлений -сопротивлялась -сопротивлялся -сопротивляться -сопряженные -сопутников -сопутствовал -сопутствующих -сопят -сор -соразмеряла -соратник -сорвал -сорвала -сорвалась -сорвали -сорвалось -сорвался -сорвана -сорванец -сорванным -сорвать -сорвет -сорвется -сорившему -сорила -сорин -сорина -сорину -сориным -сорить -сорная -сорок -сорока -сорокалетний -сороковой -сороковых -сором -соромники -сорта -сортировок -сортов -сору -сосал -сосед -соседа -соседей -соседи -соседнего -соседней -соседних -соседняя -соседстве -соседство -соседству -соседу -соседям -сосен -сосет -соси -соскандалит -соскочил -соскочить -соскучились -соскучился -соскучитесь -соскучишься -сослаться -сословия -сослуживец -сослуживцев -сослуживцу -сослуживцы -сосновка -сосновке -сосновки -сосновый -сосну -соснул -соснуть -сосны -сосредоточеннее -сосредоточенное -сосредоточенной -сосредоточенности -сосредоточенность -сосредоточенный -сосредоточенным -сосредоточены -сосредоточивалось -сосредоточивался -сосредоточивая -сосредоточившихся -сосредоточилась -сосредоточилось -сосредоточится -сосредоточить -сосредоточиться -состав -составе -составил -составила -составили -составит -составится -составить -составишь -составлен -составлял -составляли -составлялись -составляло -составлять -составляю -составляют -составляющих -составов -состареюсь -состарившимся -состарилась -состарилось -состарился -состариться -состоим -состоит -состоите -состоится -состоишь -состою -состоявшийся -состоял -состояла -состоялись -состояло -состоялось -состоялся -состояние -состоянием -состоянии -состояний -состоянию -состояния -состоять -состоящая -сострадай -сострадание -состраданием -сострадания -сострить -состряпала -состряпали -состязались -сосуд -сосуде -сосульках -сосчитав -сосчитает -сосчитаешь -сосчитал -сосчитала -сосчитать -сот -сотая -сотворил -соткать -соткутся -сотни -сотню -сотри -сотрясался -сотрясающий -сотрясая -сотрясения -сотый -соус -соусниками -соусов -соусу -софа -софе -софи -софистика -софой -софочка -софочкой -софочку -софье -софьей -софьи -софью -софья -сохнут -сохранение -сохранения -сохрани -сохранившее -сохранившиеся -сохранившийся -сохранившими -сохранившихся -сохранил -сохранилась -сохранились -сохранился -сохранить -сохранишь -сохранявшегося -сохраняет -сохраняете -сохраняется -сохранял -сохраняло -сохраняют -сохраняя -соху -социалистов -социальная -социального -социальную -социальные -социальный -социальных -соцьялизме -сочетаешь -сочетались -сочинена -сочинение -сочинении -сочинений -сочинения -сочинениях -сочинился -сочиниль -сочинителей -сочинители -сочинитель -сочинителя -сочинить -сочиняли -сочинять -сочиняю -сочиняют -сочла -сочли -сочная -сочной -сочтены -сочтет -сочтите -сочувственно -сочувствий -сочувствию -сочувствия -сочувствовал -сочувствовать -сочувствую -сочувствующий -сочувствуя -сошедшихся -сошел -сошелся -сошла -сошлась -сошлется -сошли -сошлись -сошло -сошлось -сошлются -сошьет -сошью -сощуришь -сощуря -спавшего -спавший -спадать -спадающая -спадая -спадет -спазму -спал -спала -спалена -спаленных -спали -спало -спалось -спальне -спальней -спальни -спальной -спальню -спальня -спанье -спанья -спаржа -спаржи -спаржу -спас -спасаешь -спасала -спасалась -спасем -спасен -спасение -спасением -спасения -спасенный -спасенных -спасены -спасенье -спасенья -спасет -спаси -спасибо -спасите -спасительнейшее -спасительницы -спасительно -спасительного -спасительной -спасительный -спасся -спасти -спастись -спасу -спасши -спать -спаяешь -спб -спектакль -спектакля -спекулянт -спела -спеленутое -спели -спелое -сперва -спереди -сперлось -спермацетной -спертый -спесивая -спеть -специальности -специальный -спеша -спешат -спешащих -спеши -спешил -спешила -спешили -спешит -спешите -спешить -спешишь -спешу -спи -спим -спина -спине -спинка -спинке -спинкой -спинку -спинного -спинном -спиной -спиною -спину -спины -спирается -спиралось -спиралью -спиридоныч -спиридоныча -спирт -спирта -спиртами -спирту -спирты -списки -списков -список -спит -спите -спитой -спится -спитым -спицей -спицы -спичей -спичек -спичка -спички -спишь -сплав -сплело -сплелось -сплести -сплетен -сплетенных -сплетеньи -сплетней -сплетни -сплетник -сплетня -сплетутся -сплин -сплошным -сплошь -сплю -спляши -сподручница -сподряд -споем -споемте -споет -спой -спойте -спокоен -спокой -спокойна -спокойная -спокойнее -спокойно -спокойного -спокойное -спокойной -спокойном -спокойною -спокойный -спокойным -спокойствие -спокойствием -спокойствии -спокойствию -спокойствия -сполетском -сполз -сползает -сползаю -сползая -сполна -спор -спора -спорах -споре -спорил -спорили -спорим -спорит -спорится -спорить -споришь -спорную -споров -спору -споры -спорю -споря -спорят -способ -способами -способе -способен -способна -способнее -способно -способное -способностей -способности -способность -способностью -способностям -способностями -способностях -способны -способные -способный -способным -способных -способом -способствовал -способствовала -способствовало -способствовать -способствует -способу -споспешествования -споткаюсь -споткнулась -споткнулись -спотыкаясь -спохватившись -спохватился -спою -справа -справедлива -справедливая -справедливее -справедливей -справедливо -справедливое -справедливом -справедливости -справедливость -справедливостью -справедливые -справится -справить -справиться -справишься -справки -справляйтесь -справлялась -справлялся -справляться -справляю -справок -справочку -справьтесь -справят -спрашивает -спрашиваете -спрашиваешь -спрашивай -спрашивайте -спрашивал -спрашивала -спрашивали -спрашивать -спрашиваю -спрашивают -спрашивая -спро -спровадить -спрос -спроси -спросив -спросил -спросила -спросили -спросим -спросит -спросите -спросить -спросишь -спросонья -спросят -спрошу -спруты -спрыгну -спрыгнувших -спрыгнул -спрятав -спрятал -спрятала -спряталась -спрятали -спрятались -спрятался -спрятана -спрятанный -спрятано -спрятаны -спрятать -спрятаться -спрячется -спрячусь -спрячьте -спугнет -спугнув -спугнул -спугнуть -спуск -спускавшая -спускавшаяся -спускает -спускал -спускала -спускалась -спускать -спускаться -спускаю -спуская -спускаясь -спустившись -спустил -спустила -спустились -спустился -спустим -спустить -спуститься -спустя -спутал -спутан -спутанных -спутник -спутника -спутники -спутнику -спущены -спущу -спьяна -спьяну -спят -спятил -спящего -спящей -спящие -спящий -спящим -спящих -спящую -сравнен -сравнение -сравнении -сравнения -сравнивать -сравнила -сравнительно -сравниться -сражает -сражается -сражениях -сраженный -сразу -срам -срама -срамил -срамила -срамится -срамить -срамишься -сребреников -сребристой -сребристый -сребристым -среда -средам -среде -среди -средиземном -средине -средины -среднего -средней -среднем -средний -средним -средних -среднюю -средой -средств -средства -средствами -средствах -средствие -средство -средством -средству -среду -среды -средь -срезал -срезала -срезана -срезать -сродни -срок -срока -сроках -сроке -сроки -сроком -сруб -срубить -срывает -срываешь -срывался -срывая -срываясь -сряду -ссадил -ссиня -ссор -ссора -ссорами -ссоре -ссорилась -ссорились -ссорился -ссоримся -ссорится -ссориться -ссору -ссорятся -ссылалась -ссылался -ссылают -ссылаясь -ссылка -ссылками -ссылке -ссылки -ссылкой -ссыльно -ссыльные -ссыпано -ста -став -ставало -ставил -ставила -ставились -ставило -ставит -ставите -ставить -ставка -ставлю -ставней -ставни -ставнями -ставших -ставь -ставьте -ставя -ставят -ставятся -стад -стада -стадвадцатипятирублевой -стадом -стай -стакан -стакана -стаканами -стакане -стаканов -стаканом -стаканчик -стаканчика -стаканчиками -стаканчики -стаканчику -стаканы -стакнулся -стал -стала -стали -сталкивала -сталкиваться -сталкиваются -сталкивающихся -сталкиваясь -стало -сталось -сталь -стальная -стальном -стальным -стальными -стальных -сталью -стами -стан -стана -стане -станем -станет -станете -станется -станешь -станислава -станке -становившиеся -становилась -становились -становилось -становился -становимся -становитесь -становится -становитца -становиться -становишься -становлюсь -становьем -становясь -становятся -станом -стану -станут -станцией -станции -станцию -станция -стань -станьте -стар -стара -стараетесь -старается -старалась -старались -старался -старанием -старания -стараниям -стараниями -стараться -стараюсь -стараются -старая -стараясь -старее -стареем -стареемся -стареньком -старец -стареющей -стареющий -старик -старика -старикам -стариками -старики -стариков -старику -старилась -старина -старине -старинная -старинное -старинной -старинном -старинному -старинную -старинные -старинный -старинным -старинными -старину -старины -старится -старичка -старичке -старички -старичок -старичонка -старо -старого -старое -старой -старом -старому -староста -старосте -старости -старостой -старосту -старосты -старость -старою -старух -старуха -старухе -старухи -старухина -старухиной -старухиному -старухиною -старухину -старухины -старухиными -старухой -старуху -старушечий -старушечьим -старушка -старушками -старушке -старушки -старушкой -старушку -старушонка -старушонке -старушонки -старушонку -старушонок -старую -старца -старцем -старцы -старческий -старческом -старческому -старшая -старше -старшей -старшенькая -старшею -старшие -старший -старшим -старших -стары -старые -старый -старым -старыми -старых -стаскивал -статей -статейка -статейки -статейку -статен -стати -статистикой -статная -статочное -статские -статский -статским -статского -статуй -статую -статуя -стать -статье -статьи -статься -статью -статья -статьях -сташная -стащил -стащила -стащит -стащить -стаю -стая -ствола -стволов -стеблях -стеганые -стегнула -стезя -стекавшую -стекла -стеклами -стеклах -стекле -стекло -стеклом -стеклу -стеклянная -стеклянную -стеклянные -стеклянный -стеклянным -стеклярус -стелется -стелющемся -стелятся -стемнело -стен -стена -стенам -стенами -стенанье -стенах -стене -стенке -стенкой -стенку -стенные -стенных -стеной -стену -стены -степанида -степаниду -степанов -степеней -степени -степенно -степень -степи -степная -степной -степном -степную -степным -степных -степь -степью -степями -степях -стер -стерва -стерегла -стерегли -стерегут -стережет -стереотипном -стереотипных -стереть -стеречь -стерляжьей -стерпел -стерт -стертых -стеснений -стесненная -стесненно -стесненное -стесненной -стеснены -стеснило -стеснилось -стеснительно -стеснить -стесняет -стесняйтесь -стеснял -стеснялись -стеснялся -стеснять -стесняя -стесняясь -сти -стиле -стилистические -стиль -стимер -стирает -стирал -стирался -стирать -стираю -стирка -стискивал -стиснув -стиснул -стиснула -стих -стиха -стихает -стихами -стихах -стихе -стихи -стихии -стихий -стихийных -стихию -стихия -стихли -стихов -стихотворений -стихотворения -стихотворца -стлал -стлалась -стлив -сто -стога -стогами -стоил -стоила -стоили -стоило -стоим -стоит -стоите -стоить -стоическою -стоишь -стой -стойке -стойкой -стойло -стойте -стол -стола -столами -столах -столб -столба -столбик -столбняк -столбняка -столбов -столбовой -столе -столетии -столетий -столетний -столечко -столик -столика -столиках -столике -столики -столиков -столиком -столица -столице -столицу -столицы -столичный -столкновений -столкнувшись -столкнулась -столкнулись -столкнулся -столковались -столов -столовая -столовой -столовую -столовый -столовых -столом -столпами -столпившихся -столпилась -столпился -столпы -столу -столы -столыпин -столь -стольких -столько -стольку -столяра -стон -стона -стонал -стонала -стонам -стонами -стонет -стонов -стоном -стонут -стоны -стопами -стоптанные -стоптанных -стопы -сторговались -сторож -сторожа -сторожевой -сторожей -сторожило -сторожит -сторожу -сторон -сторона -сторонам -стороне -сторонись -сторонитесь -сторонке -сторонкой -стороной -сторону -стороны -сторублевого -сторублевый -стотысячной -стотысячную -стошнило -стою -стоя -стоявшая -стоявшего -стоявшей -стоявшему -стоявший -стоявших -стоявшую -стоял -стояла -стояли -стояло -стоят -стоять -стоячею -стоячим -стоящего -стоящими -стравить -страдаем -страдает -страдай -страдал -страдала -страдали -страдало -страдальнее -страдальчески -страдальческого -страдание -страданием -страдании -страданий -страданию -страдания -страданиях -страданье -страданьем -страданьице -страданью -страданья -страдать -страдаю -страдающего -страдающий -страдая -страж -страже -стражей -стражем -стражу -стран -страна -странах -стране -странен -страниц -страница -страницам -странице -страницу -страницы -странная -страннее -странник -страннику -странно -странного -странное -странной -странном -странному -странностей -странности -странность -странною -странную -странны -странные -странный -странным -странными -странных -страной -странствий -странствовали -странствуя -страны -страстей -страсти -страстишек -страстию -страстная -страстно -страстного -страстное -страстной -страстном -страстною -страстную -страстные -страстный -страстным -страстными -страстных -страсть -страстью -страстям -страстями -страусового -страусовым -страх -страха -страхами -страхе -страхи -страхов -страхом -страху -страшась -страшен -страшишься -страшна -страшная -страшнее -страшней -страшно -страшного -страшное -страшной -страшном -страшною -страшную -страшны -страшные -страшный -страшным -страшных -стращай -стращал -стрекоз -стрекозу -стрекочет -стрел -стрела -стреле -стрелка -стрелой -стрелочника -стрелы -стрельба -стрельбы -стреляет -стреляй -стреляйте -стреляли -стрелялся -стрелять -стремглав -стремился -стремит -стремительно -стремительной -стремится -стремиться -стремление -стремлении -стремлений -стремления -стремлениями -стремя -стремят -стремятся -стриженая -стриженых -стриндберга -стричь -строга -строгая -строги -строгие -строгий -строгим -строгими -строгих -строго -строгого -строгое -строгой -строгом -строгому -строгости -строгостию -строгость -строгостью -строгою -строгую -строевой -строевых -строем -строен -строже -строитель -строить -строиться -строй -стройка -стройкой -стройку -стройная -стройно -стройной -стройные -стройный -строк -строкам -строках -строки -строку -строптивый -строчить -строчка -строчки -строчку -строя -строят -строящегося -струею -струи -струилась -струится -струиться -струйках -струйкой -струн -струна -струнам -струне -струнно -струну -струны -струсив -струсившего -струсил -струсила -струсили -струсит -струю -струя -струями -струящей -струящийся -стряслась -стряхивала -стряхнул -стряхнуть -сту -студенистой -студеной -студент -студента -студенте -студентиком -студентом -студенту -студенты -студенческим -студенческих -студенческое -студенческом -студень -стужа -стуже -стужи -стужу -стук -стука -стукавшее -стукал -стукало -стуканием -стуканьем -стукаюсь -стукаясь -стукнет -стукнешься -стукнув -стукнувшись -стукнул -стукнула -стукнуло -стукнулся -стукнут -стуком -стуку -стул -стула -стуле -стулом -стульев -стулья -стульям -стульями -стульях -ступает -ступай -ступайте -ступал -ступающей -ступеней -ступени -ступень -ступенькам -ступеньках -ступеньке -ступеньки -ступенькой -ступеням -ступил -ступила -ступили -ступит -ступить -ступкой -ступку -стуча -стучавших -стучал -стучалась -стучали -стучались -стучало -стучался -стучась -стучат -стучатся -стучать -стучащаяся -стучи -стучись -стучит -стучится -стучишь -стучусь -стушевался -стушевываться -стыд -стыда -стыдил -стыдилась -стыдился -стыдись -стыдитесь -стыдится -стыдиться -стыдлив -стыдлива -стыдливая -стыдливо -стыдливого -стыдливое -стыдливой -стыдливом -стыдливости -стыдливость -стыдливый -стыднее -стыдно -стыдом -стыду -стыдя -стыдясь -стыдящийся -стыдящуюся -стыжу -стыжусь -стыл -стынет -стяг -стяга -стягивает -стягивать -стяжал -стянул -стянута -стянутая -су -суббота -субботе -субботу -субъект -субъектами -субъектом -сугробе -сугробы -сугубо -сугубым -суд -суда -судака -сударыня -сударь -суде -судеб -судебной -судебному -судебные -судебными -судейски -судейские -судейский -суди -судил -судите -судить -судишь -судия -судки -судом -судопроизводства -судопроизводство -судорог -судорога -судорогами -судороги -судорогой -судорожно -судорожного -судорожной -судорожным -суды -судырь -судьба -судьбами -судьбе -судьбинский -судьбой -судьбою -судьбу -судьбы -судьей -судьи -судьям -судя -суеверен -суеверия -суеверна -суеверней -суеверным -сует -суета -суете -суетилась -суетилось -суетился -суетится -суетливо -суетливой -суетливую -суется -суету -суеты -суетясь -суешь -суешься -суждена -суждение -суждении -суждения -суждениями -сужденная -сужденный -суждено -суждены -суживая -сужу -суздальцев -сузились -суйся -сукна -сукно -суконной -сулил -сулила -сулит -султаны -сулят -сулящих -сумарокова -сумасброд -сумасбродом -сумасшедний -сумасшедшая -сумасшедшего -сумасшедшей -сумасшедшие -сумасшедший -сумасшедшим -сумасшедшими -сумасшедших -сумасшедшую -сумасшествие -сумасшествии -сумасшествию -сумасшествия -сумасшествовали -сумасшествует -суматоха -суматохе -суматохи -суматохой -сумеет -сумеешь -сумел -сумела -сумели -сумерках -сумерки -сумею -сумеют -сумки -сумкой -сумление -сумлении -сумления -сумм -сумма -суммам -сумму -суммы -сумочкой -сумрак -сумраке -сумраком -сумрачен -сумрачно -сумрачной -сумрачным -сундук -сундука -сундуке -сундуки -сундуком -сундуку -сундучок -сунет -сунув -сунул -сунула -сунуть -суп -супа -супом -супруг -супруга -супруге -супруги -супругой -супругу -супружеского -супружеское -супружеском -супружества -супружествах -супружество -супу -сургуч -сургуча -сургучом -сурдиной -сурмится -суров -сурова -суровая -суровее -сурово -суровое -суровой -суровом -суровости -суровость -суровою -суровую -суровые -суровый -суровым -сурок -сусальный -суслов -суткам -сутки -суток -суточной -суточными -суточных -сутуловатый -суть -сутяжничеством -суфлеры -сух -сухарей -сухари -сухариками -сухариков -сухарь -сухаря -сухарями -сухая -сухи -сухими -сухих -сухо -сухого -сухое -сухой -сухости -сухую -сучок -сучьях -сушеная -сушеную -сушеными -сушили -сушилось -сушильню -сушит -сущая -сущее -существ -существа -существе -существенного -существенной -существенными -существо -существовавшего -существовали -существование -существованием -существований -существования -существованья -существовать -существом -существу -существуем -существует -существуете -существую -существуют -существующим -существующих -существующую -сущности -сущность -сфер -сфера -сферах -сфере -сферой -сферою -сферу -сферы -сфинкс -сфинкса -схватив -схватившись -схватил -схватила -схватилась -схватили -схватился -схватит -схватить -схватиться -схватку -схватывает -схватывается -схватывают -схватывая -схватят -схвачена -схвачу -схимник -схитрила -схитрить -схлебнув -схода -сходи -сходил -сходила -сходили -сходились -сходим -сходит -сходите -сходится -сходить -сходиться -сходишь -сходками -сходках -сходки -сходную -сходны -сходов -сходства -сходство -сходствовал -сходством -сходы -сходя -сходясь -сходят -сходятся -схож -схожи -схожу -схоластикой -схоронены -схоронив -схоронил -схоронила -схоронить -сцен -сцена -сцене -сценой -сцену -сцены -сцепившиеся -сцепились -сцеплений -счастие -счастием -счастии -счастию -счастия -счастлив -счастлива -счастливая -счастливее -счастливей -счастливейшим -счастливец -счастливо -счастливого -счастливое -счастливой -счастливому -счастливою -счастливцев -счастливы -счастливые -счастливый -счастливым -счастливыми -счастливых -счастье -счастьем -счастьи -счастью -счастья -счел -счесть -счет -счета -счетам -счетах -счете -счетов -счетом -счету -счеты -считаем -считаемся -считает -считаете -считается -считаешь -считай -считайте -считал -считала -считали -считались -считался -считать -считаться -считаю -считают -считая -сшедший -сшиб -сшил -сшит -сшитом -съедает -съедаешь -съедаю -съедем -съедет -съеду -съежившийся -съежившись -съезди -съездил -съездили -съездит -съездить -съездов -съезжаете -съезжай -съезжайте -съезжал -съезжаль -съезжать -съезжаться -съезжаю -съезжу -съел -съели -съем -съест -съестно -съестного -съестным -съестных -съесть -съехал -съехали -съехать -съешь -сыворотка -сыграет -сыграй -сыграл -сыграла -сыграли -сыграна -сыграть -сыграю -сызмалетства -сызнова -сын -сына -сынам -сыне -сынков -сынов -сыновних -сыновняя -сыном -сыну -сыны -сыпал -сыпала -сыпались -сыплется -сыплющихся -сыпной -сыр -сырая -сыро -сырого -сырое -сырой -сыром -сырости -сырость -сыростью -сыру -сырую -сыры -сырые -сыскал -сыскали -сыскать -сыскное -сыт -сытое -сытой -сытости -сыты -сытые -сытый -сычиха -сычуга -сыщем -сыщет -сыщешь -сыщи -сыщика -сыщики -сыщности -сыщу -сыщут -сь -сю -сюда -сюжет -сюрприз -сюрпризик -сюрпризы -сюртук -сюртука -сюртуке -сюртучишка -сюртучок -сядем -сядет -сяду -сядут -сядь -сядьте -сякая -сякой -сям -т -та -табак -табакерки -табакеркой -табакерку -табаком -табаку -табачного -табачной -табачок -таблиц -таблица -таблицы -табуны -таварищество -таверны -тает -таз -таи -таившейся -таил -таила -таилась -таился -таим -таин -таинствам -таинственно -таинственного -таинственное -таинственному -таинственность -таинственны -таинственные -таинственный -таинственным -таинственных -таинство -таится -тайком -тайн -тайна -тайнами -тайная -тайне -тайниках -тайно -тайного -тайное -тайной -тайною -тайну -тайную -тайны -тайные -тайный -тайным -тайными -тайных -тайте -так -така -такая -также -таки -такие -таким -такими -таких -таков -такова -таковая -таково -таковое -таковскою -таковую -таковы -таковые -такого -такое -такой -таком -такому -такою -таксомотор -такт -такта -тактика -тактом -таку -такую -талант -таланта -талантами -талантлив -талантлива -талантливее -талантливо -талантливый -талантливым -талантливых -талантов -талантом -таланты -талеров -талией -талии -талию -талия -талый -талым -таль -тальки -тальма -тальмочку -тальму -талью -там -тама -тамаре -тамошнего -тамошней -тамошние -танец -танца -танцам -танцами -танце -танцев -танцевала -танцевали -танцевальный -танцевать -танцует -танцуют -танцуя -танцы -тара -таракана -тараканами -тараканах -тараканов -тараканы -тарантас -тарантьев -тарантьева -тарантьеву -тарантьевым -тарантьевыми -тарара -тарас -тараса -тараска -тараску -тараща -таращатся -таращил -тарелка -тарелками -тарелках -тарелке -тарелки -тарелкой -тарелку -тарелок -таскаемый -таскает -таскал -таскаль -таскаться -таскают -тасуйте -татар -татарвою -татарин -татарская -татарские -татарским -татарской -тать -татьяна -тафты -таща -тащи -тащил -тащила -тащили -тащило -тащит -тащить -тащиться -тащу -таюсь -тают -тающий -тая -таял -таяли -таянье -таясь -таятся -твари -тварь -тварью -тверд -твердая -твердеют -тверди -твердил -твердила -твердили -твердим -твердит -твердите -твердить -твердишь -твердо -твердого -твердое -твердости -твердостию -твердостью -твердым -твердых -твердь -твердя -твердят -тверезый -тверже -тверь -твое -твоего -твоей -твоем -твоему -твоею -твои -твоим -твоими -твоих -твой -творенья -творец -творил -творилось -творим -творимый -творится -творить -творогом -творца -творческие -творческий -творческого -творческою -творческую -творчества -творят -твою -твоя -те -театр -театра -театре -тебе -тебя -текла -текли -текло -текст -текста -текут -текущей -текущею -тел -тела -теле -телег -телега -телеге -телеги -телегин -телегину -телеграмма -телеграмму -телеграммы -телеграф -телеграфа -телеграфе -телеграфировали -телеграфировать -телеграфирует -телеграфисткой -телеграфные -телеграфный -телеграфных -телегу -тележка -тележке -тележку -тележный -телемака -телесная -телефон -телефона -тело -телом -телу -тельца -телята -телятина -телятиной -телятину -телятины -тем -тема -темами -темени -темень -теми -темляком -темна -темная -темневших -темневшую -темнее -темней -темнело -темненькое -темнеют -темнеющего -темнеющем -темно -темновласый -темного -темное -темной -темноликий -темном -темнота -темноте -темноту -темноты -темною -темную -темны -темные -темный -темным -темными -темных -температура -тему -темы -темя -теней -тени -тенист -тенистой -тенистом -тенистый -тенистых -тенор -тень -тенью -теодорих -теоретиком -теоретически -теорией -теории -теорий -теорийка -теорию -теория -теориям -теориях -тепел -теперешнего -теперешнее -теперешней -теперешнем -теперешние -теперешний -теперешним -теперешних -теперешнюю -теперешняя -теперича -теперь -тепла -теплая -тепле -теплее -теплилась -теплился -теплится -теплице -тепло -теплое -теплой -теплом -теплому -теплота -теплоту -теплоты -теплые -теплый -теплым -теплых -теплятся -тер -теребила -теребьева -теребьеву -теребя -терем -тереть -терзает -терзается -терзаешь -терзал -терзала -терзалась -терзали -терзало -терзался -терзание -терзаний -терзать -терзаю -терзая -терминах -терпевшая -терпел -терпелив -терпеливая -терпеливо -терпеливость -терпение -терпением -терпении -терпения -терпеть -терпи -терпит -терпите -терпится -терплю -терпят -терраса -террасах -террасе -террасой -террасу -террасы -теряет -теряете -теряется -теряешь -терял -теряла -терялась -теряли -теряло -терялся -терять -теряю -теряюсь -теряют -теряющая -теряя -тесемками -тесемочкой -тесен -теснее -теснившихся -теснила -теснились -теснилось -теснит -теснитесь -тесно -тесной -тесноте -тесную -тесные -тесный -тесных -теснюсь -теснят -теснящим -тесовый -теста -тесто -тестова -тесьму -тесьмы -тете -тетеньки -тетивою -тетиву -тетка -тетке -тетки -теткой -тетку -теток -тетрадей -тетради -тетрадка -тетрадке -тетрадки -тетрадкой -тетрадку -тетрадь -тетрадях -тетушка -тетушки -тетя -тех -техники -технолог -технологию -течение -течению -течения -теченье -течет -тешат -тешатся -тешили -тешит -тешится -тешу -теща -тещи -тиатр -тигров -тикая -тил -тимофеевна -тип -типографий -типографию -типы -тираду -тирады -тиран -тиранила -тироль -тирольской -тисках -тиски -тит -титаны -титулярный -титулярным -тиф -тифа -тих -тиха -тихая -тихие -тихий -тихим -тихими -тихих -тихо -тихого -тихое -тихой -тихом -тихоновну -тихоньким -тихонько -тихою -тихую -тициана -тише -тиши -тишина -тишине -тишиной -тишиною -тишину -тишины -тишь -тка -ткал -ткани -ткань -тканью -ткет -ткнул -тко -тлеет -тлеющая -то -тобой -тобою -товар -товаре -товарищ -товарища -товарищам -товарищами -товарище -товарищей -товарищем -товарищества -товарищи -товарищу -товарный -товаров -товаром -товару -товары -тогда -тогдашнего -тогдашнее -тогдашнему -тогдашний -тогдашнюю -того -тоже -той -токаря -токмо -толк -толкает -толкал -толкала -толкало -толкаль -толками -толкать -толкаться -толках -толкаются -толкая -толки -толкла -толкли -толкнув -толкнул -толкнулся -толкнуть -толков -толковал -толковали -толкования -толковать -толково -толковый -толковым -толкотня -толку -толкует -толкуете -толкусь -толкучего -толкучем -толкучий -толкую -толкуют -толочь -толпа -толпами -толпе -толпившимися -толпившихся -толпилась -толпились -толпилось -толпился -толпится -толпой -толпою -толпу -толпы -толст -толста -толстая -толстеет -толстенькая -толстенькие -толстоваты -толстого -толстогубый -толстой -толстоты -толстою -толстую -толстые -толстый -толстым -толстыми -толстяков -толчеи -толченье -толчет -толчки -толчков -толчком -толчок -толщиной -только -том -тома -томах -томен -томи -томик -томила -томилась -томили -томило -томился -томим -томите -томительною -томительные -томитесь -томится -томить -томиться -томишь -томление -томлений -томления -томленье -томленьем -томленьи -томленья -томлюсь -томна -томно -томного -томной -томнооких -томную -томные -томный -томным -томными -томов -тому -томясь -томят -томятся -томящихся -тон -тона -тоне -тоненькая -тоненькие -тоненький -тоненьким -тоненькими -тоненькой -тоненькою -тоненькую -тонет -тонкая -тонкие -тонкий -тонким -тонкими -тонких -тонко -тонкого -тонкое -тонкой -тонкости -тонкость -тонкостью -тонкую -тонная -тонок -тоном -тону -тонула -тонуло -тонут -тончайшая -тончайшее -тончайшей -тончайший -тоны -тоню -топ -топать -топил -топили -топит -топить -топливо -топнув -топнул -топнули -тополевой -тополевую -тополей -тополем -тополи -тополями -топор -топора -топорами -топоре -топорной -топоров -топором -топорщиться -топот -топочет -топтал -топтать -топчешь -топчу -топчут -топью -топят -торгах -торги -торговал -торговала -торговали -торговать -торговаться -торговка -торговку -торговле -торговли -торгового -торговое -торговой -торговца -торговцы -торговый -торгует -торгуй -торгуют -торжеств -торжества -торжестве -торжественно -торжественного -торжественное -торжественной -торжественном -торжественностию -торжественную -торжественные -торжественный -торжественным -торжество -торжествовал -торжествовала -торжеством -торжествует -торжествую -торжествуют -торжествующе -торжествующею -торжествуя -тороват -торопил -торопила -торопилась -торопились -торопился -торопит -торопитесь -торопится -торопить -торопиться -торопливо -торопливого -торопливой -торопливость -торопливостью -торопливою -торопливый -торопливыми -тороплюсь -торопясь -торопят -торопятся -торт -тортом -торфом -торчавшей -торчавший -торчавшими -торчал -торчала -торчат -торчит -торчком -тоска -тосканские -тосканских -тоске -тоски -тоскливо -тоскливой -тоскливом -тоскливый -тоскливым -тосковал -тосковала -тосковать -тоской -тоскою -тоску -тоскуем -тоскует -тоскуешь -тоскую -тоскуют -тоскующего -тоскующий -тоскуя -тот -тотчас -точа -точек -точил -точит -точить -точка -точками -точке -точки -точкой -точку -точнее -точнейшим -точнехонько -точно -точного -точное -точном -точности -точностию -точностью -точны -точные -точных -точь -тошней -тошно -тошноты -тощая -тощий -тощими -тощую -тою -тра -трав -трава -травами -траве -травила -травке -травку -травля -травой -траву -травы -трагедии -трагедий -трагедия -трагик -трагиков -трагически -трагические -трагического -трагическое -трагической -трактат -трактир -трактира -трактирам -трактире -трактиришке -трактиришко -трактирное -трактирной -трактирный -трактиров -трактиром -трактиры -трам -трамваи -транспарант -трата -трате -тратил -тратилось -тратит -тратите -тратится -тратить -траты -тратят -тратятся -траур -траура -трауре -траурная -траурного -траурной -траурною -траурные -траурный -траурными -трахтир -трачу -требовавшие -требовавших -требовал -требовала -требовали -требование -требовании -требований -требованию -требования -требовать -требу -требуемые -требует -требуется -требуешь -требуй -требуйте -требухой -требую -требуют -требующее -требующие -требуя -тревог -тревога -тревогам -тревогах -тревоге -тревоги -тревогой -тревогою -тревогу -тревожа -тревожась -тревожат -тревожил -тревожила -тревожилась -тревожили -тревожило -тревожился -тревожит -тревожится -тревожить -тревожиться -тревожишь -тревожная -тревожнее -тревожно -тревожного -тревожное -тревожном -тревожные -тревожный -тревожных -тревожусь -тревожь -тревожься -тревожьте -треволнения -треволненьям -трезв -трезва -трезво -трезвой -трезвонят -трезвый -трезвым -трезор -треклятая -треклятые -трельяже -тремя -тремястами -тренькала -трепала -трепаном -трепанье -трепать -трепет -трепета -трепетавшая -трепетавшем -трепетавших -трепетал -трепетала -трепетали -трепетания -трепетанье -трепете -трепетно -трепетного -трепетным -трепетом -трепету -трепеща -трепещет -трепещут -трепещущего -трепещущей -трепещущие -трепещущий -трепещущим -трепещущих -трепещущую -треплев -треплева -треплеву -треплевым -треплет -треплют -треплются -трепля -треск -трескает -треске -треском -трескотней -трескотня -трескучей -трет -третий -третного -треть -третье -третьего -третьегодичные -третьегодичных -третьегодни -третьей -третьем -третьему -третьи -третьим -третьих -третью -третья -трефовую -трех -трехлетней -трехлетний -трехлетняя -трехрублевому -трехрублевую -трехрыбное -трехсот -трехстах -трехударный -трехэтажный -треща -трещавших -трещал -трещала -трещали -трещат -трещать -трещина -трещине -трещину -трещит -три -трибуне -трибуной -тригорин -тригорина -тригорину -тригориным -тридцати -тридцатипятилетний -тридцатирублевую -тридцать -тридцатью -трижды -тризне -тринадцати -тринадцатилетнего -тринадцатого -тринадцать -триста -триумф -трихины -трогает -трогается -трогаешь -трогай -трогайте -трогал -трогала -трогали -трогались -трогательнее -трогательно -трогательные -трогательным -трогать -трогаться -трогаю -трогаясь -трое -троек -троекратно -троекратного -троекратное -троекратным -трожь -трои -троими -троих -троица -троицын -тройка -тройками -тройке -тройная -тронет -тронется -тронешь -тронул -тронулся -тронут -тронуты -тронутый -тронуть -тронуться -тронь -троньте -тропами -тропе -тропинка -тропинке -тропинки -тропинку -тропой -тропою -тропу -тросточку -трость -тростью -троттуар -троттуары -тротуар -тротуара -тротуарам -тротуарами -тротуаре -тротуаром -тротуару -трофимов -трофимова -трофимович -трофимову -трофимовым -трофимыч -трофимыча -троюродные -тррреклятые -труб -труба -трубах -трубе -трубит -трубка -трубками -трубки -трубкой -трубкою -трубку -трубные -трубный -трубочист -трубочка -трубу -трубы -труд -труда -трудам -трудами -трудах -труде -труди -трудилась -трудимся -трудись -трудится -трудиться -трудная -труднее -трудно -трудного -трудное -трудной -трудности -трудность -трудную -трудные -трудный -трудным -трудных -трудов -трудовая -трудовое -трудовой -трудовую -трудолюбивой -трудолюбивые -трудолюбивый -трудолюбие -трудолюбию -трудом -труду -труды -трудясь -трудятся -труженическое -тружусь -труп -трупный -трупом -трупы -трус -труса -трусил -трусить -трусишки -труслив -труслива -трусливо -трусливое -трусоват -трусости -трын -трюфелями -тряпка -тряпки -тряпкой -тряпку -тряпок -тряпье -тряпьем -трясется -трясла -тряслась -тряслись -трясся -трясутся -тряся -трясясь -тряхнул -тс -тсс -тся -ту -туалет -туалета -туалетную -туалеты -туго -тугой -туда -тужит -тужить -туз -тузенбах -тузенбаха -тузенбахе -тузенбаху -тузил -тузили -тузить -туловище -туловищем -тулон -тулона -тулуп -тулупе -тульские -туман -тумана -туманам -туманами -туманах -тумане -туманился -туманить -туманное -туманной -туманном -туманную -туманные -туманный -туманным -туманными -туманных -туманов -туманом -туманы -туманят -тумбе -тумбу -тунеядства -тупая -тупеет -тупею -тупик -тупицы -тупо -тупой -тупом -тупость -тупоумия -тупоумного -тупую -тупым -тур -тура -тургенев -тургенева -тургеневская -турецки -турецкий -турецким -турецкой -туриста -турку -тускло -тусклое -тусклой -тусклые -тусклый -тусклым -тусклыми -тускнело -тут -туфлей -туфли -туфлю -туфлях -тухлая -тухлой -туч -туча -тучами -тучах -туче -тучей -тучи -тучки -тучкой -тучкою -тучных -тучу -туш -тушат -тушит -тушу -тш -тщательнее -тщательно -тщеславен -тщеславие -тщеславии -тщеславия -тщеславные -тщета -тщетно -тщетным -ты -тый -тыкать -тыква -тысяч -тысяча -тысячами -тысячах -тысяче -тысячей -тысячелетием -тысячелетий -тысячелетней -тысячи -тысячная -тысячу -тысячью -тысящи -тычет -тычут -тьма -тьме -тьмой -тьму -тьмы -тьфу -тюков -тюлевом -тюменев -тюменева -тюремном -тюремные -тюремный -тюрьма -тюрьмами -тюрьме -тюрьмой -тюрьму -тюрьмы -тютчева -тюфяки -тягла -тягой -тягостию -тягостно -тягостное -тягостную -тягостны -тягость -тяготеют -тяготили -тяготились -тяготился -тяготит -тяготить -тяготишься -тяготящее -тягу -тяжбам -тяжбу -тяжебным -тяжел -тяжела -тяжелая -тяжеле -тяжелее -тяжеленько -тяжелит -тяжело -тяжеловеса -тяжелого -тяжелое -тяжелой -тяжелом -тяжелую -тяжелы -тяжелые -тяжелый -тяжелым -тяжелыми -тяжелых -тяжести -тяжесть -тяжкие -тяжкий -тяжким -тяжких -тяжко -тяжкое -тянет -тянется -тянул -тянулась -тянулись -тянуло -тянулось -тянутся -тянуть -тяп -у -уа -уайльда -убавив -убавить -убаюканные -убаюкивала -убаюкивают -убегает -убегал -убегающей -убегающим -убегая -убегу -убедилась -убедился -убедим -убедительнейшая -убедительно -убедительностью -убедительную -убедится -убедить -убедиться -убедишься -убежал -убежала -убежали -убежать -убеждаюсь -убеждая -убежден -убеждена -убеждение -убеждением -убеждении -убеждений -убеждению -убеждения -убеждениями -убеждениях -убежденнее -убежденно -убежденный -убежденным -убеждены -убежденьях -убежит -убежите -убей -убейте -убережешь -уберет -уберечь -уберешь -уберите -уберу -убив -убиваем -убивает -убиваете -убивается -убивал -убивалась -убивали -убиваль -убивать -убивают -убиваясь -убивец -убивство -убийств -убийства -убийстве -убийство -убийству -убийца -убийцам -убийцей -убийцу -убийцы -убил -убила -убили -убирает -убирай -убирайся -убирайтесь -убирал -убирала -убирании -убирать -убираю -убирают -убирая -убит -убита -убитая -убито -убитого -убитой -убитою -убитую -убитые -убитый -убитым -убитыми -убить -убогая -убогий -убор -убора -уборе -уборка -уборке -уборки -убоюсь -убоялись -убрал -убрала -убралась -убрали -убрались -убран -убранная -убранной -убранною -убранные -убранных -убранстве -убранство -убрать -убыло -убытка -убыткам -убытками -убытку -убыток -убьем -убьет -убьете -убьешь -убьешься -убью -уважавший -уважаем -уважаемой -уважаемому -уважаемым -уважает -уважаете -уважаешь -уважай -уважал -уважала -уважали -уважать -уважаю -уважают -уважающие -уважение -уважением -уважении -уважения -уварился -уведи -уведите -уведомил -уведомили -уведомить -уведомлен -уведомление -уведомлял -уведомляла -увез -увезен -увезите -увезла -увезли -увезти -увезу -увезшей -увековечить -увел -увела -увеличивается -увеличивалось -увеличиваются -увеличилась -увеличились -увеличился -увеличить -увенчали -увенчались -уверен -уверена -уверение -уверений -увереннее -уверенно -уверенности -уверенность -уверенностью -уверенные -уверенный -уверенным -уверены -уверенья -уверил -уверился -уверит -уверительно -уверить -уверишь -уверовала -уверовали -уверовать -увертел -увертка -увертки -увертывайся -уверует -уверуют -уверяет -уверяйте -уверял -уверяла -уверяли -уверять -уверяю -уверяют -уверяя -увеселения -увеселительного -увеселительные -увеселительный -увеселяли -увесистых -увести -увесть -увечному -увещевая -увидав -увидавши -увидал -увидала -увидали -увидать -увидев -увидел -увидела -увидели -увидеть -увидим -увидимся -увидит -увидите -увидишь -увидишься -увидя -увидят -увижу -увижусь -увитое -увлек -увлекаем -увлекал -увлекалась -увлекался -увлекательный -увлекаться -увлекают -увлекающаяся -увлекаясь -увлеклась -увлекли -увлекло -увлекся -увлекусь -увлечен -увлечение -увлечением -увлечений -увлечению -увлечения -увлеченный -увлечены -увлечь -увлечься -уводила -уводит -увози -уволили -уволь -увольняли -увольте -увражами -увы -увядать -увядающей -увядая -увядшей -увядшие -увяз -увязаться -увязнув -увязывает -увял -увяла -угадав -угадает -угадаете -угадай -угадал -угадала -угадали -угаданная -угадано -угаданы -угадать -угадывает -угадываете -угадываешь -угадывал -угадывало -угадывать -угадываю -угадывая -угар -угарно -угас -угасающего -угасла -угасли -угасло -угаснет -угаснувшем -угасшим -угла -углам -углах -угле -углов -угловатое -угловатую -угловатым -угловатыми -угловом -углом -углу -углубилась -углубился -углубится -углубиться -углублен -углубление -углублении -углы -угль -угнетает -угнетал -угнетена -уговаривай -уговаривал -уговаривала -уговаривая -уговор -уговора -уговорив -уговорил -уговорите -уговорить -уговориться -уговором -угодить -угодишь -угодливости -угодно -угождений -угождения -угол -уголка -уголке -уголки -уголков -уголку -уголовное -уголовных -уголок -уголь -угольев -угольком -угольной -уголья -угорелая -угорелый -угорят -угостить -угощает -угощал -угощать -угощение -угощением -угощения -угощу -угрожайте -угрожал -угрожающее -угрожающею -угрожающий -угрожающую -угроза -угрозами -угрозой -угрозою -угрозу -угрозы -угрызать -угрызение -угрызения -угрюм -угрюма -угрюмо -угрюмого -угрюмое -угрюмой -угрюмому -угрюмость -угрюмство -угрюмые -угрюмый -угрюмым -угрюмых -угрях -удавалось -удавался -удавившеюся -удавившиеся -удавился -удавиться -удается -удалась -удалении -удали -удалились -удалилось -удалился -удалиться -удалось -удался -удалюсь -удалявшейся -удалявшиеся -удаляется -удаляться -удар -удара -ударам -ударами -ударе -ударение -ударившего -ударил -ударила -ударилась -ударило -ударит -ударится -ударить -удариться -ударов -ударом -удару -удары -ударь -ударю -ударяя -ударяясь -удастся -удаче -удачнее -удачно -удвоенное -удвоенною -удвоенным -удвоивается -удвоил -удвоилась -удвоилось -удвоишь -удел -удержал -удержала -удержалась -удержали -удержались -удержался -удержанность -удержать -удержаться -удерживает -удерживается -удерживайте -удерживал -удерживала -удерживали -удерживать -удерживая -удерживаясь -удержись -удержит -удержите -удержу -удивившею -удивившийся -удивившись -удивил -удивилась -удивили -удивились -удивило -удивился -удивительная -удивительно -удивительного -удивительное -удивительном -удивительною -удивительные -удивительный -удивительным -удивить -удивлена -удивление -удивлением -удивлении -удивлению -удивления -удивленная -удивленно -удивленного -удивленной -удивленный -удивленным -удивленными -удивленья -удивлю -удивляетесь -удивляется -удивляешься -удивлял -удивлялась -удивлялись -удивлялся -удивлять -удивляться -удивляюсь -удивляясь -удивясь -удивятся -удил -удит -удить -удобнее -удобно -удобного -удобном -удобную -удобопонятную -удобств -удобство -удовлетворен -удовлетворена -удовлетворение -удовлетворения -удовлетворенного -удовлетворенное -удовлетворенной -удовлетворенный -удовлетворенных -удовлетворил -удовлетворилась -удовлетворительно -удовлетворительного -удовлетворительном -удовлетворительною -удовлетворительные -удовлетворительный -удовлетворительным -удовлетворить -удовлетворят -удовлетворяясь -удовольствие -удовольствием -удовольствии -удовольствия -удовольствиях -удовольствовался -удостаивают -удостоверения -удостоверившись -удостовериться -удостоивая -удостоила -удостоили -удостоился -удочками -удочки -удочку -удрал -удрученному -удрученный -удушливая -удушливого -удушливый -удушьем -удушья -удят -уедем -уедет -уедете -уедешь -уединение -уединении -уединения -уединеннее -уединенно -уединенное -уединенной -уединенном -уединился -уединиться -уеду -уедут -уезд -уезда -уезде -уездили -уездном -уездную -уездные -уездный -уездным -уезду -уезжавшей -уезжаем -уезжает -уезжаете -уезжаешь -уезжай -уезжайте -уезжал -уезжала -уезжали -уезжать -уезжаю -уезжают -уезжая -уехал -уехала -уехали -уехать -уж -ужаленного -ужалило -ужаль -ужас -ужаса -ужасались -ужасался -ужасам -ужасами -ужасают -ужасаясь -ужасе -ужасен -ужасная -ужаснее -ужасней -ужаснейшая -ужаснейшее -ужаснейший -ужаснейшим -ужасно -ужасного -ужасное -ужасной -ужасном -ужаснувшею -ужаснулась -ужаснулись -ужасную -ужасный -ужасным -ужасными -ужасных -ужасов -ужасом -ужасу -ужасы -уже -ужели -ужель -уживается -уживался -ужин -ужина -ужинаем -ужинает -ужинаете -ужинайте -ужинал -ужинали -ужинать -ужиная -ужином -ужину -ужо -уз -узаконенной -уздцы -узел -узелком -узелок -узенькая -узенькой -узенькую -узкая -узкие -узкий -узкое -узкой -узкому -узкую -узла -узлами -узле -узлом -узлы -узнав -узнавал -узнавала -узнавали -узнавать -узнавая -узнавшим -узнаем -узнает -узнаете -узнаешь -узнай -узнайте -узнал -узнала -узнали -узнать -узнаю -узнают -узор -узора -узоре -узорном -узорные -узорный -узорными -узоров -узором -узоры -узость -узрит -узрят -узы -уйдем -уйдемте -уйдет -уйдете -уйдешь -уйди -уйдите -уйду -уйдут -уймите -уймитесь -уйти -укажет -укажете -укажите -укажу -указав -указал -указала -указали -указание -указанием -указаний -указанию -указания -указанного -указательном -указательным -указать -указки -указывает -указывал -указывала -указывали -указывать -указывают -указывая -укачивая -уклада -укладка -укладке -укладки -укладкой -укладкою -укладку -укладок -укладывает -укладывала -укладывался -укладывать -укладываться -уклонился -уклонитесь -уклончивость -уклонюсь -уклоняете -уклоняется -уклонялась -уклонялись -уклоняюсь -уклоняясь -укокошил -укор -укора -укоренился -укоризненно -укоризной -укоризны -укоров -укором -укоряемый -укорял -укоряла -укоряли -укорять -укоряю -укоряют -украденный -украденным -украдкой -украл -украли -украсишь -украсть -укрась -украшают -украшение -украшением -украшенной -укрепился -укрепит -укрепится -укрепляет -укреплялась -укрепляться -укроете -укрощая -укрываться -укрыла -укрыться -уксуса -уксусом -уксусу -укусил -укусила -уладил -уладилось -уладится -уладить -уладь -уланом -улеглись -улеглось -улегся -улегшись -улетает -улетайте -улетал -улетающему -улетевший -улетело -улететь -улетим -улетит -улетят -улизнет -улизнул -улизнуть -улик -улика -улике -улики -уликой -улиссов -улиц -улица -улицам -улицами -улицах -улице -улицу -улицы -уличать -уличку -уличная -уличное -уличной -уличном -уличному -уличною -уличную -уличные -уличный -уличным -уловив -уловила -уловимого -уловит -уловить -уловка -уловками -уловляли -уложено -уложив -уложила -уложить -уложу -улучить -улучшение -улучшений -улучшения -улучшились -улыбавшееся -улыбаетесь -улыбается -улыбалась -улыбались -улыбалось -улыбался -улыбаться -улыбаюсь -улыбаются -улыбающегося -улыбающийся -улыбающимся -улыбающихся -улыбаясь -улыбка -улыбкам -улыбками -улыбке -улыбки -улыбкой -улыбкою -улыбку -улыбнетесь -улыбнется -улыбнешься -улыбнувшись -улыбнулась -улыбнулись -улыбнулся -улыбнусь -улыбнуться -улыбок -улыбочкой -ум -ума -умаливала -умаливания -умалчиваю -умалялось -умаялись -умбрии -умбрских -уме -умевший -умеем -умеет -умеете -умеешь -умей -умел -умела -умели -умельчились -умен -умению -уменье -уменьшение -уменьшения -уменьшить -уменья -умер -умеренная -умеренности -умеренностью -умеренную -умеренны -умеренный -умеренным -умереть -умерла -умерли -умерло -умертвила -умертвить -умершая -умершего -умершее -умершей -умершем -умерший -умершим -умершую -уметь -умещается -умею -умеют -умея -умиление -умилением -умилении -умиления -умилялась -умирает -умирал -умирала -умирали -умирать -умираю -умирают -умирающего -умирающий -умирающим -умирающих -умирая -умирит -умна -умная -умнее -умней -умнейший -умненько -умненькой -умник -умники -умников -умниц -умница -умницей -умничает -умничанья -умничать -умно -умного -умной -умны -умные -умный -умным -умными -умных -умов -умозрений -умозрительная -умозрительным -умозрительных -умолить -умолк -умолка -умолкает -умолкала -умолкать -умолкающая -умолкая -умолкло -умолкшими -умолот -умолоте -умолочено -умолчать -умолчу -умолю -умолявшего -умоляет -умолял -умоляла -умолять -умоляю -умоляюще -умоляющим -умоляющими -умоляя -умом -умопомешательства -умопомешательстве -уморил -уморить -умоюсь -умрем -умрет -умрете -умрешь -умри -умрите -умру -умрут -умственно -умственного -умственные -умственными -умственных -уму -умчались -умчало -умчит -умы -умывает -умывайтесь -умывался -умывальном -умываться -умылась -умылся -умысел -умысла -умысле -умыслом -умыться -умышленно -умышленной -умышленному -унес -унесенная -унесено -унесет -унесите -унесли -унеслось -унести -унесут -университет -университета -университете -университетские -университетской -университетскому -университету -университеты -унижается -унижал -унижающая -унижен -унижение -унижения -униженная -униженный -униженным -унижены -униженье -униженьи -унизился -унизительно -унизительного -унизительны -унизывались -унимал -унимала -унимали -унимались -унимать -унимают -уничижения -уничиженный -уничтожают -уничтожаясь -уничтожен -уничтоженный -уничтожив -уничтожил -уничтожило -уничтожим -уничтожит -уничтожится -уничтожить -уничтожиться -уносил -уносила -уносился -уносит -уноситься -уносишь -уносящая -унтер -уныл -унылая -уныло -унылого -унылом -унылый -уныние -унынием -унынии -уныния -уняли -унять -упавшего -упавший -упавшим -упадал -упадала -упадет -упадете -упади -упадка -упадку -упадок -упаду -упадут -упал -упала -упали -упало -упасла -упасть -упер -уперлась -уперлася -уперся -упечь -упивался -упиваясь -упираете -упирал -упиралось -упирался -упираться -упирая -упираясь -уписала -уписалась -упиться -уплате -уплатил -уплатили -уплатить -уплатою -уплату -уплаты -уплывешь -уплыли -упование -уповать -уподоблению -упоена -упоением -упоительно -упокоил -упокой -уполномочил -уполномочила -упоминает -упоминается -упоминайте -упоминал -упоминала -упоминать -упоминаю -упомнишь -упомню -упомянет -упомяните -упомяну -упомянул -упомянула -упомянули -упомянута -упомянуто -упомянуть -упор -упорная -упорно -упорное -упорной -упорному -упорную -упорный -упорным -упорство -упорством -употебите -употребил -употребит -употребить -употребление -употреблении -употребления -употреблю -употребляется -употреблял -употреблялись -употреблять -употребляя -управе -управимся -управитель -управится -управиться -управление -управлении -управления -управлюсь -управляет -управлял -управлять -управляющего -управляющему -управляющий -управляющим -управляющих -управляя -управу -управы -упразднена -упрашивал -упрашивала -упрашивали -упрашивания -упрашиванья -упрашивать -упрашивая -упрек -упрека -упрекал -упрекала -упрекали -упрекать -упрекаю -упреке -упреки -упрекнешь -упрекнул -упрекнули -упрекнуть -упреков -упреком -упрет -упрется -упросил -упросит -упросить -упрочились -упрочить -упругих -упругой -упругость -упрыгаетесь -упрямец -упрямо -упрямой -упрямстве -упрямство -упрямству -упрямый -упрямься -упрятал -упускай -упускал -упускать -упускаю -упущение -упущений -упущения -упущу -упыри -упьется -ура -ураган -уразумела -уразумения -урезонить -урной -урод -уродился -уродится -уродливое -уродливы -уродуется -урожаем -урожай -урожденная -урок -уроками -уроки -уроков -уроком -уроненную -уроненным -уронены -урони -уронив -уронил -уронила -уронили -уронит -уроню -урочные -урывками -урывочками -ус -усадеб -усадив -усадил -усадили -усадит -усадьба -усадьбе -усадьбу -усадьбы -усаживает -усаживал -усаживалась -усаживался -усаживать -усаживаются -усаживая -усаживаясь -усами -усатые -усахарил -усач -усача -усачу -усвоил -усвоить -уселась -уселись -уселся -усердием -усердию -усердия -усердная -усердно -усердные -усердным -усидел -усидела -усидеть -усидит -усидишь -усиками -усиления -усиленно -усиленное -усиленной -усиленному -усиленным -усиливается -усиливалась -усиливался -усиливать -усиливаясь -усилившейся -усилие -усилием -усилий -усилиться -усилия -усилиям -усилиях -усильем -усилья -ускользает -ускользала -ускользая -ускользнет -ускользнул -ускользнуть -ускоренному -ускоряла -ускоряя -услада -усладой -услады -услаждает -услаждать -услал -уследить -условием -условии -условились -условиться -условию -условиях -условно -условный -услуг -услуга -услуги -услугу -услужливая -услужливого -услыхав -услыхал -услыхала -услыхали -услыхать -услыша -услышав -услышал -услышали -услышанный -услышат -услышать -услышая -услышим -услышит -услышите -услышишь -услышу -усмехается -усмехаясь -усмехнется -усмехнувшись -усмехнулась -усмехнулись -усмехнулся -усмешка -усмешке -усмешки -усмешкой -усмотреть -усмотришь -уснете -уснешь -усните -усну -уснул -уснула -уснут -уснуть -усов -усовещивал -усомниться -усопшая -усопшем -усопших -успев -успеваем -успевает -успевал -успевая -успевший -успевшую -успеем -успеет -успеете -успеешь -успел -успела -успели -успение -успеньев -успеть -успех -успеха -успехами -успехе -успехи -успехов -успехом -успеху -успею -успеют -успокаивал -успокаивался -успокоен -успокоения -успокоенная -успокоено -успокоивал -успокоивала -успокоивали -успокоивался -успокоивать -успокоил -успокоила -успокоилась -успокоили -успокоились -успокоилось -успокоился -успокоим -успокоит -успокоительно -успокоительное -успокоительном -успокоительные -успокоительным -успокоительных -успокоитесь -успокоится -успокоить -успокоиться -успокой -успокойся -успокойтесь -успокою -успокоюсь -успокоятся -уст -уста -уставай -уставала -уставали -уставало -уставать -уставая -уставившись -уставил -уставила -уставилась -уставились -уставился -уставит -уставится -уставленных -уставом -уставу -уставши -уставший -уставшим -уставясь -устал -устала -усталая -устали -устало -усталого -усталой -усталом -усталости -усталость -усталостью -усталую -усталые -усталый -усталым -усталых -устанете -устанешь -установил -установила -установилась -установились -установителей -установители -установится -установить -установлен -установленное -установлено -устану -устанут -устаревших -устареете -устарелым -устах -устающими -устилал -устлала -устланная -устоит -устоят -устоять -устраивает -устраивается -устраивать -устраиваются -устранит -устранить -устраняйте -устранять -устраняя -устраняясь -устремив -устремил -устремила -устремились -устремлен -устремлена -устремленной -устремленные -устремленный -устремленным -устремлены -устремляется -устремлялись -устремляющий -устриц -устроен -устроена -устроенная -устроенный -устроенных -устроено -устроены -устроил -устроилась -устроили -устроилось -устроим -устроит -устроится -устроить -устроиться -устройства -устройстве -устройство -устройством -устройству -устрою -устроятся -уступает -уступал -уступали -уступаю -уступают -уступая -уступил -уступила -уступило -уступить -уступом -уступчива -устыдясь -усумнится -усчитать -усы -усыпанной -усыпаны -усыпите -усыпить -усыпленные -усыплять -усядется -усядусь -утайки -утаскивая -утащил -утащить -утвердилась -утвердилось -утвердительно -утверждал -утверждать -утверждаю -утверждают -утверждая -утвержден -утекло -утер -утерев -утерпел -утерпела -утерпеть -утечет -утешает -утешал -утешала -утешался -утешать -утешаюсь -утешают -утешение -утешений -утешения -утешенная -утешенный -утешенным -утешенье -утешенья -утешились -утешился -утешительнее -утешительное -утешится -утешить -утешишь -утешься -утирает -утирал -утирала -утирать -утирая -утихал -утихала -утихать -утихла -утихли -утихло -утихнет -утки -уткнув -утлые -утоли -утолить -утомилась -утомили -утомился -утомит -утомится -утомлен -утомлена -утомление -утомлении -утомления -утомленная -утомленно -утомленного -утомленное -утомленные -утомленный -утомленным -утомлено -утомлены -утомлюсь -утомляет -утомлялись -утомляло -утонувшая -утонувший -утонул -утонула -утонут -утонуть -утонченности -утонченность -утонченный -утопает -утопала -утопало -утопающей -утопающий -утопая -утопил -утопилась -утопится -утопить -утопиться -утопия -утопленница -утопленницей -утопленницу -уторопленно -уторопленною -утр -утра -утрам -утрат -утрата -утратив -утративший -утратил -утратила -утраты -утраченного -утраченное -утреет -утреннего -утренней -утреннем -утренние -утренний -утренник -утренним -утренними -утренних -утречком -утри -утро -утром -утру -утруждайте -утружденным -утучнялись -утыканными -уф -ух -уха -ухаживавшего -ухаживает -ухаживал -ухаживали -ухаживанье -ухватил -ухватилась -ухватит -ухватится -ухватить -ухватиться -ухватках -ухе -ухи -ухитрился -ухитрись -ухитряется -ухитрялся -ухищрений -ухлопал -ухлопали -ухлопаны -ухмыляется -ухмыляясь -ухну -ухо -уход -уходе -уходи -уходил -уходила -уходили -уходило -уходим -уходит -уходите -уходить -уходишь -уходом -уходя -уходят -уходящего -уходящий -ухожу -ухом -уху -уцелевшей -уцелевшие -уцелел -уцелела -уцелели -уцепились -уцепился -уцепиться -уцепясь -уча -участвовала -участвовали -участвовать -участвует -участи -участие -участием -участии -участий -участия -участки -участник -участниках -участница -участок -участь -участья -учат -учатся -учащенными -учащенных -учебное -учебные -ученая -учение -учений -ученик -учеников -ученику -ученические -ученого -ученой -ученом -учености -ученую -ученые -ученый -ученым -ученых -ученье -ученью -ученья -учетверю -учи -учившей -учившийся -учил -учила -училась -учили -учились -учился -учинить -учись -учит -учителей -учителем -учитель -учительницу -учительницы -учителя -учителях -учится -учить -учиться -учишь -учишься -учнет -учреждают -учтиво -учтивости -учу -учусь -ушам -ушами -ушата -ушах -ушей -ушел -уши -ушиб -ушиба -ушибется -ушибла -ушиблена -ушибленное -ушибли -ушки -ушла -ушли -ушло -ущельям -ущерб -ущербной -ущипнет -ущипнула -ую -уют -уюта -уютно -уютный -уюты -уязви -уязвило -уязвит -уязвлена -уязвленной -уязвлять -уяснил -уяснили -уяснить -ф -фабрик -фабрикам -фабриках -фабрики -фабрику -фабричные -фабричными -фабричных -фаддеевна -фаддеевны -фазисы -факел -факелом -факт -факта -фактам -фактами -фактах -факте -фактически -фактические -фактическую -фактов -фактом -факты -факультет -факультета -факультете -фаланстера -фаланстере -фаланстеры -фалду -фальшив -фальшива -фальшивая -фальшиво -фальшивое -фальшивой -фальшивом -фальшивую -фальшивы -фальшивые -фальшивый -фальшивым -фальшивых -фамилии -фамилию -фамилия -фамильной -фамильные -фамильный -фамильярен -фамильярно -фамильярное -фамильярности -фамильярностию -фамильярность -фанатизм -фанатизмом -фант -фантазерка -фантазией -фантазии -фантазий -фантазию -фантазия -фантазиям -фантазиях -фантаст -фантастичен -фантастические -фантастическим -фантастического -фантастическое -фантастическому -фантастическую -фантастична -фантастичностью -фанфарон -фанфаронишки -фанфаронства -фанфароню -фартуке -фартуком -фартучек -фарфор -фарфоровые -фарфоровых -фаршированные -фасона -фат -фата -фатальное -фатер -фатера -фатере -фатеришку -фатеру -фатеры -фатой -фатом -фатою -фаты -фауну -фауст -фаустами -феврале -февраль -февраля -федераций -федор -федора -федоровна -федоровной -федоровны -федосья -федот -федотик -федотика -федотиком -федя -федяева -фейерверк -фейерверков -фельдшер -феномен -феноменальным -ферапонт -ферапонта -ферапонтом -ферапонту -фермах -фермера -фермуар -фермы -ферулой -фески -фестонами -фестонов -фестоны -фет -фефелой -фи -фиалки -фигляр -фигура -фигурам -фигуре -фигурка -фигуркой -фигурой -фигуру -фигуры -физиологически -физиологию -физиология -физиономией -физиономии -физиономий -физиономию -физиономия -физически -физические -физическими -физического -физическое -физическом -физическую -филе -филин -филипп -филиппа -филиппе -филиппики -филиппо -филиппом -филистера -философ -философии -философистика -философию -философия -философом -философская -философских -философствовал -философствовать -философствуем -философствует -философствуете -философствуй -философствуют -философы -филька -фимиам -финансах -финансист -финансовой -финик -финифтяный -финляндии -финляндию -финляндия -финская -финский -фиолетовая -фирс -фирса -фирсом -фирсу -фистулу -флакон -фламандки -фланги -фланелевое -фланера -флегматически -флейта -флер -флеровое -флером -флигеле -флигель -флигеля -флигелям -флобера -флобером -флорентийский -флорентийской -флоренции -флоренцию -флоренция -флору -флот -фокус -фокусы -фома -фоминой -фомич -фомича -фомиче -фомичем -фомичом -фомичу -фон -фонаре -фонарей -фонарем -фонари -фонарик -фонарном -фонарь -фонаря -фонд -фондов -фоне -фонтан -фонтанов -фонтаном -фону -форелей -форели -форель -форм -форма -формалистики -формально -формальностей -формам -формами -формах -форме -форменно -форменное -форменной -форменном -формировалась -формироваться -формируется -формой -форму -формулирован -формулярных -формы -фортепианах -фортепиано -фортепьян -фортепьяно -форточек -форточки -форточку -фортуной -фортуну -фотографии -фотографию -фотография -фотографом -фра -фраз -фраза -фразами -фразах -фразе -фразер -фразу -фразы -фрак -фрака -фраке -фраком -франс -франт -франта -франтов -франтом -франты -франц -францевна -францевне -францевны -франции -франциска -францию -француженке -француженки -француженок -француз -француза -французах -французов -французски -французские -французский -французским -французского -французское -французской -французском -французскому -французы -фрегате -фреской -фри -фривольное -фруктах -фрукты -фу -фуй -фунт -фунта -фунтов -фуражечку -фуражка -фуражках -фуражке -фуражки -фуражкой -фуражку -фурор -фурье -футляр -футляра -футлярах -футляре -футляров -футляры -футуризм -футуризма -футуриста -фуфайки -фуфайку -фыркает -фыркать -фыркнул -фыркнули -фье -фьезоле -х -ха -хаживал -халат -халата -халатах -халате -халатом -хам -хандра -хандрил -хандрит -хандрить -хандрой -ханжу -ханской -хаос -хаоса -хаосе -характер -характера -характере -характеристике -характеристики -характеристику -характерная -характерно -характерность -характерные -характерный -характером -характеру -характеры -харей -хари -харкает -харламов -харламова -харчевен -харчевне -харчевни -харчевню -харчевня -харьков -харькова -харькове -харьковские -харькоеве -хата -хвалил -хвалилась -хвалили -хвалился -хвалимому -хвалит -хвалится -хвалить -хвалу -хвалы -хвалят -хвастался -хвастаться -хвастают -хвастливостей -хвастун -хватавшемуся -хватает -хватаете -хватается -хватал -хватало -хватать -хватаю -хватаются -хватающий -хватая -хватаясь -хватил -хватили -хватились -хватило -хватит -хватится -хватишься -хвать -хвораете -хворал -хвораю -хворая -хвост -хвостатой -хвостом -хе -хений -хераскова -херес -хересу -херувима -херувимов -херувимову -хижин -хижина -хижине -химерой -химеры -хины -хирург -хитер -хитон -хитра -хитрая -хитрее -хитрей -хитрейшего -хитрейшим -хитреца -хитрецы -хитрила -хитрить -хитришь -хитро -хитрого -хитрое -хитрости -хитростная -хитрость -хитростью -хитростями -хитрые -хитрый -хитрым -хитрят -хихикайте -хихикал -хихикали -хихикание -хихиканье -хихикать -хихикая -хищник -хищница -хищной -хищный -хлад -хлада -хладен -хладно -хладнокровен -хладнокровие -хладнокровием -хладнокровнее -хладнокровно -хладном -хладные -хладных -хлам -хламом -хлеб -хлеба -хлебе -хлебника -хлебнику -хлебнувшая -хлебные -хлебом -хлебцем -хлестала -хлестнул -хлещет -хлещи -хлой -хлоп -хлопает -хлопали -хлопаньем -хлопанья -хлопать -хлопнул -хлоповых -хлопот -хлопотавшей -хлопотал -хлопотала -хлопотали -хлопотам -хлопотами -хлопотать -хлопотах -хлопотливо -хлопотливой -хлопотливые -хлопотун -хлопоты -хлопочем -хлопочет -хлопочете -хлопочи -хлопочу -хлопочут -хлопьями -хлороформом -хлынет -хлынувшую -хлынул -хлынула -хлынули -хлынуло -хлынут -хлынь -хлыст -хлыста -хлыстиком -хлыстом -хме -хмелел -хмелен -хмель -хмельней -хмельной -хмелю -хмеля -хмурилась -хмурился -хмуритесь -хмурится -хмуришься -хмурые -хмурьтесь -хмурясь -хныкать -хнычет -хнычешь -хнычущих -хо -ход -хода -ходатай -ходе -ходи -ходил -ходила -ходили -ходило -ходиль -ходим -ходит -ходите -ходить -ходишь -ходу -ходьба -ходьбы -ходя -ходят -ходячей -ходящее -хожалые -хождение -хождением -хождении -хождения -хожу -хозе -хозяев -хозяева -хозяевам -хозяин -хозяина -хозяином -хозяину -хозяйка -хозяйке -хозяйки -хозяйкина -хозяйкиной -хозяйкиною -хозяйкины -хозяйкой -хозяйку -хозяйничает -хозяйничала -хозяйничать -хозяйская -хозяйские -хозяйский -хозяйским -хозяйского -хозяйское -хозяйской -хозяйскую -хозяйства -хозяйстве -хозяйственная -хозяйственно -хозяйственном -хозяйственные -хозяйственным -хозяйственных -хозяйство -хозяйством -хозяйству -хозяюшка -холера -холеру -холм -холма -холмам -холмами -холмах -холмик -холмов -холмы -холод -холода -холоде -холодеет -холодело -холоден -холодеющим -холодея -холодке -холодна -холодная -холоднее -холодно -холодного -холодное -холодной -холодном -холодности -холодность -холодною -холодную -холодный -холодным -холодными -холодных -холодок -холодом -холоду -холодя -холопов -холостой -холостою -холостых -холста -холстинные -холстинными -холстины -хомут -хомуты -хор -хора -хорватов -хоре -хорек -хоровод -хороводе -хоровую -хором -хоронит -хоронить -хоронишь -хорош -хороша -хорошая -хорошего -хорошее -хорошей -хорошем -хорошенькая -хорошенькие -хорошенький -хорошенько -хорошенького -хорошенькое -хорошенькой -хорошенькою -хорошенькую -хороши -хорошие -хороший -хорошим -хороших -хорошо -хорошую -хору -хорунжина -хотевшему -хотевшую -хотел -хотела -хотели -хотело -хотелось -хотель -хотеть -хотим -хотите -хоть -хотя -хотят -хохлами -хохлом -хохлушка -хохот -хохота -хохотал -хохотала -хохотали -хохотать -хохоте -хохотом -хохоча -хохочет -хохочешь -хохочут -хочет -хочется -хочешь -хочу -хошь -храбрая -храбреца -храбрится -храбро -храбрости -храм -храма -храни -хранил -хранилась -хранили -хранилось -хранит -хранится -хранить -храню -храня -храп -храпенье -храпенья -храпеть -храпит -храпя -хребту -хрен -хреном -хрену -хрипел -хрипенье -хрипеть -хрипит -хрипло -хриплый -хриплым -хрипят -христа -христе -христианин -христиански -христианской -христов -христовых -христом -христос -христу -хром -хромая -хромой -хроники -хроническою -хрупкие -хрупко -хрупкого -хруст -хруста -хрустали -хрусталь -хрустальная -хрустального -хрустальной -хрустальном -хрустальные -хрустальный -хрустальным -хрустел -хрусти -хрустит -хрычовки -худ -худа -худая -худенькая -худенькое -худенькой -худенькому -худо -худое -художественная -художественно -художественного -художественное -художественной -художественность -художественный -художество -художник -художника -художники -художников -худой -худосочный -худощав -худощавый -худую -худы -худые -хуже -хулений -хулу -хуторков -хуторок -хуторочки -цапли -царе -царевна -царевнах -царевне -царевной -царем -царили -цариц -царица -царицей -царский -царских -царское -царской -царств -царственный -царствие -царствии -царство -царствовал -царствовали -царством -царствует -царствуют -царь -царьграда -царьградских -царю -царя -цвел -цвела -цвели -цвело -цвет -цвета -цветам -цветами -цветах -цвете -цветенья -цветет -цветешь -цветка -цветками -цветки -цветком -цветная -цветник -цветникам -цветники -цветной -цветном -цветным -цветных -цветов -цветок -цветочками -цветочки -цветочков -цвету -цветут -цветущая -цветущие -цветы -цезаря -цел -целая -целебным -целей -цели -целию -целковому -целковый -целковыми -целковых -целовал -целовала -целовали -целовало -целовался -целовании -целовать -целоваться -целого -целое -целой -целом -целому -целомудрен -целомудренна -целомудренно -целомудренность -целомудренные -целомудрие -целомудрием -целомудрии -целостности -целость -целою -целу -целует -целуется -целуешь -целую -целуют -целуются -целующуюся -целуя -целы -целые -целый -целым -целыми -целых -цель -цельная -цельного -цельный -целью -целям -целями -цена -цене -цени -ценил -ценим -ценит -цените -ценить -ценишь -ценными -ценою -центр -центра -центров -цену -цены -ценю -ценя -ценят -цепей -цепенея -цепи -цепкими -цеплялся -цепной -цепочка -цепочками -цепочках -цепочке -цепочки -цепочку -цепь -цепями -церемонией -церемонии -церемонится -церемониться -церемонно -церемонятся -церквах -церквей -церкви -церковной -церковные -церковь -церковью -цеховое -цивилизованной -цикорию -цикория -цилиндра -цилиндре -циммермана -циммермановская -цинизм -цинизме -циник -циников -циником -циническим -циническое -цинично -циничный -цирках -циркуляция -цирфа -цирюльник -цитат -цитуется -цифр -цифрах -цифру -цифры -цицикар -цоканья -цссс -цугундер -цуниги -цусимой -цыганка -цыганкой -цыганская -цыганские -цыганских -цыганского -цыганской -цып -цыпленка -цыпленок -цыплят -цыплята -цыплятами -цыплятах -цыпочка -цыпочках -цыпочки -ча -чад -чада -чадила -чадин -чадры -чаду -чае -чаем -чаи -чаишко -чай -чайка -чайки -чайкой -чайку -чайная -чайник -чайнике -чайников -чайницы -чайного -чайное -чайной -чайном -чайным -чалма -чалме -чар -чародейную -чародею -чарой -чару -чарует -чарым -час -часа -часам -часами -часах -часик -часика -часов -часовая -часовенка -часовни -часовню -часовня -часовой -часок -часом -частенько -части -частию -частного -частной -частном -частному -частности -частную -частные -частный -частных -часто -частые -частым -частыми -часть -частью -частям -частях -часу -часы -чахнет -чахнут -чахнуть -чахотка -чахотке -чахотки -чахоткой -чахотку -чахоточная -чахоточное -чахоточной -чахоточном -чахоточному -чахоточную -чахоточный -чаша -чашей -чашек -чашечку -чаши -чашка -чашками -чашки -чашкой -чашку -чашу -чащ -чаще -чащу -чаю -чая -чаями -че -чебаров -чебарова -чебарову -чебаровым -чебутыкин -чебутыкина -чебутыкину -чебутыкины -чебутыкиным -чего -чей -чекменев -челе -челках -челки -челн -челноке -чело -человек -человека -человекам -человеками -человеке -человеком -человеку -человечек -человеческая -человечески -человеческие -человеческий -человеческим -человеческих -человеческого -человеческое -человеческой -человеческому -человеческую -человечества -человечество -человечеству -человечка -человечности -человечность -человечьем -челом -чем -чемодан -чемодана -чемоданов -чемоданом -чемоданы -чему -чепец -чепраках -чепуха -чепухою -чепуху -чепца -чепце -чепцов -чепцом -чепцу -чепцы -чепчик -чепчика -чепчике -чепчиком -чер -червовый -червонно -червонного -червь -червяки -чердак -чердаке -черед -чередовалась -чередой -через -черемухи -черемша -черемши -черен -черенками -череп -черепа -черепаха -черепка -черепки -черепок -черепом -черепу -чересчур -черна -черная -чернее -чернеет -чернеется -чернейшей -чернелись -чернелось -черненький -чернеют -черни -чернил -чернила -чернилах -чернильница -чернильнице -чернильницей -чернильницу -чернильницы -черно -черноброва -черноволосый -черноглаза -черного -черное -черноземным -черной -черном -черному -черноокая -чернорабочий -чернота -черноте -черноту -черною -черную -черные -черный -черным -черными -черных -чернь -черпай -черпают -черпнуть -черство -черствый -черствым -черт -черта -чертам -чертами -чертах -черте -чертежа -чертеже -чертежи -чертей -черти -чертиков -чертил -чертила -чертит -чертить -чертовски -чертог -чертой -черточек -черточка -черточками -черточку -чертою -черту -черты -чертя -чесал -чесался -чесать -чеснока -чествует -честей -честен -чести -честит -честна -честная -честнее -честнейшая -честнейшее -честнейшие -честно -честного -честное -честной -честности -честность -честную -честны -честные -честный -честным -честными -честных -честолюбие -честчым -честь -честью -чет -чета -четверг -четвергам -четвергу -четверо -четвертаки -четвертая -четвертей -четверти -четвертого -четвертое -четвертой -четвертом -четвертую -четвертый -четвертым -четвертых -четверть -четверым -четко -четкости -четыре -четырем -четыреста -четырех -четырехугольника -четырехэтажного -четырехэтажный -четырнадцати -четырнадцатилетний -четырнадцатилетнюю -четырнадцать -чехартма -чехартмы -чехла -чехлами -чехов -чеченская -чешет -чешется -чешутся -чешую -чи -чижами -чижи -чик -чиканием -чин -чина -чинах -чинила -чинит -чинить -чиннее -чинно -чинной -чинною -чинные -чинный -чинных -чинов -чиновник -чиновника -чиновниками -чиновники -чиновников -чиновником -чиновнику -чиновница -чиновницу -чиновницы -чиновничеством -чиновничье -чиновничьи -чиновного -чиновной -чиновный -чиновных -чином -чину -чины -чирикала -чирикали -чисел -числа -числе -численно -число -числом -числю -числюсь -чист -чиста -чистая -чистейшего -чистейший -чистенькие -чистенький -чистеньким -чистил -чистит -чистить -чистишь -чистки -чисто -чистого -чистое -чистой -чистом -чистому -чистоплотен -чистоплотно -чистосердечно -чистосердечное -чистота -чистоте -чистотой -чистоту -чистоты -чистою -чистую -чисты -чистые -чистый -чистым -чистыми -чистых -чисть -чистюлька -чит -читаем -читает -читаете -читаешь -читай -читайте -читал -читала -читалась -читали -читалось -читаль -читальни -читальню -читателем -читатель -читателю -читателя -читать -читаю -читают -читая -читка -читу -чиханье -чихать -чихнул -чихнуть -чище -чищены -чищенье -чищенья -чищу -член -члена -членам -членах -членом -члену -члены -чмокаться -чокается -чопорно -чопорного -чопорный -чорт -чортом -чревовещательница -чреду -чрез -чрезвычайная -чрезвычайно -чрезвычайного -чрезвычайное -чрезвычайной -чрезвычайном -чрезвычайною -чрезвычайный -чрезвычайным -чрезмерно -чрезмерный -чт -чтение -чтением -чтении -чтений -чтения -чтимый -чтит -чтить -что -чтоб -чтобы -чтой -чту -чу -чубуки -чубы -чув -чувств -чувства -чувствам -чувствами -чувствах -чувстве -чувствительна -чувствительно -чувствительного -чувствительное -чувствительной -чувствительном -чувствительные -чувствительный -чувствительными -чувство -чувствовал -чувствовала -чувствовали -чувствовать -чувством -чувству -чувствуем -чувствует -чувствуете -чувствуется -чувствуешь -чувствую -чувствуют -чувствующий -чувствуя -чугун -чугуна -чугуне -чугунке -чугунное -чугунной -чугунный -чугунными -чуда -чудак -чудака -чудаками -чудаки -чудаком -чудачество -чудачка -чуде -чуден -чудес -чудеса -чудесен -чудесная -чудеснее -чудеснейший -чудесно -чудесного -чудесное -чудесные -чудесный -чудесным -чудесных -чудится -чудище -чудищу -чудная -чудно -чудной -чудном -чудные -чудный -чудным -чудо -чудовищ -чудовища -чудовищам -чудовищами -чудовище -чудовищная -чудовищное -чудовищной -чудовищности -чудовищные -чудовищный -чудом -чуду -чудь -чует -чуешь -чужая -чужд -чужда -чуждается -чуждался -чуждо -чуждом -чужды -чуждые -чуждый -чужие -чужим -чужими -чужих -чужого -чужое -чужой -чужом -чужому -чужую -чулана -чулане -чуланы -чулка -чулкам -чулках -чулки -чулков -чулок -чулочки -чулочную -чуме -чумичка -чумички -чурбан -чутки -чуткие -чуткий -чуткими -чутко -чуткость -чутошном -чуть -чухонец -чухонка -чухонки -чухонца -чухонцы -чучелами -чучело -чушь -чуют -чуя -чуять -чье -чьего -чьей -чьи -чьим -чьими -чьих -чья -шабаш -шаг -шага -шагает -шагал -шагала -шагали -шагами -шагания -шагах -шагают -шагающая -шагая -шаге -шаги -шагни -шагнул -шагнула -шагнуть -шагов -шагом -шагу -шажищами -шайка -шайку -шакалы -шали -шалил -шалит -шалить -шаловлив -шаловливость -шаловливый -шалости -шалун -шалунья -шалый -шаль -шалью -шаля -шалят -шаман -шампанским -шампанского -шампанское -шампанском -шамраев -шамраева -шамраеву -шамшевки -шансы -шапка -шапке -шапки -шапку -шапочка -шапочки -шар -шара -шарах -шаре -шарил -шарить -шаркнула -шаркнуло -шарлатанства -шарлотта -шарлотте -шарлотту -шарманка -шарманки -шарманкой -шарманку -шарманщик -шарманщика -шарманщики -шарманщику -шармера -шаро -шаров -шароварах -шаром -шарфик -шаршавого -шары -шаря -шатается -шатаешься -шатайся -шаталось -шатался -шатанья -шататься -шатающимся -шатающихся -шатаясь -шатер -шатка -шаткими -шафером -шахматово -шахтах -швам -швах -швейцар -швейцарии -швейцарию -швейцарского -швейцарском -швейцары -швыряет -швыряла -швыряя -ше -шевели -шевелил -шевелилась -шевелилось -шевелился -шевелись -шевелит -шевелить -шевелиться -шевелишься -шевельнет -шевельнувшись -шевельнулась -шевельнулось -шевельнулся -шевельнуться -шевеля -шевелясь -шее -шеей -шеи -шейного -шекспир -шекспира -шел -шелест -шелестит -шелесты -шелестят -шелк -шелка -шелками -шелковистые -шелковое -шелковом -шелковою -шелковые -шелковый -шелковым -шелковых -шелком -шеловек -шеломами -шелопаева -шелохнутся -шельма -шельмой -шельму -шепнет -шепнешь -шепнул -шепнула -шепот -шепота -шепотливые -шепотом -шепоту -шептал -шептала -шепталась -шептались -шептаний -шептать -шепча -шепчем -шепчет -шепчут -шепчутся -шепчущие -шерстку -шерсть -шерстяное -шерстяной -шерстяном -шерстяную -шест -шестая -шествие -шестеро -шести -шестидесяти -шестнадцати -шестнадцатилетнего -шестнадцатилетний -шестнадцать -шестого -шестое -шестой -шестом -шестому -шесть -шестьдесят -шестьсот -шею -шея -ши -шиканье -шила -шиллер -шиллера -шиллеровских -шило -шилось -шиля -шинели -шинель -шипевших -шипел -шипенье -шипит -шипка -шиповник -шипы -шипящую -шире -шириной -шириною -ширину -ширины -ширится -ширм -ширмами -ширмой -ширму -ширмы -широк -широка -широкая -широкие -широкий -широким -широкими -широких -широко -широкого -широкое -широкой -широком -широкостью -широкою -широкую -ширь -ширятся -шитом -шитую -шитые -шить -шитье -шитьем -шитья -шиш -шиша -шишка -шкалик -шкандаль -шкапа -шкапом -шкапу -шкатулка -шкатулке -шкатулку -шкаф -шкафа -шкафах -шкафик -шкафом -шкафу -шкафчика -шкафы -школа -школах -школе -школу -школы -школьник -школьника -шкуре -шла -шлафрок -шлафрока -шлезвиг -шлеи -шлейф -шлем -шлепохвосткам -шлепохвостниц -шлет -шлешь -шли -шло -шлю -шлют -шляешься -шлялись -шлялся -шляпа -шляпах -шляпе -шляпка -шляпке -шляпки -шляпку -шляпник -шляпой -шляпу -шляпы -шляркой -шляться -шмель -шмыгали -шмыгать -шмыгнул -шнурка -шнурочек -шныряли -шныряю -шопенгауэр -шопот -шопота -шопоте -шопотом -шоркает -шоркнуло -шорох -шоссе -шоссейная -шоссейный -шотландский -шотландском -шпаги -шпал -шпиле -шпилек -шпильки -шпор -шпорою -шпоры -шпынял -шта -штаб -штабных -штабс -штанами -штаны -штат -штатам -штатах -штатские -штатский -штатскими -штатских -штатского -штатское -штату -штейн -штиблетах -што -штольне -штольц -штольца -штольце -штольцев -штольцем -штольцу -штопать -штор -штора -шторами -штору -шторы -штоф -штофа -штраф -штрих -штрихом -штрюком -штук -штука -штукатурка -штуки -штукой -штуку -штучка -штучки -штучку -штык -штыки -штыком -шуб -шубе -шубенке -шуберта -шубка -шубки -шубкой -шубу -шубы -шулер -шулерами -шулером -шум -шума -шумана -шуме -шумел -шуметь -шуми -шумиловой -шумиловское -шумит -шумна -шумней -шумно -шумного -шумной -шумный -шумных -шумом -шуму -шумят -шумящих -шурин -шурша -шуршит -шут -шути -шутил -шутила -шутили -шутим -шутит -шутите -шутить -шутишь -шутка -шутками -шутке -шутки -шуткой -шутку -шутливо -шутник -шутовский -шутовского -шуточки -шуточное -шуты -шутя -шутят -шучу -шушуканье -шхун -шьет -шьют -щадил -щадила -щадит -щадите -щадя -ще -щебет -щебечут -щеголевато -щеголиха -щегольская -щегольски -щегольские -щегольский -щегольских -щегольское -щегольской -щегольском -щеголял -щеголять -щедр -щедрина -щедрость -щедрот -щей -щек -щекам -щеками -щеках -щеке -щеки -щекотал -щекотала -щекотлив -щекотливенькая -щекотливо -щекотливое -щекотливость -щеку -щелей -щели -щелкает -щелканье -щелканья -щелкать -щелкают -щелкнул -щелкнуть -щелку -щелочка -щелочке -щелочки -щелочку -щелчки -щель -щемящей -щемящему -щемящие -щенка -щенке -щенком -щенок -щепоточку -щербатый -щетина -щетинистыми -щетину -щетками -щетки -щеткой -щетку -щечкам -щечке -щечки -щи -щина -щипал -щипала -щиплет -щипцами -щит -щите -щитом -щуки -щупать -щупленькая -щурят -ы -э -эа -эва -эвона -эвося -эге -эгоизм -эгоизма -эгоизме -эгоист -эгоистка -эгоистки -эгоистом -эгофутуризм -эдак -эдакая -эдгар -эдгара -эй -эйфелевой -эк -эка -экая -экзамен -экзаменовать -экзекутор -экземпляра -экземплярах -экземпляру -экзотический -экие -экий -экипаж -экипажа -экипажах -экипаже -экипажи -эко -экое -экой -экономией -экономии -экономическая -экономические -экономическим -экономических -экономической -экономию -экономия -экономка -экономки -экономку -экс -экспансивности -экспансивностями -экспедицию -экстраординарная -эксцентричен -эксцентрическая -эксцентрический -эксцентрических -эксцентрическом -эксцентричнее -элегий -электрическую -электричества -электронная -электронной -электронный -элементами -элементом -элементы -эмалью -эмансипации -эмансипацию -эмблема -эмеритуру -эмс -энергией -энергии -энергически -энергический -энергическим -энергично -энергия -энтузиазм -энтузиазма -энтузиазмом -энциклопедическом -эпи -эпиграфом -эпидемию -эпизод -эпизодическим -эпизодическое -эпизодов -эпикуреец -эпилог -эпилога -эпилоге -эпилогом -эпитафия -эпитет -эполеты -эпопеи -эпох -эпоха -эпохам -эпохи -эпоху -эрара -эрлангене -эрмитаж -эру -эры -эскамильо -эско -эспаньолкой -эссенция -эстет -эстетика -эстетике -эстетики -эстетическая -эстетически -эстетическое -эстраде -эстрадой -эстраду -эстрады -эта -этаж -этажа -этажах -этаже -этажерками -этажерках -этажерке -этажерки -этажерку -этажи -этажом -этажу -этак -этака -этакая -этакие -этакий -этаким -этакими -этаких -этакого -этакое -этакой -этаком -этакому -этаку -этакую -эти -этим -этими -этих -это -этого -этой -этом -этому -этот -этою -этта -эту -этюдов -эфемерная -эфемерное -эфес -эфир -эфирной -эфиром -эффект -эффекта -эх -эхо -эшафот -эшафоте -эшафоту -эшелон -ю -юбилей -юбка -юбке -юбки -юбкой -юбку -ювелира -ювелирская -ювелирский -ювенал -юг -юга -юдоли -южной -южный -южных -юла -юлишь -юмора -юная -юнкер -юного -юной -юности -юность -юностью -юноша -юношам -юношами -юношей -юношеские -юношеский -юношескою -юношественные -юношеством -юноши -юношу -юную -юный -юным -юных -юпитер -юридистике -юридические -юридический -юридическими -юридического -юридическое -юридической -юридическом -юридическому -юриспруденции -юристов -юристом -юристы -юрию -юркнула -юродивая -юродивой -юродивые -юродивым -юрты -юсупов -юсупова -юсуповом -юшин -ющинского -я -яблок -яблокам -яблоками -яблоки -яблоко -яблоку -яблони -яблонь -явившийся -явившись -явилась -явились -явилось -явился -явись -явитесь -явится -явиться -явка -явки -явку -явление -явлением -явлений -явления -явлениями -явлениях -явленьем -явлюсь -является -являйся -являлась -являлись -являлось -являлся -являться -являются -являющаяся -являясь -явная -явно -явное -явною -явный -явным -явственнее -явственно -явь -явятся -ягод -ягоды -яд -яде -ядовитая -ядовитей -ядовито -ядовитое -ядовитой -ядовиты -ядовитый -ядовитым -ядовитых -ядом -ядра -ядро -яду -язва -язвами -язвах -язве -язвила -язвили -язвите -язвительно -язвительного -язвительное -язвительность -язвительный -язвы -язык -языка -языками -языке -языки -языком -языку -яиц -яичка -яичницей -яичницу -яичными -яйца -яйцами -яйцах -яйцом -яко -якобы -яков -якову -якорей -якорь -якоря -ямайский -ямайском -ямах -ямб -ямба -ямбы -яме -ямка -ямку -ямой -ямочками -ямской -яму -ямщик -ямщика -ямы -январе -январь -января -янтарная -янтарной -янтарь -ярка -яркая -ярки -яркие -яркий -ярким -ярких -ярко -яркого -яркой -ярком -яркость -яркостью -яркую -ярлык -ярлычки -ярмарка -ярмаркам -ярмарке -ярмарку -ярмо -яровое -ярок -ярославль -ярославская -ярости -яростно -яростное -ярость -яростью -ярче -ярый -ясен -ясеневыми -ясли -ясна -ясная -яснее -яснеет -ясно -ясного -ясное -ясной -ясном -ясности -ясность -ясную -ясны -ясные -ясный -ясным -ясных -яств -ястреб -ястреба -ят -яхонтовым -ячмени -ячменный -ячмень -ячменях -яша -яше -яшей -яши -яшнево -яшу -ящик -ящика -ящикам -ящике diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java index b12c8624808..f129f7efa55 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java @@ -16,18 +16,17 @@ package org.apache.lucene.analysis.sinks; * limitations under the License. */ -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.BaseTokenStreamTestCase; -import org.apache.lucene.analysis.CachingTokenFilter; -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; +import java.io.IOException; +import java.io.StringReader; + +import org.apache.lucene.analysis.*; import org.apache.lucene.analysis.core.LowerCaseFilter; import org.apache.lucene.analysis.core.WhitespaceAnalyzer; import org.apache.lucene.analysis.core.WhitespaceTokenizer; import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; +import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexReader; @@ -37,8 +36,6 @@ import org.apache.lucene.index.TermVectorOffsetInfo; import org.apache.lucene.store.Directory; import org.apache.lucene.util.AttributeSource; import org.apache.lucene.util.English; -import java.io.IOException; -import java.io.StringReader; /** @@ -168,10 +165,10 @@ public class TestTeeSinkTokenFilter extends BaseTokenStreamTestCase { buffer.append(English.intToEnglish(i).toUpperCase()).append(' '); } //make sure we produce the same tokens - TeeSinkTokenFilter teeStream = new TeeSinkTokenFilter(new StandardFilter(new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString())))); + TeeSinkTokenFilter teeStream = new TeeSinkTokenFilter(new StandardFilter(TEST_VERSION_CURRENT, new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString())))); TokenStream sink = teeStream.newSinkTokenStream(new ModuloSinkFilter(100)); teeStream.consumeAllTokens(); - TokenStream stream = new ModuloTokenFilter(new StandardFilter(new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString()))), 100); + TokenStream stream = new ModuloTokenFilter(new StandardFilter(TEST_VERSION_CURRENT, new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString()))), 100); CharTermAttribute tfTok = stream.addAttribute(CharTermAttribute.class); CharTermAttribute sinkTok = sink.addAttribute(CharTermAttribute.class); for (int i=0; stream.incrementToken(); i++) { @@ -184,12 +181,12 @@ public class TestTeeSinkTokenFilter extends BaseTokenStreamTestCase { int tfPos = 0; long start = System.currentTimeMillis(); for (int i = 0; i < 20; i++) { - stream = new StandardFilter(new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString()))); + stream = new StandardFilter(TEST_VERSION_CURRENT, new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString()))); PositionIncrementAttribute posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class); while (stream.incrementToken()) { tfPos += posIncrAtt.getPositionIncrement(); } - stream = new ModuloTokenFilter(new StandardFilter(new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString()))), modCounts[j]); + stream = new ModuloTokenFilter(new StandardFilter(TEST_VERSION_CURRENT, new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString()))), modCounts[j]); posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class); while (stream.incrementToken()) { tfPos += posIncrAtt.getPositionIncrement(); @@ -201,7 +198,7 @@ public class TestTeeSinkTokenFilter extends BaseTokenStreamTestCase { //simulate one field with one sink start = System.currentTimeMillis(); for (int i = 0; i < 20; i++) { - teeStream = new TeeSinkTokenFilter(new StandardFilter(new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString())))); + teeStream = new TeeSinkTokenFilter(new StandardFilter(TEST_VERSION_CURRENT, new StandardTokenizer(TEST_VERSION_CURRENT, new StringReader(buffer.toString())))); sink = teeStream.newSinkTokenStream(new ModuloSinkFilter(modCounts[j])); PositionIncrementAttribute posIncrAtt = teeStream.getAttribute(PositionIncrementAttribute.class); while (teeStream.incrementToken()) { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java index e5771c3c40e..6b5ae1844fe 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java @@ -71,7 +71,7 @@ public class TestSnowball extends BaseTokenStreamTestCase { /** * Test turkish lowercasing (old buggy behavior) - * @deprecated Remove this when support for 3.0 indexes is no longer required + * @deprecated (3.1) Remove this when support for 3.0 indexes is no longer required (5.0) */ @Deprecated public void testTurkishBWComp() throws Exception { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilter.java index 311e41368b2..2c68e047abf 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilter.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilter.java @@ -17,18 +17,6 @@ package org.apache.lucene.analysis.synonym; -import org.apache.lucene.analysis.BaseTokenStreamTestCase; -import org.apache.lucene.analysis.Token; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Tokenizer; -import org.apache.lucene.analysis.core.WhitespaceTokenizer; -import org.apache.lucene.analysis.tokenattributes.FlagsAttribute; -import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; -import org.apache.lucene.analysis.tokenattributes.PayloadAttribute; -import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; -import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -import org.apache.lucene.analysis.tokenattributes.TypeAttribute; - import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; @@ -36,6 +24,13 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; +import org.apache.lucene.analysis.BaseTokenStreamTestCase; +import org.apache.lucene.analysis.Token; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.core.WhitespaceTokenizer; +import org.apache.lucene.analysis.tokenattributes.*; + /** * @version $Id$ */ @@ -332,7 +327,7 @@ public class TestSynonymFilter extends BaseTokenStreamTestCase { * a/b => tokens a and b share the same spot (b.positionIncrement=0) * a,3/b/c => a,b,c all share same position (a.positionIncrement=3, b.positionIncrement=0, c.positionIncrement=0) * a,1,10,11 => "a" with positionIncrement=1, startOffset=10, endOffset=11 - * @deprecated does not support attributes api + * @deprecated (3.0) does not support attributes api */ @Deprecated private List tokens(String str) { @@ -378,7 +373,7 @@ public class TestSynonymFilter extends BaseTokenStreamTestCase { } /** - * @deprecated does not support custom attributes + * @deprecated (3.0) does not support custom attributes */ @Deprecated private static class IterTokenStream extends TokenStream { diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java index f9a95cf6b0c..af45f0d17bc 100644 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java @@ -52,7 +52,7 @@ public class TestThaiAnalyzer extends BaseTokenStreamTestCase { /** * Thai numeric tokens were typed as instead of . - * @deprecated testing backwards behavior + * @deprecated (3.1) testing backwards behavior */ @Deprecated public void testBuggyTokenType30() throws Exception { @@ -64,7 +64,7 @@ public class TestThaiAnalyzer extends BaseTokenStreamTestCase { "", "", "" }); } - /** @deprecated testing backwards behavior */ + /** @deprecated (3.1) testing backwards behavior */ @Deprecated public void testAnalyzer30() throws Exception { assumeTrue("JRE does not support Thai dictionary-based BreakIterator", ThaiWordFilter.DBBI_AVAILABLE); @@ -126,7 +126,7 @@ public class TestThaiAnalyzer extends BaseTokenStreamTestCase { new String[] { "บริษัท", "ชื่อ", "xy", "z", "คุย", "กับ", "xyz@demo.com" }); } - /** @deprecated, for version back compat */ + /** @deprecated (3.1) for version back compat */ @Deprecated public void testReusableTokenStream30() throws Exception { assumeTrue("JRE does not support Thai dictionary-based BreakIterator", ThaiWordFilter.DBBI_AVAILABLE); diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java index 643cda81366..8983ead9bf3 100755 --- a/modules/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java +++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java @@ -17,15 +17,8 @@ package org.apache.lucene.analysis.util; * limitations under the License. */ -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.Iterator; +import java.util.*; -import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.util.Version; @@ -167,7 +160,7 @@ public class TestCharArraySet extends LuceneTestCase { } try{ - set.addAll(Arrays.asList(new String[]{NOT_IN_SET})); + set.addAll(Arrays.asList(NOT_IN_SET)); fail("Modified unmodifiable set"); }catch (UnsupportedOperationException e) { // expected @@ -258,7 +251,7 @@ public class TestCharArraySet extends LuceneTestCase { } /** - * @deprecated remove this test when lucene 3.0 "broken unicode 4" support is + * @deprecated (3.1) remove this test when lucene 3.0 "broken unicode 4" support is * no longer needed. */ @Deprecated @@ -290,7 +283,7 @@ public class TestCharArraySet extends LuceneTestCase { } /** - * @deprecated remove this test when lucene 3.0 "broken unicode 4" support is + * @deprecated (3.1) remove this test when lucene 3.0 "broken unicode 4" support is * no longer needed. */ @Deprecated @@ -343,9 +336,8 @@ public class TestCharArraySet extends LuceneTestCase { setCaseSensitive.addAll(Arrays.asList(TEST_STOP_WORDS)); setCaseSensitive.add(Integer.valueOf(1)); - // This should use the deprecated methods, because it checks a bw compatibility. - CharArraySet copy = CharArraySet.copy(setIngoreCase); - CharArraySet copyCaseSens = CharArraySet.copy(setCaseSensitive); + CharArraySet copy = CharArraySet.copy(TEST_VERSION_CURRENT, setIngoreCase); + CharArraySet copyCaseSens = CharArraySet.copy(TEST_VERSION_CURRENT, setCaseSensitive); assertEquals(setIngoreCase.size(), copy.size()); assertEquals(setCaseSensitive.size(), copy.size()); @@ -502,32 +494,6 @@ public class TestCharArraySet extends LuceneTestCase { } catch (NullPointerException e) {} } - @Deprecated @SuppressWarnings("unchecked") - public void testIterator() { - HashSet hset = new HashSet(); - hset.addAll(Arrays.asList(TEST_STOP_WORDS)); - - assertTrue("in 3.0 version, iterator should be CharArraySetIterator", - ((Iterator) CharArraySet.copy(Version.LUCENE_30, hset).iterator()) instanceof CharArraySet.CharArraySetIterator); - - CharArraySet set = CharArraySet.copy(TEST_VERSION_CURRENT, hset); - assertFalse("in current version, iterator should not be CharArraySetIterator", - ((Iterator) set.iterator()) instanceof CharArraySet.CharArraySetIterator); - - Iterator it = set.stringIterator(); - assertTrue(it instanceof CharArraySet.CharArraySetIterator); - while (it.hasNext()) { - // as the set returns String instances, this must work: - assertTrue(hset.contains(it.next())); - try { - it.remove(); - fail("remove() should not work on CharArraySetIterator"); - } catch (UnsupportedOperationException uoe) { - // pass - } - } - } - public void testToString() { CharArraySet set = CharArraySet.copy(TEST_VERSION_CURRENT, Collections.singleton("test")); assertEquals("[test]", set.toString()); diff --git a/solr/src/java/org/apache/solr/analysis/DutchStemFilterFactory.java b/solr/src/java/org/apache/solr/analysis/DutchStemFilterFactory.java deleted file mode 100644 index 77b74c1e5ba..00000000000 --- a/solr/src/java/org/apache/solr/analysis/DutchStemFilterFactory.java +++ /dev/null @@ -1,36 +0,0 @@ - -/** - * 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.analysis; - -import org.apache.lucene.analysis.snowball.SnowballFilter; -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; - -/** - * @deprecated Use {@link SnowballPorterFilterFactory} with "Dutch" instead, - * which has the same functionality. - */ -@Deprecated -public class DutchStemFilterFactory extends BaseTokenFilterFactory { - public TokenFilter create(TokenStream _in) { - return new SnowballFilter(_in, new org.tartarus.snowball.ext.DutchStemmer()); - } -} - diff --git a/solr/src/java/org/apache/solr/analysis/FrenchStemFilterFactory.java b/solr/src/java/org/apache/solr/analysis/FrenchStemFilterFactory.java deleted file mode 100644 index cef735f71a8..00000000000 --- a/solr/src/java/org/apache/solr/analysis/FrenchStemFilterFactory.java +++ /dev/null @@ -1,36 +0,0 @@ - -/** - * 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.analysis; - -import org.apache.lucene.analysis.snowball.SnowballFilter; -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; - -/** - * @deprecated Use {@link SnowballPorterFilterFactory} with "French" instead, - * which has the same functionality. - */ -@Deprecated -public class FrenchStemFilterFactory extends BaseTokenFilterFactory { - public TokenFilter create(TokenStream in) { - return new SnowballFilter(in, new org.tartarus.snowball.ext.FrenchStemmer()); - } -} - diff --git a/solr/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java b/solr/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java index c9dd4101021..4e87773f18a 100644 --- a/solr/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java +++ b/solr/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java @@ -41,7 +41,7 @@ public class GreekLowerCaseFilterFactory extends BaseTokenFilterFactory } public GreekLowerCaseFilter create(TokenStream in) { - return new GreekLowerCaseFilter(in); + return new GreekLowerCaseFilter(luceneMatchVersion, in); } } diff --git a/solr/src/java/org/apache/solr/analysis/ISOLatin1AccentFilterFactory.java b/solr/src/java/org/apache/solr/analysis/ISOLatin1AccentFilterFactory.java deleted file mode 100644 index 3dd1030204c..00000000000 --- a/solr/src/java/org/apache/solr/analysis/ISOLatin1AccentFilterFactory.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * 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.analysis; - -import org.apache.lucene.analysis.miscellaneous.ISOLatin1AccentFilter; -import org.apache.lucene.analysis.TokenStream; - -/** Factory for ISOLatin1AccentFilter - * @deprecated Use {@link ASCIIFoldingFilterFactory} instead. - * $Id$ - */ -@Deprecated -public class ISOLatin1AccentFilterFactory extends BaseTokenFilterFactory { - public ISOLatin1AccentFilter create(TokenStream input) { - return new ISOLatin1AccentFilter(input); - } -} diff --git a/solr/src/java/org/apache/solr/analysis/RussianLowerCaseFilterFactory.java b/solr/src/java/org/apache/solr/analysis/RussianLowerCaseFilterFactory.java deleted file mode 100644 index de6cda728e0..00000000000 --- a/solr/src/java/org/apache/solr/analysis/RussianLowerCaseFilterFactory.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * 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.analysis; - -import java.util.Map; - -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.core.LowerCaseFilter; -import org.apache.lucene.util.Version; -import org.apache.solr.common.SolrException; -import org.apache.solr.common.SolrException.ErrorCode; - -/** @deprecated Use {@link LowerCaseFilterFactory} instead which has the - * same functionality. - */ -@Deprecated -public class RussianLowerCaseFilterFactory extends BaseTokenFilterFactory { - - @Override - public void init(Map args) { - super.init(args); - if (args.containsKey("charset")) - throw new SolrException(ErrorCode.SERVER_ERROR, - "The charset parameter is no longer supported. " - + "Please process your documents as Unicode instead."); - } - - public TokenFilter create(TokenStream in) { - // hardcode the version to give exactly the old behavior - return new LowerCaseFilter(Version.LUCENE_29, in); - } -} - diff --git a/solr/src/java/org/apache/solr/analysis/RussianStemFilterFactory.java b/solr/src/java/org/apache/solr/analysis/RussianStemFilterFactory.java deleted file mode 100644 index be8423378c7..00000000000 --- a/solr/src/java/org/apache/solr/analysis/RussianStemFilterFactory.java +++ /dev/null @@ -1,37 +0,0 @@ - -/** - * 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.analysis; - -import org.apache.lucene.analysis.TokenFilter; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.snowball.SnowballFilter; - -/** - * @deprecated Use {@link SnowballPorterFilterFactory} with "Russian" instead, - * which has the same functionality. - */ -@Deprecated -public class RussianStemFilterFactory extends BaseTokenFilterFactory { - - public TokenFilter create(TokenStream in) { - return new SnowballFilter(in, new org.tartarus.snowball.ext.RussianStemmer()); - } -} - diff --git a/solr/src/java/org/apache/solr/core/SolrConfig.java b/solr/src/java/org/apache/solr/core/SolrConfig.java index 07f75a8ca7a..0d5e97439f7 100644 --- a/solr/src/java/org/apache/solr/core/SolrConfig.java +++ b/solr/src/java/org/apache/solr/core/SolrConfig.java @@ -138,7 +138,7 @@ public class SolrConfig extends Config { reopenReaders = getBool("mainIndex/reopenReaders", true); booleanQueryMaxClauseCount = getInt("query/maxBooleanClauses", BooleanQuery.getMaxClauseCount()); - luceneMatchVersion = getLuceneVersion("luceneMatchVersion", Version.LUCENE_24); + luceneMatchVersion = getLuceneVersion("luceneMatchVersion", Version.LUCENE_30); log.info("Using Lucene MatchVersion: " + luceneMatchVersion); filtOptEnabled = getBool("query/boolTofilterOptimizer/@enabled", false); diff --git a/solr/src/java/org/apache/solr/core/SolrDeletionPolicy.java b/solr/src/java/org/apache/solr/core/SolrDeletionPolicy.java index 7e375d74461..e165484677e 100644 --- a/solr/src/java/org/apache/solr/core/SolrDeletionPolicy.java +++ b/solr/src/java/org/apache/solr/core/SolrDeletionPolicy.java @@ -81,7 +81,7 @@ public class SolrDeletionPolicy implements IndexDeletionPolicy, NamedListInitial if (dir instanceof FSDirectory) { FSDirectory fsd = (FSDirectory) dir; - sb.append("dir=").append(fsd.getFile()); + sb.append("dir=").append(fsd.getDirectory()); } else { sb.append("dir=").append(dir); } @@ -183,7 +183,7 @@ public class SolrDeletionPolicy implements IndexDeletionPolicy, NamedListInitial // be the same, regardless of the Directory instance. if (dir instanceof FSDirectory) { FSDirectory fsd = (FSDirectory) dir; - File fdir = fsd.getFile(); + File fdir = fsd.getDirectory(); sb.append(fdir.getPath()); } else { sb.append(dir); diff --git a/solr/src/java/org/apache/solr/handler/component/SpellCheckComponent.java b/solr/src/java/org/apache/solr/handler/component/SpellCheckComponent.java index 36019c29277..669cd932ddb 100644 --- a/solr/src/java/org/apache/solr/handler/component/SpellCheckComponent.java +++ b/solr/src/java/org/apache/solr/handler/component/SpellCheckComponent.java @@ -640,7 +640,7 @@ public class SpellCheckComponent extends SearchComponent implements SolrCoreAwar IndexSchema schema = core.getSchema(); String fieldTypeName = (String) initParams.get("queryAnalyzerFieldType"); FieldType fieldType = schema.getFieldTypes().get(fieldTypeName); - Analyzer analyzer = fieldType == null ? new WhitespaceAnalyzer() + Analyzer analyzer = fieldType == null ? new WhitespaceAnalyzer(core.getSolrConfig().luceneMatchVersion) : fieldType.getQueryAnalyzer(); //TODO: There's got to be a better way! Where's Spring when you need it? queryConverter.setAnalyzer(analyzer); diff --git a/solr/src/java/org/apache/solr/schema/BinaryField.java b/solr/src/java/org/apache/solr/schema/BinaryField.java index aa87230fcb7..5cc4cc1f22c 100644 --- a/solr/src/java/org/apache/solr/schema/BinaryField.java +++ b/solr/src/java/org/apache/solr/schema/BinaryField.java @@ -79,8 +79,7 @@ public class BinaryField extends FieldType { len = buf.length; } - Field f = new Field(field.getName(), buf, offset, len, - getFieldStore(field, null)); + Field f = new Field(field.getName(), buf, offset, len); f.setBoost(boost); return f; } diff --git a/solr/src/java/org/apache/solr/schema/TrieDateField.java b/solr/src/java/org/apache/solr/schema/TrieDateField.java index 24dcdc7c4ae..4f48c98edb8 100755 --- a/solr/src/java/org/apache/solr/schema/TrieDateField.java +++ b/solr/src/java/org/apache/solr/schema/TrieDateField.java @@ -193,7 +193,7 @@ public class TrieDateField extends DateField { Field f; if (stored) { - f = new Field(field.getName(), arr, Field.Store.YES); + f = new Field(field.getName(), arr); if (indexed) f.setTokenStream(ts); } else { f = new Field(field.getName(), ts); diff --git a/solr/src/java/org/apache/solr/schema/TrieField.java b/solr/src/java/org/apache/solr/schema/TrieField.java index 4d88e7062c0..3e7f4c144ac 100644 --- a/solr/src/java/org/apache/solr/schema/TrieField.java +++ b/solr/src/java/org/apache/solr/schema/TrieField.java @@ -552,7 +552,7 @@ public class TrieField extends FieldType { Field f; if (stored) { - f = new Field(field.getName(), arr, Field.Store.YES); + f = new Field(field.getName(), arr); if (indexed) f.setTokenStream(ts); } else { f = new Field(field.getName(), ts); diff --git a/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java b/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java index 88f5e402c16..0b2c79e71a7 100644 --- a/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java +++ b/solr/src/java/org/apache/solr/search/SolrIndexSearcher.java @@ -149,7 +149,7 @@ public class SolrIndexSearcher extends IndexSearcher implements SolrInfoMBean { if (r.directory() instanceof FSDirectory) { FSDirectory fsDirectory = (FSDirectory) r.directory(); - indexDir = fsDirectory.getFile().getAbsolutePath(); + indexDir = fsDirectory.getDirectory().getAbsolutePath(); } this.closeReader = closeReader; diff --git a/solr/src/java/org/apache/solr/search/SolrQueryParser.java b/solr/src/java/org/apache/solr/search/SolrQueryParser.java index a88a9f40ccc..63097fb444b 100644 --- a/solr/src/java/org/apache/solr/search/SolrQueryParser.java +++ b/solr/src/java/org/apache/solr/search/SolrQueryParser.java @@ -78,7 +78,7 @@ public class SolrQueryParser extends QueryParser { * @see IndexSchema#getDefaultSearchFieldName() */ public SolrQueryParser(IndexSchema schema, String defaultField) { - super(schema.getSolrConfig().getLuceneVersion("luceneMatchVersion", Version.LUCENE_24), defaultField == null ? schema.getDefaultSearchFieldName() : defaultField, schema.getQueryAnalyzer()); + super(schema.getSolrConfig().getLuceneVersion("luceneMatchVersion", Version.LUCENE_30), defaultField == null ? schema.getDefaultSearchFieldName() : defaultField, schema.getQueryAnalyzer()); this.schema = schema; this.parser = null; this.defaultField = defaultField; @@ -92,7 +92,7 @@ public class SolrQueryParser extends QueryParser { } public SolrQueryParser(QParser parser, String defaultField, Analyzer analyzer) { - super(parser.getReq().getSchema().getSolrConfig().getLuceneVersion("luceneMatchVersion", Version.LUCENE_24), defaultField, analyzer); + super(parser.getReq().getSchema().getSolrConfig().getLuceneVersion("luceneMatchVersion", Version.LUCENE_30), defaultField, analyzer); this.schema = parser.getReq().getSchema(); this.parser = parser; this.defaultField = defaultField; diff --git a/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java b/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java index 306a466a726..1dcfcb2f66e 100644 --- a/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java +++ b/solr/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java @@ -149,7 +149,7 @@ public abstract class AbstractLuceneSpellChecker extends SolrSpellChecker { } if (analyzer == null) { log.info("Using WhitespaceAnalzyer for dictionary: " + name); - analyzer = new WhitespaceAnalyzer(); + analyzer = new WhitespaceAnalyzer(core.getSolrConfig().luceneMatchVersion); } return name; } diff --git a/solr/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java b/solr/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java index 8ea3e261e6b..c2d53c74422 100644 --- a/solr/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java +++ b/solr/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java @@ -19,20 +19,18 @@ package org.apache.solr.spelling; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; + +import org.apache.lucene.index.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexWriter; import org.apache.lucene.search.spell.PlainTextDictionary; import org.apache.lucene.store.RAMDirectory; import org.apache.solr.common.util.NamedList; import org.apache.solr.core.SolrCore; -import org.apache.solr.core.SolrResourceLoader; import org.apache.solr.schema.FieldType; -import org.apache.solr.schema.IndexSchema; import org.apache.solr.util.HighFrequencyDictionary; import org.apache.solr.search.SolrIndexSearcher; @@ -60,7 +58,7 @@ public class FileBasedSpellChecker extends AbstractLuceneSpellChecker { public void build(SolrCore core, SolrIndexSearcher searcher) { try { - loadExternalFileDictionary(core.getSchema(), core.getResourceLoader()); + loadExternalFileDictionary(core); spellChecker.clearIndex(); spellChecker.indexDictionary(dictionary); } catch (IOException e) { @@ -77,22 +75,28 @@ public class FileBasedSpellChecker extends AbstractLuceneSpellChecker { } @SuppressWarnings("unchecked") - private void loadExternalFileDictionary(IndexSchema schema, SolrResourceLoader loader) { + private void loadExternalFileDictionary(SolrCore core) { try { // Get the field's analyzer - if (fieldTypeName != null - && schema.getFieldTypeNoEx(fieldTypeName) != null) { - FieldType fieldType = schema.getFieldTypes() - .get(fieldTypeName); + if (fieldTypeName != null && core.getSchema().getFieldTypeNoEx(fieldTypeName) != null) { + FieldType fieldType = core.getSchema().getFieldTypes().get(fieldTypeName); // Do index-time analysis using the given fieldType's analyzer RAMDirectory ramDir = new RAMDirectory(); - IndexWriter writer = new IndexWriter(ramDir, fieldType.getAnalyzer(), - true, IndexWriter.MaxFieldLength.UNLIMITED); - writer.setMergeFactor(300); - writer.setMaxBufferedDocs(150); - List lines = loader.getLines(sourceLocation, characterEncoding); + LogMergePolicy mp = new LogByteSizeMergePolicy(); + mp.setMergeFactor(300); + + IndexWriter writer = new IndexWriter( + ramDir, + new IndexWriterConfig(core.getSolrConfig().luceneMatchVersion, fieldType.getAnalyzer()). + setMaxBufferedDocs(150). + setMergePolicy(mp). + setMaxFieldLength(IndexWriterConfig.UNLIMITED_FIELD_LENGTH). + setOpenMode(IndexWriterConfig.OpenMode.CREATE) + ); + + List lines = core.getResourceLoader().getLines(sourceLocation, characterEncoding); for (String s : lines) { Document d = new Document(); @@ -107,9 +111,9 @@ public class FileBasedSpellChecker extends AbstractLuceneSpellChecker { } else { // check if character encoding is defined if (characterEncoding == null) { - dictionary = new PlainTextDictionary(loader.openResource(sourceLocation)); + dictionary = new PlainTextDictionary(core.getResourceLoader().openResource(sourceLocation)); } else { - dictionary = new PlainTextDictionary(new InputStreamReader(loader.openResource(sourceLocation), characterEncoding)); + dictionary = new PlainTextDictionary(new InputStreamReader(core.getResourceLoader().openResource(sourceLocation), characterEncoding)); } } diff --git a/solr/src/java/org/apache/solr/update/SolrIndexConfig.java b/solr/src/java/org/apache/solr/update/SolrIndexConfig.java index e6a6cb58eba..85d0f744647 100644 --- a/solr/src/java/org/apache/solr/update/SolrIndexConfig.java +++ b/solr/src/java/org/apache/solr/update/SolrIndexConfig.java @@ -17,11 +17,12 @@ package org.apache.solr.update; +import org.apache.lucene.index.*; +import org.apache.lucene.util.Version; import org.apache.solr.core.SolrConfig; import org.apache.solr.core.PluginInfo; -import org.apache.lucene.index.LogByteSizeMergePolicy; -import org.apache.lucene.index.ConcurrentMergeScheduler; -import org.apache.lucene.index.IndexWriter; +import org.apache.solr.schema.IndexSchema; +import org.apache.solr.util.SolrPluginUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,8 +46,8 @@ public class SolrIndexConfig { public static final String DEFAULT_MERGE_SCHEDULER_CLASSNAME = ConcurrentMergeScheduler.class.getName(); static final SolrIndexConfig defaultDefaults = new SolrIndexConfig(); - private SolrIndexConfig() { + luceneVersion = Version.LUCENE_40; useCompoundFile = true; maxBufferedDocs = -1; maxMergeDocs = -1; @@ -56,10 +57,12 @@ public class SolrIndexConfig { writeLockTimeout = -1; commitLockTimeout = -1; lockType = null; - termIndexInterval = IndexWriter.DEFAULT_TERM_INDEX_INTERVAL; + termIndexInterval = IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL; mergePolicyInfo = null; mergeSchedulerInfo = null; } + + public final Version luceneVersion; public final boolean useCompoundFile; public final int maxBufferedDocs; @@ -83,6 +86,9 @@ public class SolrIndexConfig { prefix = defaultsName; if (def == null) def = defaultDefaults; + + luceneVersion = solrConfig.luceneMatchVersion; + useCompoundFile=solrConfig.getBool(prefix+"/useCompoundFile", def.useCompoundFile); maxBufferedDocs=solrConfig.getInt(prefix+"/maxBufferedDocs",def.maxBufferedDocs); maxMergeDocs=solrConfig.getInt(prefix+"/maxMergeDocs",def.maxMergeDocs); @@ -129,11 +135,74 @@ public class SolrIndexConfig { infoStreamFile= solrConfig.get(prefix + "/infoStream/@file", null); log.info("IndexWriter infoStream debug log is enabled: " + infoStreamFile); } - } private PluginInfo getPluginInfo(String path, SolrConfig solrConfig, PluginInfo def) { List l = solrConfig.readPluginInfos(path, false, true); return l.isEmpty() ? def : l.get(0); } + + public IndexWriterConfig toIndexWriterConfig(IndexSchema schema) { + IndexWriterConfig iwc = new IndexWriterConfig(luceneVersion, schema.getAnalyzer()); + if (maxBufferedDocs != -1) + iwc.setMaxBufferedDocs(maxBufferedDocs); + + if (ramBufferSizeMB != -1) + iwc.setRAMBufferSizeMB(ramBufferSizeMB); + + if (termIndexInterval != -1) + iwc.setTermIndexInterval(termIndexInterval); + + if (maxFieldLength != -1) + iwc.setMaxFieldLength(maxFieldLength); + + if (writeLockTimeout != -1) + iwc.setWriteLockTimeout(writeLockTimeout); + + iwc.setSimilarity(schema.getSimilarity()); + iwc.setMergePolicy(buildMergePolicy(schema)); + iwc.setMergeScheduler(buildMergeScheduler(schema)); + + return iwc; + } + + private MergePolicy buildMergePolicy(IndexSchema schema) { + MergePolicy policy; + String mpClassName = mergePolicyInfo == null ? SolrIndexConfig.DEFAULT_MERGE_POLICY_CLASSNAME : mergePolicyInfo.className; + + try { + policy = (MergePolicy) schema.getResourceLoader().newInstance(mpClassName, null, new Class[]{IndexWriter.class}, new Object[]{this}); + } catch (Exception e) { + policy = (MergePolicy) schema.getResourceLoader().newInstance(mpClassName); + } + + if (mergePolicyInfo != null) + SolrPluginUtils.invokeSetters(policy, mergePolicyInfo.initArgs); + + if (policy instanceof LogMergePolicy) { + LogMergePolicy logMergePolicy = (LogMergePolicy) policy; + + if (maxMergeDocs != -1) + logMergePolicy.setMaxMergeDocs(maxMergeDocs); + + logMergePolicy.setUseCompoundFile(useCompoundFile); + + if (mergeFactor != -1) + logMergePolicy.setMergeFactor(mergeFactor); + } else { + log.warn("Use of compound file format or mergefactor cannot be configured if merge policy is not an instance of LogMergePolicy. The configured policy's defaults will be used."); + } + + return policy; + } + + private MergeScheduler buildMergeScheduler(IndexSchema schema) { + String msClassName = mergeSchedulerInfo == null ? SolrIndexConfig.DEFAULT_MERGE_SCHEDULER_CLASSNAME : mergeSchedulerInfo.className; + MergeScheduler scheduler = (MergeScheduler) schema.getResourceLoader().newInstance(msClassName); + + if (mergeSchedulerInfo != null) + SolrPluginUtils.invokeSetters(scheduler, mergeSchedulerInfo.initArgs); + + return scheduler; + } } diff --git a/solr/src/java/org/apache/solr/update/SolrIndexWriter.java b/solr/src/java/org/apache/solr/update/SolrIndexWriter.java index 1457a188b2d..6073a6a42d7 100644 --- a/solr/src/java/org/apache/solr/update/SolrIndexWriter.java +++ b/solr/src/java/org/apache/solr/update/SolrIndexWriter.java @@ -20,11 +20,8 @@ package org.apache.solr.update; import org.apache.lucene.index.*; import org.apache.lucene.store.*; import org.apache.solr.common.SolrException; -import org.apache.solr.common.util.NamedList; import org.apache.solr.core.DirectoryFactory; -import org.apache.solr.core.StandardDirectoryFactory; import org.apache.solr.schema.IndexSchema; -import org.apache.solr.util.SolrPluginUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,73 +42,12 @@ import java.util.Locale; * @since solr 0.9 */ - public class SolrIndexWriter extends IndexWriter { private static Logger log = LoggerFactory.getLogger(SolrIndexWriter.class); String name; - IndexSchema schema; - private PrintStream infoStream; - private void init(String name, IndexSchema schema, SolrIndexConfig config) throws IOException { - log.debug("Opened Writer " + name); - this.name = name; - this.schema = schema; - setSimilarity(schema.getSimilarity()); - // setUseCompoundFile(false); - - if (config != null) { - //only set maxBufferedDocs - if (config.maxBufferedDocs != -1) { - setMaxBufferedDocs(config.maxBufferedDocs); - } - if (config.ramBufferSizeMB != -1) { - setRAMBufferSizeMB(config.ramBufferSizeMB); - } - if (config.termIndexInterval != -1) { - setTermIndexInterval(config.termIndexInterval); - - } - if (config.maxMergeDocs != -1) setMaxMergeDocs(config.maxMergeDocs); - if (config.maxFieldLength != -1) setMaxFieldLength(config.maxFieldLength); - String className = config.mergePolicyInfo == null ? SolrIndexConfig.DEFAULT_MERGE_POLICY_CLASSNAME: config.mergePolicyInfo.className; - MergePolicy policy = null; - try { - policy = (MergePolicy) schema.getResourceLoader().newInstance(className, null, new Class[]{IndexWriter.class}, new Object[] { this }); - } catch (Exception e) { - policy = (MergePolicy) schema.getResourceLoader().newInstance(className); - } - if(config.mergePolicyInfo != null) SolrPluginUtils.invokeSetters(policy,config.mergePolicyInfo.initArgs); - setMergePolicy(policy); - - if (getMergePolicy() instanceof LogMergePolicy) { - setUseCompoundFile(config.useCompoundFile); - if (config.mergeFactor != -1) { setMergeFactor(config.mergeFactor); } - } else { - log.warn("Use of compound file format or mergefactor cannot be configured if merge policy is not an instance " + - "of LogMergePolicy. The configured policy's defaults will be used."); - } - - className = config.mergeSchedulerInfo == null ? SolrIndexConfig.DEFAULT_MERGE_SCHEDULER_CLASSNAME: config.mergeSchedulerInfo.className; - MergeScheduler scheduler = (MergeScheduler) schema.getResourceLoader().newInstance(className); - if(config.mergeSchedulerInfo != null) SolrPluginUtils.invokeSetters(scheduler,config.mergeSchedulerInfo.initArgs); - setMergeScheduler(scheduler); - - String infoStreamFile = config.infoStreamFile; - if (infoStreamFile != null) { - File f = new File(infoStreamFile); - File parent = f.getParentFile(); - if (parent != null) parent.mkdirs(); - FileOutputStream fos = new FileOutputStream(f, true); - infoStream = new TimeLoggingPrintStream(fos, true); - setInfoStream(infoStream); - } - //if (config.commitLockTimeout != -1) setWriteLockTimeout(config.commitLockTimeout); - } - - } - public static Directory getDirectory(String path, DirectoryFactory directoryFactory, SolrIndexConfig config) throws IOException { Directory d = directoryFactory.open(path); @@ -135,7 +71,7 @@ public class SolrIndexWriter extends IndexWriter { } else if ("none".equals(lockType)) { // Recipe for disaster log.error("CONFIGURATION WARNING: locks are disabled on " + path); - d.setLockFactory(new NoLockFactory()); + d.setLockFactory(NoLockFactory.getNoLockFactory()); } else { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Unrecognized lockType: " + rawLockType); @@ -143,58 +79,25 @@ public class SolrIndexWriter extends IndexWriter { return d; } - /** @deprecated remove when getDirectory(String,SolrIndexConfig) is gone */ - @Deprecated - private static DirectoryFactory LEGACY_DIR_FACTORY - = new StandardDirectoryFactory(); - static { - LEGACY_DIR_FACTORY.init(new NamedList()); - } - - /** - * @deprecated use getDirectory(String path, DirectoryFactory directoryFactory, SolrIndexConfig config) - */ - @Deprecated - public static Directory getDirectory(String path, SolrIndexConfig config) throws IOException { - log.warn("SolrIndexWriter is using LEGACY_DIR_FACTORY which means deprecated code is likely in use and SolrIndexWriter is ignoring any custom DirectoryFactory."); - return getDirectory(path, LEGACY_DIR_FACTORY, config); - } - - /** - * - */ - public SolrIndexWriter(String name, String path, DirectoryFactory dirFactory, boolean create, IndexSchema schema) throws IOException { - super(getDirectory(path, dirFactory, null), schema.getAnalyzer(), create, MaxFieldLength.LIMITED); - init(name, schema, null); - } - - @Deprecated - public SolrIndexWriter(String name, String path, DirectoryFactory dirFactory, boolean create, IndexSchema schema, SolrIndexConfig config) throws IOException { - super(getDirectory(path, dirFactory, null), schema.getAnalyzer(), create, MaxFieldLength.LIMITED); - init(name, schema, config); - } - - /** - * @deprecated - */ - @Deprecated - public SolrIndexWriter(String name, String path, boolean create, IndexSchema schema) throws IOException { - super(getDirectory(path, null), schema.getAnalyzer(), create, MaxFieldLength.LIMITED); - init(name, schema, null); - } - - /** - * @deprecated - */ - @Deprecated - public SolrIndexWriter(String name, String path, boolean create, IndexSchema schema, SolrIndexConfig config) throws IOException { - super(getDirectory(path, config), schema.getAnalyzer(), create, MaxFieldLength.LIMITED); - init(name, schema, config); - } - public SolrIndexWriter(String name, String path, DirectoryFactory dirFactory, boolean create, IndexSchema schema, SolrIndexConfig config, IndexDeletionPolicy delPolicy) throws IOException { - super(getDirectory(path, dirFactory, config), schema.getAnalyzer(), create, delPolicy, new MaxFieldLength(IndexWriter.DEFAULT_MAX_FIELD_LENGTH)); - init(name, schema, config); + super( + getDirectory(path, dirFactory, config), + config.toIndexWriterConfig(schema). + setOpenMode(create ? IndexWriterConfig.OpenMode.CREATE : IndexWriterConfig.OpenMode.APPEND). + setIndexDeletionPolicy(delPolicy) + ); + log.debug("Opened Writer " + name); + this.name = name; + + String infoStreamFile = config.infoStreamFile; + if (infoStreamFile != null) { + File f = new File(infoStreamFile); + File parent = f.getParentFile(); + if (parent != null) parent.mkdirs(); + FileOutputStream fos = new FileOutputStream(f, true); + infoStream = new TimeLoggingPrintStream(fos, true); + setInfoStream(infoStream); + } } @@ -280,5 +183,4 @@ public class SolrIndexWriter extends IndexWriter { super.println(x); } } - } diff --git a/solr/src/test/org/apache/solr/BasicFunctionalityTest.java b/solr/src/test/org/apache/solr/BasicFunctionalityTest.java index ab5b758ca97..1e76575c5f2 100644 --- a/solr/src/test/org/apache/solr/BasicFunctionalityTest.java +++ b/solr/src/test/org/apache/solr/BasicFunctionalityTest.java @@ -31,6 +31,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.apache.lucene.document.Field; +import org.apache.lucene.index.LogMergePolicy; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.Query; import org.apache.solr.common.params.AppendedSolrParams; @@ -121,7 +122,7 @@ public class BasicFunctionalityTest extends SolrTestCaseJ4 { SolrCore core = h.getCore(); SolrIndexWriter writer = new SolrIndexWriter("testWriter",core.getNewIndexDir(), core.getDirectoryFactory(), false, core.getSchema(), core.getSolrConfig().mainIndexConfig, core.getDeletionPolicy()); - assertEquals("Mergefactor was not picked up", writer.getMergeFactor(), 8); + assertEquals("Mergefactor was not picked up", ((LogMergePolicy) writer.getConfig().getMergePolicy()).getMergeFactor(), 8); writer.close(); lrf.args.put("version","2.0"); diff --git a/solr/src/test/org/apache/solr/analysis/TestDutchStemFilterFactory.java b/solr/src/test/org/apache/solr/analysis/TestDutchStemFilterFactory.java deleted file mode 100644 index 6e3be4d8705..00000000000 --- a/solr/src/test/org/apache/solr/analysis/TestDutchStemFilterFactory.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.apache.solr.analysis; - -/** - * 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. - */ - -import java.io.Reader; -import java.io.StringReader; - -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Tokenizer; -import org.apache.lucene.analysis.core.WhitespaceTokenizer; - -/** - * Simple tests to ensure the Dutch stem filter factory is working. - */ -public class TestDutchStemFilterFactory extends BaseTokenTestCase { - /** - * Ensure the filter actually stems text. - */ - public void testStemming() throws Exception { - Reader reader = new StringReader("lichamelijkheden"); - Tokenizer tokenizer = new WhitespaceTokenizer(DEFAULT_VERSION, reader); - DutchStemFilterFactory factory = new DutchStemFilterFactory(); - TokenStream stream = factory.create(tokenizer); - assertTokenStreamContents(stream, new String[] { "licham" }); - } -} diff --git a/solr/src/test/org/apache/solr/analysis/TestFrenchStemFilterFactory.java b/solr/src/test/org/apache/solr/analysis/TestFrenchStemFilterFactory.java deleted file mode 100644 index d950df11819..00000000000 --- a/solr/src/test/org/apache/solr/analysis/TestFrenchStemFilterFactory.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.apache.solr.analysis; - -/** - * 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. - */ - -import java.io.Reader; -import java.io.StringReader; - -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Tokenizer; -import org.apache.lucene.analysis.core.WhitespaceTokenizer; - -/** - * Simple tests to ensure the French stem filter factory is working. - */ -public class TestFrenchStemFilterFactory extends BaseTokenTestCase { - /** - * Ensure the filter actually stems text. - */ - public void testStemming() throws Exception { - Reader reader = new StringReader("habitable"); - Tokenizer tokenizer = new WhitespaceTokenizer(DEFAULT_VERSION, reader); - FrenchStemFilterFactory factory = new FrenchStemFilterFactory(); - TokenStream stream = factory.create(tokenizer); - assertTokenStreamContents(stream, new String[] { "habit" }); - } -} diff --git a/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java b/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java index 493997ca8aa..89a8b9da13f 100644 --- a/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java +++ b/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java @@ -16,15 +16,12 @@ */ package org.apache.solr.analysis; -import java.io.StringReader; import java.lang.reflect.Field; -import org.apache.lucene.analysis.standard.StandardTokenizer; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.core.Config; import org.apache.solr.schema.IndexSchema; import org.apache.solr.schema.FieldType; -import org.apache.solr.util.AbstractSolrTestCase; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.util.Version; @@ -53,17 +50,11 @@ public class TestLuceneMatchVersion extends SolrTestCaseJ4 { TokenizerChain ana = (TokenizerChain) type.getAnalyzer(); assertEquals(DEFAULT_VERSION, ((BaseTokenizerFactory) ana.getTokenizerFactory()).luceneMatchVersion); assertEquals(DEFAULT_VERSION, ((BaseTokenFilterFactory) ana.getTokenFilterFactories()[2]).luceneMatchVersion); - TokenizerChain.TokenStreamInfo tsi = ana.getStream("textDefault",new StringReader("")); - StandardTokenizer tok = (StandardTokenizer) tsi.getTokenizer(); - assertTrue(tok.isReplaceInvalidAcronym()); - - type = schema.getFieldType("text20"); + + type = schema.getFieldType("text30"); ana = (TokenizerChain) type.getAnalyzer(); - assertEquals(Version.LUCENE_20, ((BaseTokenizerFactory) ana.getTokenizerFactory()).luceneMatchVersion); - assertEquals(Version.LUCENE_24, ((BaseTokenFilterFactory) ana.getTokenFilterFactories()[2]).luceneMatchVersion); - tsi = ana.getStream("text20",new StringReader("")); - tok = (StandardTokenizer) tsi.getTokenizer(); - assertFalse(tok.isReplaceInvalidAcronym()); + assertEquals(Version.LUCENE_30, ((BaseTokenizerFactory) ana.getTokenizerFactory()).luceneMatchVersion); + assertEquals(Version.LUCENE_31, ((BaseTokenFilterFactory) ana.getTokenFilterFactories()[2]).luceneMatchVersion); // this is a hack to get the private matchVersion field in StandardAnalyzer's superclass, may break in later lucene versions - we have no getter :( final Field matchVersionField = StandardAnalyzer.class.getSuperclass().getDeclaredField("matchVersion"); @@ -74,9 +65,9 @@ public class TestLuceneMatchVersion extends SolrTestCaseJ4 { assertTrue(ana1 instanceof StandardAnalyzer); assertEquals(DEFAULT_VERSION, matchVersionField.get(ana1)); - type = schema.getFieldType("textStandardAnalyzer20"); + type = schema.getFieldType("textStandardAnalyzer30"); ana1 = type.getAnalyzer(); assertTrue(ana1 instanceof StandardAnalyzer); - assertEquals(Version.LUCENE_20, matchVersionField.get(ana1)); + assertEquals(Version.LUCENE_30, matchVersionField.get(ana1)); } } diff --git a/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java b/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java index 973900d295d..c2e6a6a9fa9 100644 --- a/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java +++ b/solr/src/test/org/apache/solr/analysis/TestRussianFilters.java @@ -38,37 +38,4 @@ public class TestRussianFilters extends BaseTokenTestCase { assertTokenStreamContents(stream, new String[] {"Вместе", "с", "тем", "о", "силе", "электромагнитной", "100"}); } - - /** - * Test RussianLowerCaseFilterFactory - */ - public void testLowerCase() throws Exception { - Reader reader = new StringReader("Вместе с тем о силе электромагнитной 100"); - RussianLetterTokenizerFactory factory = new RussianLetterTokenizerFactory(); - factory.init(DEFAULT_VERSION_PARAM); - RussianLowerCaseFilterFactory filterFactory = new RussianLowerCaseFilterFactory(); - filterFactory.init(DEFAULT_VERSION_PARAM); - Tokenizer tokenizer = factory.create(reader); - TokenStream stream = filterFactory.create(tokenizer); - assertTokenStreamContents(stream, new String[] {"вместе", "с", "тем", "о", - "силе", "электромагнитной", "100"}); - } - - /** - * Test RussianStemFilterFactory - */ - public void testStemmer() throws Exception { - Reader reader = new StringReader("Вместе с тем о силе электромагнитной 100"); - RussianLetterTokenizerFactory factory = new RussianLetterTokenizerFactory(); - factory.init(DEFAULT_VERSION_PARAM); - RussianLowerCaseFilterFactory caseFactory = new RussianLowerCaseFilterFactory(); - caseFactory.init(DEFAULT_VERSION_PARAM); - RussianStemFilterFactory stemFactory = new RussianStemFilterFactory(); - stemFactory.init(DEFAULT_VERSION_PARAM); - Tokenizer tokenizer = factory.create(reader); - TokenStream stream = caseFactory.create(tokenizer); - stream = stemFactory.create(stream); - assertTokenStreamContents(stream, new String[] {"вмест", "с", "тем", "о", - "сил", "электромагнитн", "100"}); - } } diff --git a/solr/src/test/org/apache/solr/analysis/TestStandardFactories.java b/solr/src/test/org/apache/solr/analysis/TestStandardFactories.java index 4d4563a7db9..ef2bd9972c4 100644 --- a/solr/src/test/org/apache/solr/analysis/TestStandardFactories.java +++ b/solr/src/test/org/apache/solr/analysis/TestStandardFactories.java @@ -126,17 +126,4 @@ public class TestStandardFactories extends BaseTokenTestCase { TokenStream stream = factory.create(tokenizer); assertTokenStreamContents(stream, new String[] { "Ceska" }); } - - /** - * Ensure the ISOLatin1AccentFilterFactory works - * (sometimes, at least not uppercase hacek) - */ - public void testISOLatin1Folding() throws Exception { - Reader reader = new StringReader("Česká"); - Tokenizer tokenizer = new WhitespaceTokenizer(DEFAULT_VERSION, reader); - ISOLatin1AccentFilterFactory factory = new ISOLatin1AccentFilterFactory(); - factory.init(DEFAULT_VERSION_PARAM); - TokenStream stream = factory.create(tokenizer); - assertTokenStreamContents(stream, new String[] { "Česka" }); - } } diff --git a/solr/src/test/org/apache/solr/core/TestArbitraryIndexDir.java b/solr/src/test/org/apache/solr/core/TestArbitraryIndexDir.java index b4610a4d6cb..2c2555afd17 100644 --- a/solr/src/test/org/apache/solr/core/TestArbitraryIndexDir.java +++ b/solr/src/test/org/apache/solr/core/TestArbitraryIndexDir.java @@ -27,11 +27,8 @@ import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.index.IndexWriter.MaxFieldLength; +import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.queryParser.ParseException; -import org.apache.lucene.queryParser.QueryParser; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.util.Version; @@ -101,7 +98,11 @@ public class TestArbitraryIndexDir extends AbstractSolrTestCase{ //add a doc in the new index dir Directory dir = FSDirectory.open(newDir); - IndexWriter iw = new IndexWriter(dir, new StandardAnalyzer(Version.LUCENE_24), new MaxFieldLength(1000)); + IndexWriter iw = new IndexWriter( + dir, + new IndexWriterConfig(Version.LUCENE_40, new StandardAnalyzer(Version.LUCENE_40)). + setMaxFieldLength(1000) + ); Document doc = new Document(); doc.add(new Field("id", "2", Field.Store.YES, Field.Index.ANALYZED)); doc.add(new Field("name", "name2", Field.Store.YES, Field.Index.ANALYZED)); diff --git a/solr/src/test/org/apache/solr/core/TestConfig.java b/solr/src/test/org/apache/solr/core/TestConfig.java index 5781de094ce..4d78b6bec02 100644 --- a/solr/src/test/org/apache/solr/core/TestConfig.java +++ b/solr/src/test/org/apache/solr/core/TestConfig.java @@ -133,7 +133,7 @@ public class TestConfig extends SolrTestCaseJ4 { ExposeWriterHandler duh = new ExposeWriterHandler(); IndexWriter writer = duh.getWriter(); - int interval = writer.getTermIndexInterval(); + int interval = writer.getConfig().getTermIndexInterval(); assertEquals(256, interval); duh.close(); } diff --git a/solr/src/test/org/apache/solr/core/TestLegacyMergeSchedulerPolicyConfig.java b/solr/src/test/org/apache/solr/core/TestLegacyMergeSchedulerPolicyConfig.java index 59447c87250..f0bd861aaa2 100644 --- a/solr/src/test/org/apache/solr/core/TestLegacyMergeSchedulerPolicyConfig.java +++ b/solr/src/test/org/apache/solr/core/TestLegacyMergeSchedulerPolicyConfig.java @@ -20,8 +20,8 @@ public class TestLegacyMergeSchedulerPolicyConfig extends SolrTestCaseJ4 { public void testLegacy() throws Exception { ExposeWriterHandler duh = new ExposeWriterHandler(); IndexWriter writer = duh.getWriter(); - assertTrue(writer.getMergePolicy().getClass().getName().equals(LogDocMergePolicy.class.getName())); - assertTrue(writer.getMergeScheduler().getClass().getName().equals(SerialMergeScheduler.class.getName())); + assertTrue(writer.getConfig().getMergePolicy().getClass().getName().equals(LogDocMergePolicy.class.getName())); + assertTrue(writer.getConfig().getMergeScheduler().getClass().getName().equals(SerialMergeScheduler.class.getName())); duh.close(); } diff --git a/solr/src/test/org/apache/solr/core/TestPropInject.java b/solr/src/test/org/apache/solr/core/TestPropInject.java index 6a8046213f5..dbe7ab0bf46 100644 --- a/solr/src/test/org/apache/solr/core/TestPropInject.java +++ b/solr/src/test/org/apache/solr/core/TestPropInject.java @@ -31,7 +31,7 @@ public class TestPropInject extends AbstractSolrTestCase { public void testMergePolicy() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); - LogByteSizeMergePolicy mp = (LogByteSizeMergePolicy)writer.getMergePolicy(); + LogByteSizeMergePolicy mp = (LogByteSizeMergePolicy)writer.getConfig().getMergePolicy(); assertEquals(64.0, mp.getMaxMergeMB()); uh.close(); } @@ -39,7 +39,7 @@ public class TestPropInject extends AbstractSolrTestCase { public void testProps() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); - ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler)writer.getMergeScheduler(); + ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler)writer.getConfig().getMergeScheduler(); assertEquals(2, cms.getMaxThreadCount()); uh.close(); } diff --git a/solr/src/test/org/apache/solr/core/TestPropInjectDefaults.java b/solr/src/test/org/apache/solr/core/TestPropInjectDefaults.java index 632ae1a325c..28848eac0e4 100644 --- a/solr/src/test/org/apache/solr/core/TestPropInjectDefaults.java +++ b/solr/src/test/org/apache/solr/core/TestPropInjectDefaults.java @@ -48,7 +48,7 @@ public class TestPropInjectDefaults extends SolrTestCaseJ4 { public void testMergePolicyDefaults() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); - LogByteSizeMergePolicy mp = (LogByteSizeMergePolicy)writer.getMergePolicy(); + LogByteSizeMergePolicy mp = (LogByteSizeMergePolicy)writer.getConfig().getMergePolicy(); assertEquals(32.0, mp.getMaxMergeMB()); uh.close(); } @@ -57,7 +57,7 @@ public class TestPropInjectDefaults extends SolrTestCaseJ4 { public void testPropsDefaults() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); - ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler)writer.getMergeScheduler(); + ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler)writer.getConfig().getMergeScheduler(); assertEquals(4, cms.getMaxThreadCount()); uh.close(); } diff --git a/solr/src/test/org/apache/solr/highlight/HighlighterTest.java b/solr/src/test/org/apache/solr/highlight/HighlighterTest.java index 3f9d1b6d2bb..e641dacbc31 100755 --- a/solr/src/test/org/apache/solr/highlight/HighlighterTest.java +++ b/solr/src/test/org/apache/solr/highlight/HighlighterTest.java @@ -158,12 +158,12 @@ public class HighlighterTest extends SolrTestCaseJ4 { @Test public void testTermOffsetsTokenStream() throws Exception { String[] multivalued = { "a b c d", "e f g", "h", "i j k l m n" }; - Analyzer a1 = new WhitespaceAnalyzer(); + Analyzer a1 = new WhitespaceAnalyzer(TEST_VERSION_CURRENT); TermOffsetsTokenStream tots = new TermOffsetsTokenStream( a1.tokenStream( "", new StringReader( "a b c d e f g h i j k l m n" ) ) ); for( String v : multivalued ){ TokenStream ts1 = tots.getMultiValuedTokenStream( v.length() ); - Analyzer a2 = new WhitespaceAnalyzer(); + Analyzer a2 = new WhitespaceAnalyzer(TEST_VERSION_CURRENT); TokenStream ts2 = a2.tokenStream( "", new StringReader( v ) ); while (ts1.incrementToken()) { assertTrue(ts2.incrementToken()); diff --git a/solr/src/test/org/apache/solr/search/TestSort.java b/solr/src/test/org/apache/solr/search/TestSort.java index f666d3f34ba..cb32ce52fcc 100755 --- a/solr/src/test/org/apache/solr/search/TestSort.java +++ b/solr/src/test/org/apache/solr/search/TestSort.java @@ -22,6 +22,7 @@ import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; +import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.search.*; import org.apache.lucene.store.Directory; import org.apache.lucene.store.RAMDirectory; @@ -59,7 +60,12 @@ public class TestSort extends AbstractSolrTestCase { Field f2 = new Field("f2","0", Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS); for (int iterCnt = 0; iterCnt convert(String origQuery) { Collection result = new HashSet(); - WhitespaceAnalyzer analyzer = new WhitespaceAnalyzer(); + WhitespaceAnalyzer analyzer = new WhitespaceAnalyzer(Version.LUCENE_40); TokenStream ts = analyzer.tokenStream("", new StringReader(origQuery)); // TODO: support custom attributes CharTermAttribute termAtt = ts.addAttribute(CharTermAttribute.class); diff --git a/solr/src/test/org/apache/solr/spelling/SpellingQueryConverterTest.java b/solr/src/test/org/apache/solr/spelling/SpellingQueryConverterTest.java index d349774585e..b6efa9fb8e6 100644 --- a/solr/src/test/org/apache/solr/spelling/SpellingQueryConverterTest.java +++ b/solr/src/test/org/apache/solr/spelling/SpellingQueryConverterTest.java @@ -21,13 +21,9 @@ import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.core.WhitespaceAnalyzer; import org.apache.lucene.util.LuceneTestCase; import org.apache.solr.common.util.NamedList; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertEquals; import org.junit.Test; -import org.junit.Assert; import java.util.Collection; -import java.util.ArrayList; /** @@ -42,7 +38,7 @@ public class SpellingQueryConverterTest extends LuceneTestCase { public void test() throws Exception { SpellingQueryConverter converter = new SpellingQueryConverter(); converter.init(new NamedList()); - converter.setAnalyzer(new WhitespaceAnalyzer()); + converter.setAnalyzer(new WhitespaceAnalyzer(TEST_VERSION_CURRENT)); Collection tokens = converter.convert("field:foo"); assertTrue("tokens is null and it shouldn't be", tokens != null); assertTrue("tokens Size: " + tokens.size() + " is not: " + 1, tokens.size() == 1); @@ -52,7 +48,7 @@ public class SpellingQueryConverterTest extends LuceneTestCase { public void testSpecialChars() { SpellingQueryConverter converter = new SpellingQueryConverter(); converter.init(new NamedList()); - converter.setAnalyzer(new WhitespaceAnalyzer()); + converter.setAnalyzer(new WhitespaceAnalyzer(TEST_VERSION_CURRENT)); String original = "field_with_underscore:value_with_underscore"; Collection tokens = converter.convert(original); assertTrue("tokens is null and it shouldn't be", tokens != null); @@ -98,7 +94,7 @@ public class SpellingQueryConverterTest extends LuceneTestCase { public void testUnicode() { SpellingQueryConverter converter = new SpellingQueryConverter(); converter.init(new NamedList()); - converter.setAnalyzer(new WhitespaceAnalyzer()); + converter.setAnalyzer(new WhitespaceAnalyzer(TEST_VERSION_CURRENT)); // chinese text value Collection tokens = converter.convert("text_field:我购买了道具和服装。"); @@ -118,7 +114,7 @@ public class SpellingQueryConverterTest extends LuceneTestCase { public void testMultipleClauses() { SpellingQueryConverter converter = new SpellingQueryConverter(); converter.init(new NamedList()); - converter.setAnalyzer(new WhitespaceAnalyzer()); + converter.setAnalyzer(new WhitespaceAnalyzer(TEST_VERSION_CURRENT)); // two field:value pairs should give two tokens Collection tokens = converter.convert("买text_field:我购买了道具和服装。 field2:bar"); diff --git a/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml b/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml index d523aa6ae5b..af94ce84f61 100644 --- a/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml +++ b/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml @@ -18,12 +18,12 @@ - + - + - + @@ -36,8 +36,8 @@ - - + + @@ -45,9 +45,9 @@ - + - +