How i can search by part of word with dismax? For example when my query is "wor" i want get results with "word" "world" "adwords" etc. fields values. Is it possible?

有帮助吗?

解决方案

Check for EdgeNGramFilterFactory filter

<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="25" side="front"/>

EdgeNGramFilterFactory generates edge grams for the token e.g.

word would generate -> wo, wor, word .....

You can use this at index time to generate the tokens. So when you search for wor, documents with word would match

However, if you want to search in the mid of the words check for NGramFilterFactory

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top