CSDN的版面、排版巨丑用code包一下吧1.有了数据库,有了like,为什么还要用lucene?
2.假设我在我的web系统中使用了lucene,那么是不是我就可以不用数据库了?或者说涉及到被搜索的内容的部分就不需要写到数据库里了?
3.hibernate search有存在的必要吗?
关于lucene有好多想问的,,现在就问这几个吧。。这是学习一项技术的前提啊,别学完了还不知道lucene能干吗。。

解决方案 »

  1.   

    Lucene相对于数据库搜索有许多优势,速度要比数据库快,它是通过把文件进行分词索引,查询时只查询索引,所以会快很多
      

  2.   

    lucene是很好的搜索引擎开源程序,算法及其巧妙。推荐lucene的分析与应用一书不错!!
      

  3.   


    一般来说、lucene搜索的对象无非是txt、pdf、html而lucene也只能对这些文件里的文字进行搜索。
    那么,这些文字的东西我们不是完全可以放在数据库里吗?
    然后就说到了检索的速度上。数据库不也是可以建立索引的吗?
    我目前正准备学习lucene,对lucene还不了解,说的不对大家不要笑我谢谢
      

  4.   


    对于内容为数字,字符串标识的字段,数据库索引才有效果。
    如果字段内容是大段的text,数据库的索引几乎不起作用。
    这种情况下,在数据比较多时,lucene 比 like 快上数万倍都不足为奇。
    你有机会比较一下就知道了。
      

  5.   

    你先百度下 全文检索的概念 我很好奇你都知道他是干嘛的 就埋头学习了还有 lucene本身是不区分什么文件的  只要你能把文件的内容给他 他就能按自己的算法去建索引文件之后compass 和 hibernate search 都将其和数据库的实例化操作 结合了起来
    也就是说 可以直接对数据库记录建立索引文件 不单单是你说那几种类型的文件至于你说的 like 我就不多讲了 上面的都说了  
    oracle text 是oracle本身提供的全文检索功能 不过暂时其功能还是比较弱 不足以商用
      

  6.   

    数据库的like数据量太大,包含很多文本时查询效率很低,lucene则不然,一旦分词建好索引,查询(搜索)效率高,而且具有缓存功能,不用所有的实体记录都返回,lucene在建索引是要求传入分词器,这就加入了语言色彩(数据库哪有),lucene还提供了很多查询方式,比如BooleanQuery、FuzzyQuery、TermQuery、PhraseQuery,还可以根据需求采用多种排序方式,Nutch就是基于lucene上面写的开源web搜索引擎(其实Lucene、Nutch、Hadoop都是Doug Cutting这个大神基于Java语言创始的,更重要的是还开源)
      

  7.   

    Lucene相对于数据库搜索有许多优势,速度要比数据库快,它是通过把文件进行分词索引,查询时只查询索引,所以会快很多当数据库数据超大时,就会体现出来了