From
http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/search/Similarity.html

<http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/search/Similarity.html>If
the custom Similarity overwrite the
*lengthNorm<http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/search/Similarity.html#lengthNorm(java.lang.String,
int)>*(field)<http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/search/Similarity.html#lengthNorm(java.lang.String,
int)> method of DefaultSimilarity, need to set the Similarity during writing
index.


2010/11/19 Mattias Persson <matt...@neotechnology.com>

> 2010/11/18 Samuel Feng <okos...@gmail.com>
>
> > Hi,
> >
> > To my understanding, if you use one
> > Similarity in indexWriter, you should also use it in indexSearcher.
> >
> > And the scoring is not written during writing index, as it depends on the
> > relationship between query terms and the indexed documents. It is
> > calculated
> > for each query.
> >
>
> But is it a benefit to use it in writer and/or searcher? Is the similarity
> needed at all during writing?
>
>
> >
> >
> > 2010/11/18 Mattias Persson <matt...@neotechnology.com>
> >
> > > > > Hi,
> > >
> > > > > >
> > > >> > > I am new to neo4j.
> > > >> > >
> > > >> > > I am using a custom analyzer in index in order to support
> Chinese.
> > > >> > >
> > > >> > >    chnIndex = this.graphDb.index().forNodes("product_chinese",
> > > >> > >        MapUtil.stringMap("analyzer",
> > > >> > > "org.wltea.analyzer.lucene.IKAnalyzer"));
> > > >> > >
> > > >> > > Below is the usage of the IKAnalyzer in lucence.
> > > >> > >
> > > >> > >      IndexSearcher isearcher = new IndexSearcher(directory);
> > > >> > >      isearcher.setSimilarity(new IKSimilarity());   // A custom
> > > >> > Similarity
> > > >> > >      String word = "OLYMPUS 奥林巴斯 E-PL1 时尚白 微型4/3系统相机 套机
> > 含14-42mm镜头";
> > > >> > >      Query query = IKQueryParser.parse(fieldName, word );  // A
> > > custom
> > > >> > > QueryParser
> > > >> > >      TopDocs topDocs = isearcher.search(query, 5); // Got the
> top
> > 5
> > > >> > >      System.out.println("Found " + topDocs.totalHits);
> > > >> > >      ScoreDoc[] scoreDocs = topDocs.scoreDocs;
> > > >> > >      for (int i = 0; i < topDocs.totalHits; i++) {
> > > >> > >        System.out.println(scoreDocs[i].score); // Got the score
> of
> > > >> each
> > > >> > > matched doc
> > > >> > >        Document targetDoc = isearcher.doc(scoreDocs[i].doc);
> > > >> > >        System.out.println("Document content is " +
> > > >> targetDoc.toString());
> > > >> > >      }
> > > >> > >
> > > >> > > How can I use the query method of neo4j's indexing to implement
> > > >> > > 1) Add my custom Similartiy implemtation
> > > >>
> > > >
> > > Btw, what's the difference between setting Similarity on IndexWriter
> vs.
> > > IndexSearcher? Is it performance maybe, that if it's set on the
> > IndexWriter
> > > then the scoring is written during writes, but if it's set on
> > IndexSearcher
> > > it's calculated for each query?
> > > _______________________________________________
> > > Neo4j mailing list
> > > User@lists.neo4j.org
> > > https://lists.neo4j.org/mailman/listinfo/user
> > >
> > _______________________________________________
> > Neo4j mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> >
>
>
>
> --
> Mattias Persson, [matt...@neotechnology.com]
> Hacker, Neo Technology
> www.neotechnology.com
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to