ok, so lemme attempt to restate your objective to ensure no 
miscommunication:

1) you have fields like "color"
2) you want to index english words into the color field for docs
3) you want to search/filter against these fields using english words as 
input
4) you want to facet on the fields like "color"
5) you want the list of terms:counts displayed to the end user when 
faceting on these fields to be in a variety of different langauges, based 
on a "user_lang" option specified at query time and a set of known 
translations
6) if no english->user_lang translation is available for a particular 
term, you want to display the eglish workd when displaying the facet 
counts

does that sound right?

based on your objective, attempting to embed/encode the various 
translations into the terms when indexing (as payloads, or an 
alternative field or prefixed terms, etc...) seems like a vastly 
overcomplicated way to deal with this problem.

If i were in your shoes, i would keep the translation aspect of the 
displya completely distinct from Solr, and after solr has returned the 
response then loop over the facet.field temrs and do a lookup in some 
other (cached) key/value translation mapping in your middle layer -- 
replacing the english word with the translation if it exists.

This has the added benefit of allowing you to tweak the translations w/o 
reindexing any docs.

Practically speaking: the idea of encoding these translations as payloads 
wouldn't make sense -- because payloads exist per *occurance* of the term 
-- ie: it wouldn't make sense to put "es=rojo;fr=rouge" in the payload of 
a term "red" when indexing a document, because you want those translations 
for all instances of red -- not just that instance of red in that 
singlular document.  



