??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一区二区三区久久,亚洲电影一区二区三区,欧美另类亚洲http://www.aygfsteel.com/leekiang/category/29476.htmlMDA/MDD/TDD/DDD/DDDDDDDzh-cnThu, 06 Jan 2011 13:18:29 GMTThu, 06 Jan 2011 13:18:29 GMT60lucene实时搜烦相关http://www.aygfsteel.com/leekiang/archive/2010/11/22/338715.htmlleekiangleekiangMon, 22 Nov 2010 09:18:00 GMThttp://www.aygfsteel.com/leekiang/archive/2010/11/22/338715.htmlhttp://www.aygfsteel.com/leekiang/comments/338715.htmlhttp://www.aygfsteel.com/leekiang/archive/2010/11/22/338715.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/338715.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/338715.html
可以使用q样的策略:
使用一个独立的U程ȝ护这个IndexSearcher,当烦引有更新Ӟ记录下烦引已更新Q当有requestӞ先去验一下烦引是否有更新Q有则reopen后再查,无则直接查?

最单的ҎQ用timer定时生成下indexSearcherQ全文引擎有略微的g时也是可以接受的?

?.3的包,有一个reopen()的方?只会加蝲变化的烦引片Dc?br />每次索引更新之后Q对于当前正在用的IndexReader来说不是可见的,必须重新open一ơIndexQ才能保证能够搜索到新加入的 documentQ?.3相当于做了一ơ增量的open?
每一ơreopen前可以先判断一下是不是当前的烦引文?主要看有没有更新,
如果有更?用reopen()Ҏ打开,看它文档上说明是只加载更C的烦引文?q样׃用全部重新打开?旉主要耗在q里,如果判断l果是没有更新则直接q回那个实例p?br />IndexReader.reopen一直是没有实现的?

比如在你加了索引之后新生成一个searcher把那个单例给替换?Q但是,当几十的q发增量索引q来的时候,׃能这么触发了Q我现在只是弄了个timerQ定?0U钟来换个IndexSearcher实例?br />
the singleton of IndexSearcher will be more efficient.
see http://wiki.apache.org/lucene-java/ImproveSearchingSpeed

