Lucene lets you sort by multiple fields, including score. See the javadocs for Sort and SortField, specifically SortField.SCORE.
-- Ian. On Wed, Dec 17, 2008 at 8:15 PM, Ariel <isaacr...@gmail.com> wrote: > Hi: > This solution have a problem. > the results are sorted bye the year criteria but I need that after sort by > year criteria it sort by the scoring criteria two. > How can I do this ??? > > I hope you can help me. > Greetings > Ariel > > On Wed, Nov 19, 2008 at 5:28 PM, Erick Erickson > <erickerick...@gmail.com>wrote: > >> Well, MultiSearcher is just a Searcher, so you have available >> all of the search methods on Searcher. One of which is: >> >> search >> >> public TopFieldDocs >> >> <file:///C:/lucene-2.1.0/docs/api/org/apache/lucene/search/TopFieldDocs.html> >> *search*(Query >> <file:///C:/lucene-2.1.0/docs/api/org/apache/lucene/search/Query.html> >> query, >> Filter >> <file:///C:/lucene-2.1.0/docs/api/org/apache/lucene/search/Filter.html> >> filter, >> int n, >> Sort >> <file:///C:/lucene-2.1.0/docs/api/org/apache/lucene/search/Sort.html> >> sort) >> throws IOException >> <http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html> >> >> Expert: Low-level search implementation with arbitrary sorting. Finds the >> top n hits for query, applying filter if non-null, and sorting the hits by >> the criteria in sort. >> >> >> Best >> Erick >> >> >> On Wed, Nov 19, 2008 at 4:22 PM, Ariel <isaacr...@gmail.com> wrote: >> >> > Well, this is what I am doing: >> > >> > queryString="year:[2003 TO 2005]" >> > [CODE] >> > Query pquery = null; >> > Hits hits = null; >> > Analyzer analyzer = null; >> > analyzer = new SnowballAnalyzer("English"); >> > try { >> > pquery = MultiFieldQueryParser.parse(new String[] {queryString, >> > queryString}, new String[] {"title", "content"}, analyzer); //analyzer >> > } catch (ParseException e1) { >> > e1.printStackTrace(); >> > } >> > MultiSearcher searcher = (MultiSearcher) searcherCache.get(name); >> > >> > try { >> > hits = searcher.search(pquery); >> > } catch (IOException e1) { >> > e1.printStackTrace(); >> > } >> > [/CODE] >> > >> > I don't know the methods that include sorting. I have made the sorting by >> > the score criteria so far, I don-t know how to change it to the year >> field >> > criteria. >> > As you can see, I am using a multisearcher because I have several >> indexes. >> > >> > I hope you can help me. >> > Regards >> > Thanks in advance >> > Ariel >> > >> > >> > >> > On Wed, Nov 19, 2008 at 3:58 PM, Ian Lea <ian....@gmail.com> wrote: >> > >> > > Are you using one of the search methods that includes sorting? If >> > > not, then do. If you are, then you need to tell us exactly what you >> > > are doing and exactly what you reckon is going wrong. >> > > >> > > >> > > -- >> > > Ian. >> > > >> > > >> > > On Wed, Nov 19, 2008 at 6:23 PM, Ariel <isaacr...@gmail.com> wrote: >> > > > it is supposed lucene make a lexicocraphic sorting but this is not >> > > hapening, >> > > > Could you tell me what I'm doing wrong ? >> > > > I hope you can help me. >> > > > Regards >> > > > >> > > > On Wed, Nov 19, 2008 at 11:56 AM, Ariel <isaacr...@gmail.com> wrote: >> > > > >> > > >> Thanks, that was very helpful, but I have a question when I make the >> > > >> searches it does not sort the results according to the range, for >> > > example: >> > > >> year: [2003 TO 2008] in the first page 2003 documents are showed, in >> > the >> > > >> second 2005 documents, in the third page 2004 documents, I don't see >> > any >> > > >> sort criteria. >> > > >> How could I fix that problem ??? >> > > >> Greetings >> > > >> Ariel >> > > >> >> > > >> >> > > >> On Wed, Nov 19, 2008 at 11:09 AM, Ian Lea <ian....@gmail.com> >> wrote: >> > > >> >> > > >>> Hi - sounds like you need a range query. >> > > >>> >> > > >>> >> > > >>> >> > > >> > >> http://lucene.apache.org/java/2_3_2/queryparsersyntax.html#Range%20Searches >> > > >>> >> > > >>> >> > > >>> -- >> > > >>> Ian. >> > > >>> >> > > >>> >> > > >>> On Wed, Nov 19, 2008 at 4:02 PM, Ariel <isaacr...@gmail.com> >> wrote: >> > > >>> > Hi everybody: >> > > >>> > >> > > >>> > I need to make search with lucene 2.3.2, taking in account the >> > dates, >> > > >>> > previously when I build the index I create a date field where I >> > > stored >> > > >>> the >> > > >>> > year in which the document was created, at the search moment I >> > would >> > > >>> like to >> > > >>> > retrieve documents that have been created before a Year or after >> a >> > > Year, >> > > >>> for >> > > >>> > example documents before 2002 year o after 2003 year. >> > > >>> > It is possible to do that with lucene ??? >> > > >>> > Regards >> > > >>> > Ariel >> > > >>> > >> > > >>> >> > > >>> >> --------------------------------------------------------------------- >> > > >>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> > > >>> For additional commands, e-mail: java-user-h...@lucene.apache.org >> > > >>> >> > > >>> >> > > >> >> > > > >> > > >> > > --------------------------------------------------------------------- >> > > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> > > For additional commands, e-mail: java-user-h...@lucene.apache.org >> > > >> > > >> > >> > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org