: Date: Mon, 28 Aug 2017 13:29:00 -0500
: From: Webster Homer <webster.ho...@sial.com>
: Reply-To: solr-user@lucene.apache.org
: To: solr-user@lucene.apache.org
: Subject: Re: Facet on a Payload field type?
: 
: The issue is, that we lack translations for much of our attribute data. We
: do have English versions. The idea is to use the English values for the
: faceted values and for the filters, but be able to retrieve different
: language versions of the term to the caller.
: If we have a facet on color if the value is red, be able to retrieve rojo
: for Spanish etc...
: 
: Also users can switch regions between searches. If a user starts out in
: French, executes a search, selects a facet then switches to German they
: should get the German for the facet (if it exists) even when they
: originally used French. If all of the searching was in English where we
: have the data, we could then show French (or German etc) for the facet
: value.
: 
: The real field value that we use for filtering would be in English but the
: values returned to the user would be in the language of their locale or
: English if we don't have a translation for it. The idea being that the
: translations would be stored in the payloads
: 
: On Wed, Aug 23, 2017 at 7:47 PM, Chris Hostetter <hossman_luc...@fucit.org>
: wrote:
: 
: >
: > : The payload idea was from my boss, it's similar to how they did this in
: > : Endeca.
: >         ...
: > : My alternate idea is to have sets of facet fields for different
: > languages,
: > : then let our service layer determine the correct one for the user's
: > : language, but I'm curious as to how others have solved this.
: >
: > Let's back up for a minute -- can you please explain your ultimate goal,
: > from a "solr client application" perspective? (assuming we have no
: > knowledge of how/how you might have used Endeca in the past)
: >
: > What is it you want your application to be able to do when indexing docs
: > to solr and making queries to solr?  give us some real world examples
: >
: >
: >
: > (If i had to guess: i gather maybe you're just dealing with a "keywords"
: > type field that you want to facet on -- and maybe you could use a diff
: > field for each langauge, or encode the langauges as a prefix on each term
: > and use facet.prefix to restrict the facet contraints returned)
: >
: >
: >
: > https://people.apache.org/~hossman/#xyproblem
: > XY Problem
: >
: > Your question appears to be an "XY Problem" ... that is: you are dealing
: > with "X", you are assuming "Y" will help you, and you are asking about "Y"
: > without giving more details about the "X" so that we can understand the
: > full issue.  Perhaps the best solution doesn't involve "Y" at all?
: > See Also: http://www.perlmonks.org/index.pl?node_id=542341
: >
: >
: >
: > :
: > : On Wed, Aug 23, 2017 at 2:10 PM, Markus Jelsma <
: > markus.jel...@openindex.io>
: > : wrote:
: > :
: > : > Technically they could, facetting is possible on TextField, but it
: > would
: > : > be useless for facetting. Payloads are only used for scoring via a
: > custom
: > : > Similarity. Payloads also can only contain one byte of information (or
: > was
: > : > it 64 bits?)
: > : >
: > : > Payloads are not something you want to use when dealing with
: > translations.
: > : > We handle facet constraint (and facet field)  translations just by
: > mapping
: > : > internal value to a translated value when displaying facet, and vice
: > versa
: > : > when filtering.
: > : >
: > : > -----Original message-----
: > : > > From:Webster Homer <webster.ho...@sial.com>
: > : > > Sent: Wednesday 23rd August 2017 20:22
: > : > > To: solr-user@lucene.apache.org
: > : > > Subject: Facet on a Payload field type?
: > : > >
: > : > > Is it possible to facet on  a payload field type?
: > : > >
: > : > > We are moving from Endeca to Solr. We have a number of Endeca facets
: > : > where
: > : > > we have hacked in multilangauge support. The multiple languages are
: > : > really
: > : > > just for displaying the value of a term internally the value used to
: > : > search
: > : > > is in English. The problem is that we don't have translations for
: > most of
: > : > > our facet data and this was a way to support multiple languages with
: > the
: > : > > data we have.
: > : > >
: > : > > Looking at the Solrj FacetField class I cannot tell if the value can
: > : > >  contain  a payload or not
: > : > >
: > : > > --
: > : > >
: > : > >
: > : > > This message and any attachment are confidential and may be
: > privileged or
: > : > > otherwise protected from disclosure. If you are not the intended
: > : > recipient,
: > : > > you must not copy this message or attachment or disclose the
: > contents to
: > : > > any other person. If you have received this transmission in error,
: > please
: > : > > notify the sender immediately and delete the message and any
: > attachment
: > : > > from your system. Merck KGaA, Darmstadt, Germany and any of its
: > : > > subsidiaries do not accept liability for any omissions or errors in
: > this
: > : > > message which may arise as a result of E-Mail-transmission or for
: > damages
: > : > > resulting from any unauthorized changes of the content of this
: > message
: > : > and
: > : > > any attachment thereto. Merck KGaA, Darmstadt, Germany and any of its
: > : > > subsidiaries do not guarantee that this message is free of viruses
: > and
: > : > does
: > : > > not accept liability for any damages caused by any virus transmitted
: > : > > therewith.
: > : > >
: > : > > Click http://www.emdgroup.com/disclaimer to access the German,
: > French,
: > : > > Spanish and Portuguese versions of this disclaimer.
: > : > >
: > : >
: > :
: > : --
: > :
: > :
: > : This message and any attachment are confidential and may be privileged or
: > : otherwise protected from disclosure. If you are not the intended
: > recipient,
: > : you must not copy this message or attachment or disclose the contents to
: > : any other person. If you have received this transmission in error, please
: > : notify the sender immediately and delete the message and any attachment
: > : from your system. Merck KGaA, Darmstadt, Germany and any of its
: > : subsidiaries do not accept liability for any omissions or errors in this
: > : message which may arise as a result of E-Mail-transmission or for damages
: > : resulting from any unauthorized changes of the content of this message
: > and
: > : any attachment thereto. Merck KGaA, Darmstadt, Germany and any of its
: > : subsidiaries do not guarantee that this message is free of viruses and
: > does
: > : not accept liability for any damages caused by any virus transmitted
: > : therewith.
: > :
: > : Click http://www.emdgroup.com/disclaimer to access the German, French,
: > : Spanish and Portuguese versions of this disclaimer.
: > :
: >
: > -Hoss
: > http://www.lucidworks.com/
: >
: 
: -- 
: 
: 
: This message and any attachment are confidential and may be privileged or 
: otherwise protected from disclosure. If you are not the intended recipient, 
: you must not copy this message or attachment or disclose the contents to 
: any other person. If you have received this transmission in error, please 
: notify the sender immediately and delete the message and any attachment 
: from your system. Merck KGaA, Darmstadt, Germany and any of its 
: subsidiaries do not accept liability for any omissions or errors in this 
: message which may arise as a result of E-Mail-transmission or for damages 
: resulting from any unauthorized changes of the content of this message and 
: any attachment thereto. Merck KGaA, Darmstadt, Germany and any of its 
: subsidiaries do not guarantee that this message is free of viruses and does 
: not accept liability for any damages caused by any virus transmitted 
: therewith.
: 
: Click http://www.emdgroup.com/disclaimer to access the German, French, 
: Spanish and Portuguese versions of this disclaimer.
: 

-Hoss
http://www.lucidworks.com/

Reply via email to