当前位置: 首页 > 知识库问答 >
问题:

无塞子的Lucene索引搜索

慕容劲
2023-03-14
public IEnumerable<TesisIndx> Search(string searchTerm)
{
        List<TesisIndx> results = new List<TesisIndx>();

        IndexSearcher searcher = new IndexSearcher(FSDirectory.GetDirectory(indexPath));
        QueryParser parser = new QueryParser("Rubro", analyzer);


        PhraseQuery q = new PhraseQuery();
        String[] words = searchTerm.Split(' ');

        foreach (string word in words)
        {
            q.Add(new Term("Rubro", word));
        }

        //Query query = parser.Parse(searchTerm);
        Hits hitsFound = searcher.Search(q);

        TesisIndx sampleDataFileRow = null;

        for (int i = 0; i < hitsFound.Length(); i++)
        {
            sampleDataFileRow = new TesisIndx();
            Document doc = hitsFound.Doc(i);
            sampleDataFileRow.Ius = int.Parse(doc.Get("Ius"));
            sampleDataFileRow.Rubro = doc.Get("Rubro");
            sampleDataFileRow.Texto = doc.Get("Texto");


            results.Add(sampleDataFileRow);
        }
}

共有1个答案

梁丘洲
2023-03-14

它是一个停顿词。然而,当涉及到短语查询时,这并不意味着它根本不被考虑。如果您尝试在解析后打印查询,您应该看到如下内容:

鲁布罗:“?相反的感觉”

该问号表示位置增量,在本例中是删除的停止字。所以它在寻找一个有空隙的短语,在这个空隙中,一个停止词在开头被删除了。

 类似资料:
  • bugu-mongo 2.x版本集成了Lucene的功能。当往MongoDB中新增一个Document时,能自动为该Document建立Lucene索引。相应的,当MongoDB中的Document被修改、删除时,对应的Lucene索引也会修改、删除。 另外,bugu-mongo还提供了对Lucene搜索的支持。根据Lucene索引进行搜索的时候,搜索结果能自动转换成对应的Entity对象。 在L

  • 注意: 我只使用“luceneresults”.ascx和.cs。 ----问题更新了,因为我缩小了问题的范围---- 我试图创建一组特定项的索引,用于Lucene搜索。 在web.config中,我指定了一个索引,该索引包含: 完整索引:

  • 在测试此文本时,我在要在文本中搜索的列上创建了lucene(3.0.1)索引: 如果我按关键字搜索,它会给出结果,但按 我正在使用standardAnalyzer: 因为已设置,它应创建令牌,并且应存在$GLD。Analyzer将从文本中删除停止字,因为word也将在该过程中删除。

  • 我在我的应用程序中使用Hibernate搜索。其中一个子集合映射为IndexeDemBedded。子对象有两个字段,一个是id,另一个是date(使用date resoultion到毫秒)。当我搜索ID=1(或某个值)并且date等于另一个值时,我会得到第一个和第二个匹配的所有情况的结果。我只想在同一个孩子中获得两个字段匹配的记录,但我在不同的孩子中获得匹配,结果会高得多。下面是代码片段 主类是用

  • 我的任务是使用lucene在我们的产品表中搜索。我已经创建了一个索引,正在使用带有多个字段的QueryParser进行搜索,但结果不是我所需要的。我有一个存储为LM10的产品,但如果搜索词是LM 10,我希望能够找到它,但如果搜索词是Fred LM10或Fred LM 10,它也必须能够匹配。你知道我如何在Lucene做到这一点吗。 提前谢谢

  • 下面的lucene查询返回空字符串请帮忙,提前谢谢