On Thu, Sep 8, 2011 at 10:05 PM, Marvin Humphrey <[email protected]> wrote: > If you like, take a look at LucyX::Remote::SearchServer and > LucyX::Remote::SearchClient. They're implemented in pure Perl, so Perl > programmers generally find them easier to grok than other parts of the > library.
Presumably though the Perl interface is calling the super-fast C library so there's no performance penalty, right? >> Ranking >> ------- >> I need to sort results based on a floating point value (actually >> several). I see Lucy supports this. > > Lucy supports sorting on the lexical value of text fields. You can use > sprintf() or the like to stringify floats so that field values sort lexically > in the same order as they would numerically. Ignorant question: stringify during indexing, or searching? Thank you for your time in answering my questions, it's appreciated. If I may steal a few more cycles from you: 1. Since my search results are always ranked by my own sort-field, does Lucy skip unimportant docs - ie those with too-low sort-score, unless minimum results are not found? 2. Highlighting - does it use regex, perl, or pure-C - I've found in some libraries that highlighting can impact heavily on performance. ie, search returns sub-second, but building the snippets and highlighting for a typical 25-50 item page can take 0.5s - second or more on it's own (particularly if there are hundreds of highlighted terms). 3. Short-circuiting search: let's say the index has 100m docs. Since I only intend ever displaying a max of (say) 500 results (broken into pages of 10/25/50 each), does Lucy grind away at the entire index to proudly let me know that it found 50,000 results, even though I'm only displaying a small subset, or does it take cognizance of my intent to only display 500, find the top 500 (eg, based on my custom sort field which is a relevance-indicator), but still report that it "found" 50,000 (ie, 50k possible results) results? Sorry, I know this is a rather staggered/not-well-presented question, so I hope I made sense. Thanks! g
