2013-04-26期-索引内容修改、删除
来源:互联网 发布:seo盒子 编辑:程序博客网 时间:2024/05/20 03:39
修改mainTest测试类
public class mainTest { /** * Function:抓取网页内容 * @author JLC * @return */ public static List<Document> getWebContentDocuments(){ List<Document> docs = new ArrayList<Document>(); WebContent wc = new WebContent(); Document doc1 = PackContentObject.convertContentToDoc(wc.getContentFromSite("http://news.163.com")); docs.add(doc1); Document doc2 = PackContentObject.convertContentToDoc(wc.getContentFromSite("http://news.sohu.com/")); docs.add(doc2); return docs; } /** * 创建索引 */ public static void createSearchEngineData(){ SearchEngineCore se = SearchObject.getInstance().getLuceneContext("search"); List<Document> docList = getWebContentDocuments(); for(Document doc:docList){ try{ se.getTw().addDocument(doc); se.commitIndex(); se.refreshData(); se.getNRTManager().maybeRefresh(); }catch(Exception e){ e.printStackTrace(); } } } public static void main(String args[]){ //创建索引数据 //createSearchEngineData(); //查询索引 //searchContent("网易新闻"); //更新所有title=网易新闻 的索引 如果title=网易新闻 的索引有多条,更新后只会全部删除 Term term = new Term("title","网易新闻"); ContentObject content =new ContentObject(); content.setTitle("test"); content.setContent("测试内容"); updateContent(term,content); //删除title=test 的索引 deleteContent("test"); } /** * 创建搜索方法 * @param keyWord */ public static void searchContent(String keyWord){ //List<ContentObject> searcheResult = new ArrayList<ContentObject>(); try{ /* Version v = Version.LUCENE_42; //取得查询对象 IndexReader[] readers = SearchObject.getInstance().getSearcherReads(); //多域查询 MultiReader mReaders = new MultiReader(readers); IndexSearcher indexSearch = new IndexSearcher(mReaders); //自带的标准分词 Analyzer analyzer =new StandardAnalyzer(v); //创建boolean查询 BooleanQuery query = new BooleanQuery(); String[] field = {"title", "content"}; BooleanClause.Occur[] flags = new BooleanClause.Occur[2]; flags[0] = BooleanClause.Occur.SHOULD; flags[1] = BooleanClause.Occur.SHOULD; Query query1 = MultiFieldQueryParser.parse(v, QueryParser.escape(keyWord), field, flags, analyzer); //必须满足该查询条件 query.add(query1, Occur.MUST); */ //精确查询,TermQuery 里面内容必须完全匹配才能查询到结果 IndexSearcher indexSearch = SearchObject.getInstance().getSearcher("search"); TermQuery query = new TermQuery(new Term("title","网易新闻")); //10000为最多查询条数 TopScoreDocCollector topCollector = TopScoreDocCollector.create(10000, true); indexSearch.search(query, topCollector); //取得查询结果 TopDocs topDocs = topCollector.topDocs(); int resultCount=topDocs.totalHits; for(int i=0;i<resultCount;i++){ Document doc = indexSearch.doc(topDocs.scoreDocs[i].doc); System.out.println("标题:"+doc.get("title")); System.out.println("内容:"+doc.get("content").substring(0,200)); } System.out.println("查询结果条数:"+resultCount); }catch(Exception e){ e.printStackTrace(); } } /** * 删除索引内容 */ public static void deleteContent(String title){ try{ SearchEngineCore se = SearchObject.getInstance().getLuceneContext("search"); se.getTw().deleteDocuments(new Term("title",title)); se.commitIndex(); se.refreshData(); se.getNRTManager().maybeRefresh(); }catch(Exception e){ e.printStackTrace(); } } /** * 更新索引内容 * @param term 原索引 * @param content 更新的内容 */ public static void updateContent(Term term,ContentObject content ){ try{ SearchEngineCore se = SearchObject.getInstance().getLuceneContext("search"); Document doc = PackContentObject.convertContentToDoc(content); se.getTw().updateDocument(term,doc); se.commitIndex(); se.refreshData(); se.getNRTManager().maybeRefresh(); }catch(Exception e){ e.printStackTrace(); } } }
0 0
- 2013-04-26期-索引内容修改、删除
- 2013-04-24期-索引内容查询
- 2013-04-28期-根据输入条件查询索引内容
- 2013-05-06期-添加索引内容
- 2013-05-14期-Spring定时加入索引内容
- 2013-04-23期-创建索引
- mysql索引删除,修改,添加
- mysql索引创建修改删除
- mysql 创建,删除,修改索引
- 索引,索引的建立、修改、删除
- oracle索引,索引的建立、修改、删除
- oracle索引,索引的建立、修改、删除
- Oracle索引,索引的建立、修改、删除
- ORACLE 索引,索引的建立、修改、删除
- oracle索引,索引的建立、修改、删除
- ORACLE索引,索引的建立、修改、删除
- 删除修改字符串中的内容
- mysql 创建索引、修改索引、删除索引的命令
- Android 拍照/相册 获取图片裁剪显示
- 2013-04-24期-索引内容查询
- C++回顾之static成员、static成员函数及类对象大小计算
- jsp中如何避免客户端浏览器在刷新时,使用缓存的数据
- 小记 第一签2014
- 2013-04-26期-索引内容修改、删除
- 内核中与驱动相关的内存操作之九(重映射)
- 关于CSC命令编译器csc.exe
- java实现webservice实例
- centos6.4安装vim7.3
- 微信公众平台开发(六) 翻译功能开发
- 三种东西永远不要放到数据库里
- 让页面图片逐渐清晰直至加载完毕
- 如果要说 何谓爱情