文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Lucene并行查询多目录

Lucene并行查询多目录

时间:2010-09-01  来源:让大家开心的人

  1、多字段搜索就是同时要一个以上的字段中的内容进行比较搜索,类似概念在SQL中就是select * from Table where a like '%query%' or b like '%query%'。

  Lucene.net中的单个字段查询大家都比较熟悉,这里对字段content进行搜索

  Query query = QueryParser.Parse(querystr,"content",new ChineseAnalyzer());

  Hits hits = searcher.Search(query);

  对多个字段查询用到一个MultiFieldQueryParser对象,该对象继承自Query,我们要对字段title,content进行搜索。

  string[] fields = {"content","title"};

  Query multiquery = MultiFieldQueryParser.Parse(querystr,fields,new ChineseAnalyzer());

  Hits hits = searcher.Search(multiquery);

  2、多索引目录就是要在多个索引目录的中进行比较搜索,类似概念在SQL中就是select * from TableA union select * from TableB。

  IndexSearcher[] searchers = new IndexSearcher[2];

  searchers[0] = new IndexSearcher(IndexPath0);

  searchers[1] = new IndexSearcher(IndexPath1);

  MultiSearcher multisearcher = new MultiSearcher(searchers);

  TopDocs multitopdocs = multisearcher.Search(query, null, 1000);

  这个搜索的结果可能有相同的信息,比如你有一条相同的信息在多个目录中索引,搜索的结果就会出现多次相同的信息.www.qichepeijiancom。

  还有一种搜索方式是用到ParallelMultiSearcher这个对象,它是从MulitSearcher继承而来。

  ParallelMultiSearcher parallelmultisearcher = new ParallelMultiSearcher(searchers);

  TopDocs paralleltopdocs = parallelmultisearcher.Search(query, null, 1000);

  这个搜索是对搜索后的结果进行合并,剔除重复的信息。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载