Matej, During/right before indexing. What is stored is the original. Indexing ! = storing
-- Performance Monitoring - http://sematext.com/spm On Oct 3, 2012 6:03 AM, "tech.vronk" <t...@vronk.net> wrote: > > Thank you Erick, that would explain the behaviour. > > But it leaves me with the question: > When are all the analyzers/filters applied > when not during indexing? > > I mean, if I define a lowercase filter on a field, > if it is not applied on the input stream before storing > so that I have a lowercased text stored in the index, > at what point then? > the only other point I can think of, is on the fly, during the search, > but that sound terribly inefficient > (doing the transformations every time?) > > would be greatful if anybody can bring some light into this for me. > > best, > matej > > > > Am 02.10.2012 16:58, schrieb Erick Erickson: > >> Ah, I get it (finally). OK, there's no good way to do what >> you want that I know of. The problem is that the >> stored="true" takes effect long before any transformations >> are applied, and is always the raw input. You effectively >> want to chain the fields together, i.e. apply the analysis >> chain _then_ have the copyfield take effect which is not >> supported. >> >> I don't know how to accomplish this off the top of my head >> OOB, I'd guess your client would have to manage the >> substitutions and then just index separate fields... >> >> Best >> Erick >> >> On Tue, Oct 2, 2012 at 9:54 AM, tech.vronk <t...@vronk.net> wrote: >> >>> the query is: >>> mapped_field:mapped_value1 >>> >>> and seems to correctly return the documents. >>> >>> the mapped_field has attribute stored=true >>> and also appears in the result (even without requesting it explicitely >>> with >>> fl), >>> just with the orig_value1 instead of mapped_value1 >>> >>> matej >>> >>> Am 02.10.2012 15:46, schrieb Erick Erickson: >>> >>> What's the query you send? I'm guessing a bit here since you >>>> haven't included it, but try insuring two things: >>>> >>>> 1> your mapped_field is has 'stored="true" ' >>>> 2> you specify (either in your request handler on on the URL) >>>> fl=mapped_value >>>> >>>> Best >>>> Erick >>>> >>>> On Tue, Oct 2, 2012 at 9:04 AM, tech.vronk <t...@vronk.net> wrote: >>>> >>>>> Hi, >>>>> >>>>> I try to map values from one field into other values in another field. >>>>> For example: >>>>> original_field: orig_value1 >>>>> mapped_field: mapped_value1 >>>>> >>>>> with the help of an explicitely defined (N:1) mapping: >>>>> orig_value1 => mapped_value1 >>>>> orig_value2 => mapped_value1 >>>>> orig_value3 => mapped_value2 >>>>> >>>>> I have tried to use SynonymFilterFactory >>>>> for the mapped_field: >>>>> >>>>> <fieldtype name="mapped_field" class="solr.TextField"> >>>>> <analyzer type="index"> >>>>> <tokenizer class="solr.**WhitespaceTokenizerFactory"/> >>>>> <filter class="solr.**SynonymFilterFactory" >>>>> synonyms="region-map.txt" ignoreCase="true" expand="true"/> >>>>> </analyzer> >>>>> >>>>> combined with: >>>>> <copyField src="original_field" dest="mapped_field" /> >>>>> >>>>> >>>>> Now, a search for >>>>> mapped_field:mapped_value1 >>>>> yields results, >>>>> however in the result the mapped_value1 does not appear at all, >>>>> but instead the orig_value1 appears also in the mapped_field. >>>>> >>>>> How can I achieve, that the mapped_value appears in the result as well? >>>>> >>>>> >>>>> thank you, >>>>> >>>>> matej >>>>> >>>> >>>> >> >