The Security Lookup user control was implemented in C# using the Lucene.Net assembly to search securities while reading Lucene Index which stored US and Global equities. Security Lookup is a User Control with two DevExpress controls the TextBox and the LookUp
When the symbol ex VOD is placed on the TextBox the Lucene searcher will parse the Index for potential hits.
For example, if I enter VOD searching for Vodaphone which is one of the largest companies in the UK, it highlights VOD in the US which is not optimal because I am likely searching for VOD in the UK.
Here's my code for the Lucene parser.
var searcher = new IndexSearcher(IndexReader.Open(GetIndexDirectory(assetType), true));
MultiFieldQueryParser queryParser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_30, new string[] { "Symbol", "Name", "Isin", "Cusip", "Sedol", "MarketName" }, analyzer)
{
DefaultOperator = QueryParser.Operator.AND
};
It was recommended to for the ordering of the relevant items is search is by - Primary Market, Underlying Symbol, and Volume.
I would like to see most relevant hits on the top of the sorted list. Does anyone know what sorting algorithms Google or Bloomberg or Yahoo Finance is using?
Any suggestions would be appreciated.