Hi, I am quite new to solr and I am interested in implementing a sort of auto terms suggest (not auto complete) feature based on the user query. Users builds some query (on multiple fields) and I am trying to help him refining his query by suggesting to add more terms based on his current query. The suggestions should contain synonyms and different word forms (query:close , result: closed, closing) and also some other "interesting" (hard to define what interesting is) terms and phrases based on that search.
The queries are perform on text field with about 1000 words on document sets of about 20-50M So far I came up with solution that uses Suggester component over the 1000 words text field (copy field) as shown below and im trying to find how to add to it more "interesting" terms and phrases based on the text field <field name="text_total_shingle_synonyms" type="text_total_shingle_synonyms" indexed="true" stored="true" termVectors="true" termOffsets="true" termPositions="true" required="false" multiValued="true" /> <copyField source="text_en_total" dest="text_total_shingle_synonyms"/> <fieldType name="text_total_shingle_synonyms" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <!-- Case insensitive stop word removal.--> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.EnglishPossessiveFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.ShingleFilterFactory" maxShingleSize="4" /> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms_suggest.txt" ignoreCase="true" expand="false"/> <!-- in example it is set to false, we have it as true --> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.EnglishPossessiveFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <!-- <filter class="solr.PorterStemFilterFactory"/> --> </analyzer> </fieldType> Thanks, Artur Rudenko This electronic message may contain proprietary and confidential information of Verint Systems Inc., its affiliates and/or subsidiaries. The information is intended to be for the use of the individual(s) or entity(ies) named above. If you are not the intended recipient (or authorized to receive this e-mail for the intended recipient), you may not use, copy, disclose or distribute to anyone this message or any information contained in this message. If you have received this electronic message in error, please notify us by replying to this e-mail.