首页 新闻 会员 周边

Lucnen.net OR查询问题。

0
悬赏园豆:30 [已关闭问题] 关闭于 2015-09-11 11:36

用Lucnen 3.03
盘古分词:2.4.1.0

代码贴上:

public List<KeyWord> Search(string keyword, int count)
        {
            QueryParser parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, "Word", new Lucene.Net.Analysis.PanGu.PanGuAnalyzer());
            parser.DefaultOperator = Lucene.Net.QueryParsers.QueryParser.Operator.OR;
            Query query = parser.Parse(keyword);
            IndexSearcher searcher = new IndexSearcher(direcotry, true);
            TopDocs docs = searcher.Search(query, (Filter)null, count);
            if (docs == null || docs.TotalHits == 0)
            {
                return new List<KeyWord>();
            }
            else
            {
                List<KeyWord> list = new List<KeyWord>();
                foreach (ScoreDoc sd in docs.ScoreDocs)
                {
                    try
                    {
                        KeyWord kw = new KeyWord();
                        Document doc = searcher.Doc(sd.Doc);
                        string id = doc.Get("ID");
                        string word = doc.Get("Word");
                        string textID = doc.Get("TextID");
                        kw.Word = word;
                        kw.ID = Convert.ToInt32(id);
                        kw.TextID = Convert.ToInt32(textID);
                        list.Add(kw);
                    }
                    catch (Exception)
                    {
                        return null;
                    }
                }
                return list;
            }
        }

现在数据库有400W数据。
我要搜索关键词:成都周边一日自驾游
出来的数据只有 一个如图:

我在搜索关键词:周边自驾游
出来的数据就很多了:

盘古分词也没问题:


我现在想实现的就是搜索:成都周边一日自驾游

会出现更多的 成都周边 自驾游 等关键词的出现,

 

比如 成都周边小吃,成都周边哪儿好玩儿,湖南自驾游,云南自驾游 等这样出现!

出现的关键词越多排名越前。

请问怎么实现?
我上面的代码应该怎么修改?

低调De程序猿的主页 低调De程序猿 | 初学一级 | 园豆:38
提问于:2015-08-30 16:12
< >
分享
所有回答(2)
0

你确定分词成功了?

✎﹏ℳ๓₯㎕ღ | 园豆:1499 (小虾三级) | 2015-08-31 10:56

看一下最后一张图片?成都周边一日自驾游 被分词分成

成都 周边 一日 自 驾 游

支持(0) 反对(0) 低调De程序猿 | 园豆:38 (初学一级) | 2015-08-31 14:05
0

你的调用方式不对,下面是官方给出的方法:

http://pangusegment.codeplex.com/wikipage?title=PanGu4Lucene

程旭圆 | 园豆:207 (菜鸟二级) | 2016-05-22 07:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册