Why do you say “…that are now in the index as rod’s”? You have WordDelimiterGraphFilterFactory, which breaks things up. When I put your field definition in the schema and use the analysis page, turns “rod’s” into the following 4 tokens:
rod’s rods rod s And querying on field:”*Rod’s*” works just fine. I’m using 8.x, and when I add “&debug=query” to the URL, I see: { "responseHeader": { "status": 0, "QTime": 10, "params": { "q": "eoe:\"*Rod's*\"", "debug": "query" } }, "response": { "numFound": 1, "start": 0, "docs": [ { "id": "1", "eoe": "Rod's", "_version_": 1659176849231577088 } ] }, "debug": { "rawquerystring": "eoe:\"*Rod's*\"", "querystring": "eoe:\"*Rod's*\"", "parsedquery": "SynonymQuery(Synonym(eoe:*rod's* eoe:rod))", "parsedquery_toString": "Synonym(eoe:*rod's* eoe:rod)", "QParser": "LuceneQParser" } } What do you see? Best, Erick > On Feb 21, 2020, at 12:57 PM, Mike Phillips <m.phill...@prosperodigital.com> > wrote: > > Rod’s finds fields Rod's and Rod’s that are now in the index as rod's > > but *Rod’s* finds nothing because the index now only contains rod's