How does Lucene. Net implement the classification and statistics function of search results?
Recently, a customer of the search system in souyi station needs an infinitely classified and classified statistics function. The following results are achieved:
However, because the search system is developed based on e.net 2.0 and does not have a built-in classification statistics search function, you can only implement it by yourself. Considering that the customer's total data volume and search volume are not very large, therefore, it is implemented in a simple and effective way:
Because classification operations are involved, the classification system of each site is still somewhat different. This article mainly provides ideas and some DEMO code for reference to children's shoes in need:
Ideas:
First, we thought that the result searched by Lucene is an Hits object, and Hits is actually a collection object of the search result document. Then we traverse this collection object and compare it with the given classification field, if it exists, + 1 is displayed.
Sample Code:
Lucene. Net. Search. Hits hits = Searcher. Search (querystring );
Int hcount = hits. Length ();
Lucene. Net. Documents. Document doc = null;
For (int I = 0; I {
Doc = hits. Doc (I );
String c1 = doc. GetField ("Cate1"). StringValue ();
// Determine whether the specified category set exists. If yes, add 1.
If (parameter. Cate1Groups. ContainsKey (c1 ))
{
Parameter. Cate1Groups [c1] = parameter. Cate1Groups [c1] + 1;
}
Else
{
Parameter. Cate1Groups. Add (c1, 1 );
}
}
Applicable scenarios:
This method is suitable for small and medium-sized websites and is available when the data volume and search volume are small.
Digress:
I used to think that as a small and medium-sized website, there should not be too many searches. After all, Baidu, Google, which has massive data, simply has only one search box. After communication with some webmasters, I found that, in fact, this is not the case. Some websites, such as slice, materials, and resource websites, frequently used for intra-site searches for such websites, high Efficiency and Precision filtering are required. The search PV accounts for a high proportion of the total site PV. if the search is not good, it has a great impact on the traffic because the intra-site search is useful, PV is doubled or even several times, and vice versa.