׃前一章所q的Lucene的事务性,使得Lucene可以增量的添加一个段Q我们知道,倒排索引是有一定的格式的,而这个格式一旦写入是非常难以改变的,那么如何能够增量建烦引呢QLucene使用D这个概念解决了q个问题Q对于每个已l生成的D,其倒排索引l构不会再改变,而增量添加的文档d到新的段中,D之间在一定的时刻q行合ƈQ从而Ş成新的倒排索引l构?br />然而也正因为Lucene的事务性,使得Lucene的烦引不够实Ӟ如果想Lucene实时Q则必须新添加的文档后IndexWriter需要commitQ在搜烦的时候IndexReader需要重新的打开Q然而当索引在硬盘上的时候,其是烦引非常大的时候,IndexWriter的commit操作和IndexReader的open操作都是非常慢的Q根本达不到实时性的需要?br />好在Lucene提供了RAMDirectoryQ也卛_存中的烦引,能够很快的commit和openQ然而又存在如果索引很大Q内存中不能够放下的问题?br />
所以要构徏实时的烦引,需要内存中的烦引RAMDirectory和硬盘上的烦?FSDirectory怺配合来解决问题?br />
Zoie 是linkedin支持的基于Lucene开源实时搜索引擎项?br />
  Solr  ( http://lucene.apache.org/solr/  )
说明Q基?Lucene 的企业搜烦的开即用的解决Ҏ
优点Q比较成熟的解决ҎQ也有很多的成功案例。Lucene 子项目,实现了大部分常见的搜索功能需求,包括 facet 搜烦Q搜索结果分c过滤){?br />~点Q可定制性比 Lucene 要差Q一些不常见的需求,定制的难度比直接?Lucene 上做要大的多。性能上,׃ Solr 的徏索引和搜索是同一个进E,耦合度比较高Q对于性能调优有一定的影响?br />
  直接使用 Lucene  ( http://lucene.apache.org  )
说明QLucene 是一?JAVA 搜烦cdQ它本nq不是一个完整的解决ҎQ需要额外的开发工?br />优点Q成熟的解决ҎQ有很多的成功案例。apache目Q正在持l快速的q步。庞大而活跃的开发社区,大量的开发h员。它只是一个类库,有够的定制和优化空_l过单定Ӟ可以满绝大部分常见的需求;l过优化Q可以支?0? 量的搜索?br />~点Q需要额外的开发工作。所有的扩展Q分布式Q可靠性等都需要自己实玎ͼ非实Ӟ从徏索引到可以搜索中间有一个时间gq,而当前的“近实时?(Lucene Near Real Time search)搜烦Ҏ的可扩展性有待进一步完?br />
2.9新版本引入了IndexWriter.getReader()ҎQ它可用于搜索目前完整的索引Q包括当前IndexWriter会话中还没有提交的改变,q带来了接近于实时搜索的能力。此外,你还可以调用IndexWriter.setMergedSegmentWarmer()Ҏq行“预热”,q样那些片断便可以立x入用了?br />
2.9版本之前的版本,都是Z文本搜烦的,因ؓ对于很多数字的处理方式就很头|例如在我们项目中遇到的很多问题都是由于把数字当作了文本处理出现的 BUGQ?、搜索h格的5Q把包含.5的也搜烦出来了;2、排序(降序Q时Q把800排到5000前面Q……这些都是由于Lucene把所有的都作为文本处理的方式造成的问题。Lucene 2.9以后已经自带Ҏ字的处理方式。Field和QuerycM采取合适的_ֺq行索引和搜索,q样大大降低了需要搜索的关键字数量,使查询的响应能力得以显著提高?br />
我们web应用是好几台机器Q而烦引也有好几种Q如果用lucene的话Q定时更C能保证所有服务器同步。如果用mount方式Qlucen也有问题Q? 所以想用solrl一理所有烦引。然后让其它服务器从一个统一的地Ҏ询烦引?br />http://lucene-group.group.javaeye.com/group/topic/23507


亿数据的高q发通用搜烦引擎架构设计 http://blog.s135.com/post/385/
http://lucene-group.group.javaeye.com/group/topic/2786
http://blog.fulin.org/2010/11/search_solutions_compare.html
http://www.javaeye.com/topic/117212
Twitter新搜索架构将采用开源Lucene http://cloud.csdn.net/a/20101008/280220.html?1286504886
?Lucene构徏实时的烦?http://www.cnblogs.com/forfuture1978/archive/2010/06/08/1753642.html
Zlucene实现自己的推荐引?http://blog.fulin.org/2010/10/recommendation_system_based_lucene.html
Lucene3.0(2.9)的主要变?http://www.ourys.com/post/lucene3-0_about.html
Katta is a scalable, failure tolerant, distributed, data storage for real time access.


leekiang 2010-11-22 17:18 发表评论
]]>
lucene集群http://www.aygfsteel.com/leekiang/archive/2010/11/19/338497.htmlleekiangleekiangFri, 19 Nov 2010 09:37:00 GMThttp://www.aygfsteel.com/leekiang/archive/2010/11/19/338497.htmlhttp://www.aygfsteel.com/leekiang/comments/338497.htmlhttp://www.aygfsteel.com/leekiang/archive/2010/11/19/338497.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/338497.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/338497.html不选择使用lucene?大原?http://forchenyun.javaeye.com/blog/473779

Lucene集群  lucene in a cluster
http://blog.csdn.net/jsea/archive/2006/06/16/803043.aspx
http://hi.baidu.com/lucenehc/blog/item/4d83c387881ea22fc65cc3a1.html

Compass的Lucene Jdbc Directory implementation
Compass simplifies the creation of distributed Lucene index by allowing to store the Lucene index in a database, as well as storing the index simply with Data Grid products such as GigaSpaces, Coherence  and Terracotta
q部分代码完全独立于Compass 的其他模块,可以使用在纯Lucene实现的环境中
http://robbank.blogbus.com/logs/3509279.html
http://robbank.blogbus.com/logs/4698460.html

solr本n支持分布式烦引,是利用rsync来做?br />http://paradise-qingfeng.javaeye.com/blog/123673

Nut是一个Lucene+Hadoop分布式搜索框?br />http://code.google.com/p/nutla/
http://www.aygfsteel.com/nianzai/


Nutch 0.9版中Q分布式搜烦的核心部分只用了不到1000行代码就搞定了?br />clustering是把查询h分发到多台计机上,主要是解军_ƈ发量的问题?br />Distributed指的是多台计机q行处理一个查询请求,使单个请求的索时间降?br />http://lucene-group.group.javaeye.com/group/topic/8983


谈谈Hadoop和分布式 Lucene http://www.chinacloud.cn/show.aspx?id=50&cid=12


1QDoug Cutting QLuceneQNutchQHadoop 创始人简介)http://zhutuncun0.javaeye.com/blog/746019
2Qluke,lucene索引查看工具 http://code.google.com/p/luke/
3QAlfresco  看看q种CMS在集环境下如何使用lucene
   http://wiki.alfresco.com/wiki/Cluster_Configuration_V2.1.3_and_Later#Lucene_index_synchronization



