Erick, That's a neat example. Thanks! Btw, noticed, that luke can decode the payloads quite well. Extra goody under debugger's belt.
Regards, Dmitry On Fri, Apr 24, 2015 at 9:22 PM, Erick Erickson <erickerick...@gmail.com> wrote: > I put up a complete example not too long ago that may help, see: > > http://lucidworks.com/blog/end-to-end-payload-example-in-solr/ > > Best, > Erick > > On Fri, Apr 24, 2015 at 6:33 AM, Dmitry Kan <solrexp...@gmail.com> wrote: > > Ahmet, exactly. As I have just illustrated with code, simultaneously with > > your reply. Thanks! > > > > On Fri, Apr 24, 2015 at 4:30 PM, Ahmet Arslan <iori...@yahoo.com.invalid > > > > wrote: > > > >> Hi Dmitry, > >> > >> I think, it is activated by PayloadTermQuery. > >> > >> Ahmet > >> > >> > >> > >> On Friday, April 24, 2015 2:51 PM, Dmitry Kan <solrexp...@gmail.com> > >> wrote: > >> Hi, > >> > >> > >> Using the approach here > >> http://lucidworks.com/blog/getting-started-with-payloads/ I have > >> implemented my own PayloadSimilarity class. When debugging the code I > have > >> noticed, that the scorePayload method is never called. What could be > wrong? > >> > >> > >> [code] > >> > >> class PayloadSimilarity extends DefaultSimilarity { > >> @Override > >> public float scorePayload(int doc, int start, int end, BytesRef > >> payload) { > >> float payloadValue = PayloadHelper.decodeFloat(payload.bytes); > >> System.out.println("payloadValue = " + payloadValue); > >> return payloadValue; > >> } > >> } > >> > >> [/code] > >> > >> > >> Here is how the similarity is injected during indexing: > >> > >> [code] > >> > >> PayloadEncoder encoder = new FloatEncoder(); > >> IndexWriterConfig indexWriterConfig = new > >> IndexWriterConfig(Version.LUCENE_4_10_4, new > >> PayloadAnalyzer(encoder)); > >> payloadSimilarity = new PayloadSimilarity(); > >> indexWriterConfig.setSimilarity(payloadSimilarity); > >> IndexWriter writer = new IndexWriter(dir, indexWriterConfig); > >> > >> [/code] > >> > >> > >> and during searching: > >> > >> [code] > >> > >> IndexReader indexReader = DirectoryReader.open(dir); > >> IndexSearcher searcher = new IndexSearcher(indexReader); > >> searcher.setSimilarity(payloadSimilarity); > >> > >> TermQuery termQuery = new TermQuery(new Term("body", "dogs")); > >> termQuery.setBoost(1.1f); > >> TopDocs topDocs = searcher.search(termQuery, 10); > >> printResults(searcher, termQuery, topDocs); > >> > >> > >> [/code] > >> > >> -- > >> Dmitry Kan > >> Luke Toolbox: http://github.com/DmitryKey/luke > >> Blog: http://dmitrykan.blogspot.com > >> Twitter: http://twitter.com/dmitrykan > >> SemanticAnalyzer: www.semanticanalyzer.info > >> > > > > > > > > -- > > Dmitry Kan > > Luke Toolbox: http://github.com/DmitryKey/luke > > Blog: http://dmitrykan.blogspot.com > > Twitter: http://twitter.com/dmitrykan > > SemanticAnalyzer: www.semanticanalyzer.info > -- Dmitry Kan Luke Toolbox: http://github.com/DmitryKey/luke Blog: http://dmitrykan.blogspot.com Twitter: http://twitter.com/dmitrykan SemanticAnalyzer: www.semanticanalyzer.info