Am using Lucene.Net 2.0.4 version and am not able to see
"Field.Index.ANALYZED" in the code.

Thanks,
Ed


Steven A Rowe wrote:
> 
> Hi Ed,
> 
> Here's an example, based on the code from
> <http://wiki.apache.org/lucene-java/TheBasics> (UNTESTED):
> 
> public class LuceneFreshnessTest {
>   public static void main(String[] args) throws IOException {
>     RAMDirectory directory = new RAMDirectory();
>     IndexWriter writer = 
>       new IndexWriter(directory, new WhitespaceAnalyzer(), true);
>     Document doc = new Document(); 
>     doc.add(new Field("id", "1", Field.Store.YES,
>                       Field.Index.NOT_ANALYZED));
>     // 1 day since epoch = "1"
>     Field daysField = new Field
>       ("days", "1", Field.Store.NO, Field.Index.ANALYZED);
>     daysField.setOmitNorms(true);
>     doc.add(daysField);
>     writer.addDocument(doc);
> 
>     doc = new Document(); 
>     doc.add(new Field("id", "2", Field.Store.YES,
>                       Field.Index.NOT_ANALYZED));   
>     // 3 days since epoch = "1 1 1"
>     daysField = new Field("days", "1 1 1", Field.Store.NO, 
>                           Field.Index.ANALYZED);
>     daysField.setOmitNorms(true);
>     doc.add(daysField);
>     writer.addDocument(doc);
> 
>     doc = new Document(); 
>     doc.add(new Field("id", "3", Field.Store.YES,
>                       Field.Index.NOT_ANALYZED));
>     // 5 days since epoch = "1 1 1 1 1"
>     daysField = new Field("days", "1 1 1 1 1", Field.Store.NO, 
>                           Field.Index.ANALYZED);
>     daysField.setOmitNorms(true);
>     doc.add(daysField);
>     writer.addDocument(doc);
> 
>     writer.close();
> 
>     IndexSearcher searcher = new IndexSearcher(directory);
>     Query query = new TermQuery(new Term("days", "1"));   
>     TopDocs rs = searcher.search(query, null, 10);
>     System.out.println("Total hits: " + rs.totalHits);
> 
>     Document firstHit = searcher.doc(rs.scoreDocs[0].doc);
>     System.out.println("First hit ID (newest=3): " 
>                        + firstHit.getField("id").toString());
>   }
> }
>   
> Steve
> 
> On 01/15/2009 at 10:41 PM, mitu2009 wrote:
>> Hi,
>> 
>> Thanks for your suggestions!
>> Am new to Lucene...would appreciate if u could elaborate ur
>> following point with an example:
>> 
>> > Add a separate field, say "days", in which you will put as many "1" as
>> > many days elapsed since the epoch (not neccessarily since 1 Jan 1970 -
>> > pick a date that makes sense for you). Then, if you want to prioritize
>> > newer documents, just add "+days:1" to your query. Voila - the final
>> > results are a sum of other score factors plus a score factor that is
>> > higher for more recent document, containing more 1-s.
>> 
>> Thanks again!
>> Ed
>> 
>> Steven A Rowe wrote:
>> > 
>> > On 01/14/2009 at 10:44 PM, mitu2009 wrote:
>> > > Is it possible to bubble up newer records in lucene search results?
>> > > ie.I want Lucene to give a higher score to records which are closer
>> to
>> > > today's date.
>> > 
>> > In addition to the fine ideas given by previous posters, Andrzej
>> > Bialecki has described a technique that uses term frequency alone to
>> > affect the score: from
>> > <http://www.gossamer-threads.com/lists/lucene/java-user/43457>:
>> > 
>> > > Here's the trick that works for me, without the issues of boost
>> > > resolution or FunctionQuery.
>> > > 
>> > > Add a separate field, say "days", in which you will put as many "1"
>> as
>> > > many days elapsed since the epoch (not neccessarily since 1 Jan 1970
>> -
>> > > pick a date that makes sense for you). Then, if you want to
>> prioritize
>> > > newer documents, just add "+days:1" to your query. Voila - the final
>> > > results are a sum of other score factors plus a score factor that is
>> > > higher for more recent document, containing more 1-s.
>> > > 
>> > > If you are dealing with large time spans, you can split this into
>> > > years and days-in-a-year, and apply query boosts, like "+years:1^10.0
>> > > +days:1^0.02". Do some experiments and find what works
>> > > best for you.
>> > 
>> > As noted in a later thread discussing this issue
>> > <http://www.gossamer-threads.com/lists/lucene/java-user/64482>, you
>> > should turn norms off on the "days" field:
>> > 
>> <http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/document/Fieldable.html#setOmitNorms(boolean)>
>> > 
>> > Steve
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-dev-h...@lucene.apache.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Bubbling-up-newer-records-tp21470766p21508712.html
Sent from the Lucene - Java Developer mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to