leekiang 2010-11-19 17:37 发表评论
]]>
luceneU程相关http://www.aygfsteel.com/leekiang/archive/2009/01/22/252351.htmlleekiangleekiangThu, 22 Jan 2009 07:29:00 GMThttp://www.aygfsteel.com/leekiang/archive/2009/01/22/252351.htmlhttp://www.aygfsteel.com/leekiang/comments/252351.htmlhttp://www.aygfsteel.com/leekiang/archive/2009/01/22/252351.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/252351.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/252351.htmlhttp://arbow.spaces.live.com/blog/cns!A25DE6AC7A5B029E!142.entry





附带:
MultiSearcher在多个烦引上搜烦


leekiang 2009-01-22 15:29 发表评论
]]>
luceneW记之二http://www.aygfsteel.com/leekiang/archive/2008/12/23/247982.htmlleekiangleekiangTue, 23 Dec 2008 15:22:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/12/23/247982.htmlhttp://www.aygfsteel.com/leekiang/comments/247982.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/12/23/247982.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/247982.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/247982.htmlTerm begin=new Term("publishdate","1999-01-01");
Term end
=new Term ("publishdate","1999-10-15");
RangeQuery q
=new RangeQuery(begin,end,true);





1)Q?br />Lucene-2.2.0 源代码阅d?/a>
2)
Lucene 中自定义排序的实?/a>
3Q?br />
lucene学习W记
4Q?br />http://www.lucene.com.cn/sj.htm
5QLRU
LRU(最q最用算? and MRU(最q最怋用算?  所谓的LRU(Least recently used)法的基本概忉|:当内存的剩余的可用空间不够时,~冲区尽可能的先保留使用者最怋用的数据,换句话说是优先清除”较不常使用的数据?q攑օI间.之所以”较不常使用的数据”要用引h因ؓq里判断所谓的较不怋用的标准是h为的、不严格?所谓的MRU(Most recently used)法的意义正好和LRU法相反.
oracle~存用到了LRU
http://bluepopopo.javaeye.com/blog/180236
6Q?a >Apache lucene知识汇集
7Q?a >Lucene 2.3.1 阅读学习Q?1Q?/a>
8Q?a >Lucene的score()实现
9Q?a >Lucene 的排序修?/a>
10Q?大原因让你不选择使用Lucene
11Q解决lucene范围搜烦中的TooManyClauses exception



leekiang 2008-12-23 23:22 发表评论
]]>
background merge hit exception错误http://www.aygfsteel.com/leekiang/archive/2008/09/12/228639.htmlleekiangleekiangFri, 12 Sep 2008 10:37:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/09/12/228639.htmlhttp://www.aygfsteel.com/leekiang/comments/228639.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/09/12/228639.html#Feedback1http://www.aygfsteel.com/leekiang/comments/commentRss/228639.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/228639.html    at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:271)
Caused by: java.io.FileNotFoundException: /doc/lucene/_5zk.fnm (没有该文件或目录 (errno:2))
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
    at org.apache.lucene.store.FSDirectory$FSIndexInput$Descriptor.<init>(FSDirectory.java:506)
    at org.apache.lucene.store.FSDirectory$FSIndexInput.<init>(FSDirectory.java:536)
    at org.apache.lucene.store.FSDirectory$FSIndexInput.<init>(FSDirectory.java:531)
    at org.apache.lucene.store.FSDirectory.openInput(FSDirectory.java:440)
    at org.apache.lucene.index.FieldInfos.<init>(FieldInfos.java:57)
    at org.apache.lucene.index.SegmentReader.initialize(SegmentReader.java:298)
    at org.apache.lucene.index.SegmentReader.get(SegmentReader.java:262)
    at org.apache.lucene.index.SegmentReader.get(SegmentReader.java:221)
    at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3093)
    at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:2834)
    at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:240)
java.io.IOException: background merge hit exception: _5zk:C2223 _5zl:c1 _5zm:c1 _5zn:c1 into _5zo [optimize]
    at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:1749)
    at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:1689)
    at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:1669)
    at com.lucene.index.ArticleIndex.addIndex(ArticleIndex.java:93)
    
    ------------------------------------------------------------------------
    Caused by: java.io.FileNotFoundException: /doc/lucene/_5zk.fnm (没有该文件或目录 (errno:2))
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
    at org.apache.lucene.store.FSDirectory$FSIndexInput$Descriptor.<init>(FSDirectory.java:506)
    at org.apache.lucene.store.FSDirectory$FSIndexInput.<init>(FSDirectory.java:536)
    at org.apache.lucene.store.FSDirectory$FSIndexInput.<init>(FSDirectory.java:531)
    at org.apache.lucene.store.FSDirectory.openInput(FSDirectory.java:440)
    at org.apache.lucene.index.FieldInfos.<init>(FieldInfos.java:57)
    at org.apache.lucene.index.SegmentReader.initialize(SegmentReader.java:298)
    at org.apache.lucene.index.SegmentReader.get(SegmentReader.java:262)
    at org.apache.lucene.index.SegmentReader.get(SegmentReader.java:221)
    at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3093)
    at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:2834)
    at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:240)
org.apache.lucene.index.MergePolicy$MergeException: java.io.FileNotFoundException: /doc/lucene/_5zk.fnm (没有该文件或目录 (errno:2))
    at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:271)
Caused by: java.io.FileNotFoundException: /doc/lucene/_5zk.fnm (没有该文件或目录 (errno:2))
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
    at org.apache.lucene.store.FSDirectory$FSIndexInput$Descriptor.<init>(FSDirectory.java:506)
    at org.apache.lucene.store.FSDirectory$FSIndexInput.<init>(FSDirectory.java:536)
    at org.apache.lucene.store.FSDirectory$FSIndexInput.<init>(FSDirectory.java:531)
    at org.apache.lucene.store.FSDirectory.openInput(FSDirectory.java:440)
    at org.apache.lucene.index.FieldInfos.<init>(FieldInfos.java:57)
    at org.apache.lucene.index.SegmentReader.initialize(SegmentReader.java:298)
    at org.apache.lucene.index.SegmentReader.get(SegmentReader.java:262)
    at org.apache.lucene.index.SegmentReader.get(SegmentReader.java:221)
    at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3093)
    at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:2834)
    at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:240)
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: SimpleFSLock@/doc/lucene/write.lock
    at org.apache.lucene.store.Lock.obtain(Lock.java:85)
    at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:691)
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:502)
    at com.lucene.index.AttachIndex.addIndex(AttachIndex.java:80)
    at com.myapp.Article.uploadAttach(Article.java:793)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)

leekiang 2008-09-12 18:37 发表评论
]]>
luceneW记http://www.aygfsteel.com/leekiang/archive/2008/03/27/189041.htmlleekiangleekiangThu, 27 Mar 2008 08:15:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/03/27/189041.htmlhttp://www.aygfsteel.com/leekiang/comments/189041.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/03/27/189041.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/189041.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/189041.html  Field.Store.COMPRESS:用压~的格式存储最初的Field?br />  Field.Store.NO:不存储该Field的原始?br />  Field.Store.YES:存储该Field的原始?br />
  Field.Index.NO:不烦引Field的?br />  Field.Index.NO_NORMS:
  Field.Index.TOKENIZED:作分词处?br />  Field.Index.UN_TOKENIZED:不分词,直接作ؓ完整的信息段索,可以支持全匹配和怼匚wQ跟数据库中的like很类伹{?br />
2,实现Filter接口
    public BitSet bits(IndexReader reader) throws IOException {
        
final BitSet bits = new BitSet(reader.maxDoc());// 默认所有都为false
        
// 讄所有的都不能检索到
        
// bits.set(0, bits.size() - 1, false);
        bits.set(3true);
        bits.set(
4);//讄为true
        int[] docs = new int[1000];
        
int[] freqs = new int[1000];
        TermDocs termDocs 
= reader.termDocs(new Term("title"""));
        
int count = termDocs.read(docs, freqs);//
        for (int i = 0; i < docs.length; i++) {
            System.out.println(docs[i]
+"--"+freqs[i]);
            bits.set(docs[i]);
        }
        
return bits;
    }

3,Term t = new Term("content", "电力");
  Query query = new TermQuery(t);
  以上搜不到结?原因?电力"不是一个Term,????则可以?br />
4,reader.terms()q回索引中的所有term,没有重复。而TermDocs存放term兌的Doc
TermEnum enumerator = reader.terms();
while (enumerator.next()) {
Term term 
= enumerator.term();
System.out.println(term.field() 
+ " " + term.text());
}

5,lucene不支持中文的*  ?匚w  
  因ؓ英文是基于词? 中文是基于字? 
  英文mo?ey可以匚w到money ,因ؓmoney是一个term,  中文怎么办?除非中文有个好的分词Ҏ
6Q两ơ过滤后Qquery对象的tostring:
filtered(filtered(title:oracle content:oracle)->com.lucene.search.PrivilegeFilter@133d0fc)->com.lucene.search.CategoryFilter@dd5415
7,Hyper Estraier是一个用C语言开发的全文索引?
h高速度,高稳定?高可扩展?提供java,ruby的调用方?br /><q速搭建全文搜索^台——开源搜索引擎实战教E?gt;
http://www.162cm.com/archives/date/2007/07/18

8QHits hits = searcher.search (filteredquery, new Sort("fieldname"));//可根据第二个参数q行排序
int n=hits.id(2)  //参数是在hits中的下标,q回的结果是在过滤和排序之前在directory中的原始下标

9Q?br />new一个BitSet(950)q不{于建立一?50大小的bs
只是说构建出来的bs初始大小臛_能容U?50个bit,大小永远是系l控制的。而且他的大小?4的倍数Q就BitSet(1),他的大小也是64?br />bitset.set(1, 4) 讄的是1,2,3,没有4

10Q对Field再进行切词就是Term?Term和Token的区?br />
11QBooleanQuery的例?
      BooleanQuery bq = new BooleanQuery();
      Query q1 = new TermQuery (new Term ("field", "one"));
      Query q2 = new TermQuery (new Term ("sorter", "b"));
      bq.add(q1, Occur.MUST);
      bq.add(q2, Occur.MUST);
      Hits hits = searcher.search(bq);
     
 12Q可用RAMDirectory作测试,见lucene自带的测?br />    RAMDirectory directory = new RAMDirectory();
    IndexWriter writer = new IndexWriter (directory, new WhitespaceAnalyzer(), true)
   
13Q进行过滤时如果有多个filterQ则某个doc是否能查到取决于q多个filter各自q回的bitset的综合结果:要查得某一位置的docQ所有的filter的该位必d部ؓtrue。所以查询结果与filter的先后顺序无兟?br />
14Q?-按user为tomq行qo
    Filter f1 = new Filter() {
            public BitSet bits(IndexReader reader) throws IOException {
                BitSet bitset = new BitSet(reader.maxDoc());
                TermDocs termDocs = reader.termDocs();// 实际是SegmentTermDocs
                Term term = new Term("user", "tom");
                termDocs.seek(term);//相当于持有了所有含有user为tom的doc的集合,但freq()和doc()q需要去文g中读?
                while (termDocs.next()) {
                    System.out.println("freq:"+termDocs.freq());
                    bitset.set(termDocs.doc());
                }
                return bitset;
            }
        };

15QTrieQ又U单词查找树Q是一U特D的树Şl构Q用于保存大量的字符丌Ӏ它的优ҎQ利用字W串的公共前~来节U存储空间?br />http://www.javaeye.com/topic/299826

16,
doc相当于表中的记录
field相当于字D?br />不同的doc可能有相同的fieldQ也可能有不一L
我感觉比较适合用json格式存储
field+分词的关键字=term,是唯一?br />term出现在哪些doc中,索引文g里有记蝲Q?br />用Luke(http://code.google.com/p/luke)可以查看索引文g详细信息
 


leekiang 2008-03-27 16:15 发表评论
]]>
lucene查询http://www.aygfsteel.com/leekiang/archive/2008/03/21/187689.htmlleekiangleekiangFri, 21 Mar 2008 05:56:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/03/21/187689.htmlhttp://www.aygfsteel.com/leekiang/comments/187689.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/03/21/187689.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/187689.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/187689.htmlhttp://hi.baidu.com/myj2ee/blog/item/2a6b2f1b110c3c1d8618bfb8.html


leekiang 2008-03-21 13:56 发表评论
]]>
lucene问题记录http://www.aygfsteel.com/leekiang/archive/2008/02/21/181076.htmlleekiangleekiangThu, 21 Feb 2008 07:20:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/02/21/181076.htmlhttp://www.aygfsteel.com/leekiang/comments/181076.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/02/21/181076.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/181076.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/181076.html    IndexReader reader = IndexReader.open(directory);
            if (IndexReader.isLocked(directory)) {
                IndexReader.unlock(directory);
            }
            reader.deleteDocuments(term);
            reader.close();
2,到底是reader.deleteDocuments(term)q是writer.deleteDocuments(term)

3,writer.setUseCompoundFile(true)
创徏索引库时Q会合ƈ多个 Segments 文gC?.cfs 中。此方式有助于减烦引文件数量,减少同时打开的文件数量?br /> 可以使用 CompoundFileReader 查看 .cfs 文g内容?
CompoundFileReader reader = new CompoundFileReader(FSDirectory.GetDirectory("y:\\index", false), "_1oa.cfs");
foreach (string filename in reader.List())
{
Console.WriteLine(filename);
}



leekiang 2008-02-21 15:20 发表评论
]]>
lucene相关文档http://www.aygfsteel.com/leekiang/archive/2008/02/20/180866.htmlleekiangleekiangWed, 20 Feb 2008 07:16:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/02/20/180866.htmlhttp://www.aygfsteel.com/leekiang/comments/180866.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/02/20/180866.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/180866.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/180866.html某h设计的中文分词算?/a>
2Q?a >Lucene中文分词lg JE-Analysis 1.5.1
3Q?a >转一lucene的用的文章Q写的比较全
   lucene使用与优?/a>
4Q?a >Z字符串匹配的中文分词

5Q?a >计算所开源的FirteX介绍
6, 庖丁分词
   http://www.javaeye.com/topic/49441?page=1
   http://qieqie.javaeye.com/blog/126943
   http://code.google.com/p/paoding/
   http://groups.google.com/group/paoding/topics
7Q?a target="_top" >http://www.chedong.com/tech/lucene.html(车东)
8Qhttp://blog.donews.com/withshare/archive/2007/06/10/1173923.aspx



leekiang 2008-02-20 15:16 发表评论
]]>
վ֩ģ壺 ũ| | | | ˫| | ױ| ˳ƽ| ̨| ɽ| | â| | ͤ| ɽ| Ƕ| ˼| ½| | | | | | | | | | Ѿ| | ߱| | | | | | | | ɽ| | | |