Thanks Adrien for the quick response - that's a good hint - I simplified my code and realized, that the sorting DOES work, if I use full words. With "*", index boosting is not taken into account - see below my code, I used the two queries for testing:
"Tetrachloroethane" - scoring works fine "Tetra*" - here, I get all the same scores. I am building an auto-suggest, based on ontology terms. Scoring is crucial there, and also, that I find parts of words. Markus Simplified test code: public void simple(String inp) throws IOException { try { FSDirectory dir = FSDirectory.open(FileSystems.getDefault().getPath(Co.folder()+"SEARCH\\ontoTest\\")); analyzer = new EnglishAnalyzer(); IndexWriterConfig config = new IndexWriterConfig(analyzer).setOpenMode(OpenMode.CREATE); IndexWriter writer = new IndexWriter(dir, config); index(writer, "4", "1,1,2,2-Tetrachloroethane", 1); index(writer, "5", "Tetrachloroethane", 1); index(writer, "6", "Tetrachloroethane", 10); index(writer, "7", "Tetrachloroethane", 0.1f); writer.close(); QueryParser parser; Query query; parser=new QueryParser("TERM", analyzer); query = parser.parse(inp); IndexReader reader = DirectoryReader.open(dir); IndexSearcher searcher = new IndexSearcher(reader); ScoreDoc[] hits = searcher.search(query, 100).scoreDocs; out("found: "+hits.length+" results!"); for(int i=0; i<hits.length; i++) { ScoreDoc sd=hits[i]; if(sd==null) continue; int docId = sd.doc; Document d = searcher.doc(docId); if(d==null) continue; out("<br>id: "+d.get("ID")+" - score: "+sd.score+" - "+d.get("TERM")); } } catch(Exception e) { e.printStackTrace(); } } public void index(IndexWriter writer, String id, String str, float boost) throws IOException { Document doc=new Document(); FieldType ft=new FieldType(); ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS); ft.setStored(true); ft.setTokenized(true); Field f=new Field("TERM", str, ft); f.setBoost(boost); doc.add(f); writer.updateDocument(new Term("ID", id), doc); } On Wed, Jul 1, 2015 at 9:57 PM, Adrien Grand <jpou...@gmail.com> wrote: > What query did you run? Not all queries take index-time boosts into > account for scoring. > > On Wed, Jul 1, 2015 at 7:30 PM, Markus Hegi - Nagavkar > <markush...@gmail.com> wrote: > > Hello > > > > Downloaded & imported latest 5.2.1 version, but Index-scoring seems not > to > > work for me: > > > > I index two types of documents: > > - For one, I boost every field with a factor 1 > > - For the other one, I boost every field with 0.01 > > > > When I search, I get documents of both types, but for ALL document an > > identical score of: > > 1.4142135 > > > > What could be the problem? > > Some of my code: > > ... > > FieldType ft=new FieldType(); > > ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS); > > ft.setStored(true); > > ft.setTokenized(true); > > > > Field f=new Field(name, value, ft); > > f.setBoost(0.001f); > > doc.add(f); > > ... > > > > Markus > > > > -- > Adrien > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > >