只显示主题贴

文件你就实时吧 ,索引一小时或者20分钟一次
  • 进入论坛 Java
做和索引时一样的分词,在分词后的结果中找到匹配的项,然后高亮,然后合并周围的词成句子, 呵呵
  • 进入论坛 Java
牛X ,以为是JDOM ,进来一看是写的是DOM4J。先回家搞清楚DOM4J和JDOM哦
HighLight的时候还是要分词的,根据你分词后的Token和你的查询词比较确定高亮位置。标点在分词时已经去掉
Lucene将长文本无声无息的帮你截掉了, 在IndexWriter里面你可以看到这样的代码 /** * Default value is 10,000. Change using {@link #setMaxFieldLength(int)}. */ public final static int DEFAULT_MAX_FIELD_LENGTH = 10000;
看你喜欢闭门造车。 多看看别人的实现,也许会好很多。比如你这个url去重,用Bloomfilter的话比MD5放内存就要好多了。
其实这里关键的难点在于你不知道搜索结果中的Tag有多少,如果你想知道,那等于要遍历所有Document来统计Tag。如果Tag相对每次搜索固定,那lucene就能很好的解决啦,用一个Filter来做统计。代码就像下面这种 Filter filter = new Filter(userQuery); Hits allHits = searcher.search(userQuery); Hits tag1Hits = searcher.search(tag1Query,filter); ......这个速度 那是很快的啦。robbin说的TermVector不是那个意思吧,应该是Term在原文中的 ...
  • 进入论坛 Java
做Lucene最怕上头的人拿数据库的思维来要求你实现功能,我深受其害
不知道你的索引字段怎么设计的,像这样的类别,可以将父子设定为两个 Field。像这样: Feild parent = new Field("parent","parent",YES,UNTOKENIED); Field son = new Field("son","parent/son",YES,UNTOKENIED); 只搜父类别则搜parent字段,记住UNTOKENIED
  • 进入论坛 Java
javaeyes
搜索本博客
我的相册
49127034-b1a1-4d37-9b8b-e979fef3fa87-thumb
J2SE
共 1 张
最近加入圈子
存档
最新评论
评论排行榜