0 0

Lucene搜索问题5

       我现在用的是SSH做项目,实现一个搜索功能用到了Lucene,但是不太会用。在页面接收用户输入的地址和名称,先根据地址查出相关结果集在根据名称来查,现在的问题是我第一次根据地址查询到的结果集是List,list又取不出来列名,比如我想取出名称索引。如果返回的是ResultSet结果集的话就可以了!说得我都晕了!贴上我的代码!
Lucene.java

package com.jiuyi.map.util;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryParser.MultiFieldQueryParser;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MultiSearcher;
import org.apache.lucene.search.Query;

public class Lucene {
	public void index(List list) throws Exception {
		/* 创建索引初始化,执行这些语句将创建或清空d:\\index\\目录下所有索引 */
		IndexWriter writer1 = new IndexWriter("d:\\index\\",
				new StandardAnalyzer(), true);
		writer1.close();

		IndexWriter writer2 = new IndexWriter("d:\\index\\",
				new StandardAnalyzer(), false);
		/* 创建一份文件 */
		Document doc1 = new Document();
	         Field field1 = new Field("name",list.toString(), Field.Store.YES,
				Field.Index.TOKENIZED);
		
		doc1.add(field1);
		writer2.addDocument(doc1);
		writer2.close();
	}

	public Hits search(String serchString) throws Exception {
	
		IndexSearcher indexSearcher = new IndexSearcher("d:\\index\\");
		IndexSearcher indexSearchers[] = { indexSearcher };
		String[] fields = { "name" };
		BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD,
				BooleanClause.Occur.SHOULD };
		Query query =MultiFieldQueryParser.parse(serchString, fields, clauses,
				getAnalyzer());

		MultiSearcher searcher = new MultiSearcher(indexSearchers);
		Hits hits = searcher.search(query);
		searcher.close();
		return hits;
	}
	public Analyzer getAnalyzer(){
	    return new StandardAnalyzer();
	}
}
action调用代码
public ActionForward search(ActionMapping mapping, ActionForm form,
			   HttpServletRequest request, HttpServletResponse response) {
		UserInfoForm userInfoForm=(UserInfoForm)form;
		String address=userInfoForm.getAddress();
		String content=userInfoForm.getContent();
		List list=userService.findUserInfoByAddress(address);
		Lucene lucene=new Lucene();
		try {
			lucene.index(list);
			Hits hits=lucene.search(content);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		

该怎么改啊?
2008年11月17日 23:43

2个答案 按时间排序 按投票排序

0 0

引用
Field field1 = new Field("name",list.toString(), Field.Store.YES,  
                Field.Index.TOKENIZED); 



Iterator item =list.Iterator();
while(item.hasNext()){
  Document doc =new Document();
Field field1 = new Field("name",item.next(), Field.Store.YES,  
                Field.Index.TOKENIZED); 
}

2008年11月18日 09:14
0 0

引用
Document doc1 = new Document();  
             Field field1 = new Field("name",list.toString(), Field.Store.YES,  
                Field.Index.TOKENIZED); 


你这句话的意思..为什么是list.toString()呀...

引用
String[] fields = { "name" };  
        BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD,  
                BooleanClause.Occur.SHOULD };  
        Query query =MultiFieldQueryParser.parse(serchString, fields, clauses,  
                getAnalyzer());  
 

BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD,  
                BooleanClause.Occur.SHOULD };
你不是只有一个字段吗...不要写两个BooleanClause.Occur

2008年11月18日 09:12

相关推荐

    Lucene搜索引擎开发权威经典(附盘源码)【于天恩】.zip

    《Lucene搜索引擎开发权威经典》是由于天恩编著的一本深入探讨Lucene搜索引擎开发的专业书籍,这本书结合源码分析,旨在帮助读者掌握Lucene的核心技术和应用实践。Lucene是Apache软件基金会的一个开放源代码项目,它...

    lucene 搜索引擎 compass

    《Lucene搜索引擎与Compass框架详解》 在信息化飞速发展的今天,搜索引擎已经成为了我们获取信息的重要工具。Apache Lucene是一个高性能、全文本检索库,它提供了基础的索引和搜索功能,使得开发者能够轻松地在应用...

    Lucene搜索引擎 JSP + JAVA

    **Lucene搜索引擎 JSP + JAVA** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,它提供了索引和搜索大量文本数据的能力。在这个项目中,Lucene被结合了JSP(JavaServer Pages)和JAVA技术,创建了一个...

    LUCENE搜索引擎基本工作原理

    **LUCENE搜索引擎基本工作原理** Lucene是一个开源的全文搜索引擎库,被广泛应用于构建复杂的搜索引擎系统。它的设计目标是高效、灵活且可扩展。理解Lucene的工作原理有助于开发人员更好地利用这一强大的工具。 **...

    lucene搜索引擎项目

    《深入理解Lucene搜索引擎项目》 Lucene是一个高性能、全文本搜索库,它为开发者提供了在Java应用程序中实现全文检索的工具集。这个名为“lucene搜索引擎项目”的资源,旨在帮助用户更好地理解和应用Lucene来构建...

    Lucene 搜索方法(多短语搜索)

    1. **DemoData.java** - 这个文件很可能是包含测试数据或者示例数据的类,用于演示Lucene搜索功能。它可能包含了创建索引所需的文档对象,以及用于搜索的关键词。 2. **MultiPhraseQueryDemo.java** - 这个文件是多...

    lucene 搜索中文PDF文档

    **正文** ...总结,利用Lucene搜索中文PDF文档涉及多个技术层面,包括中文分词、PDF解析、索引构建、搜索执行和性能优化。通过理解这些关键技术,开发者可以构建出高效、准确的中文PDF文档检索系统。

    Lucene全文搜索_LuceneJava全文搜索_

    在"Lucene全文搜索_LuceneJava全文搜索_"这个主题中,我们将深入探讨Lucene如何在Java环境中实现高效的全文搜索引擎。首先,Lucene的核心概念包括文档(Document)、字段(Field)、索引(Index)和搜索(Search)。...

    Lucene 搜索方法(模糊搜索)

    在IT领域,搜索引擎技术是不可或缺的一部分,而Apache Lucene是一个高性能、全文本搜索库,它为开发者提供了构建自定义搜索引擎应用程序所需的所有工具。本篇我们将深入探讨如何在Lucene中实现模糊搜索,以及相关的...

    lucene站内搜索

    **Lucene站内搜索技术详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,被广泛应用于各种搜索引擎和站内搜索解决方案中。它提供了丰富的文本分析、索引和搜索功能,使得开发者能够轻松地在自己的...

    lucene 高级搜索项目

    **Lucene 高级搜索项目概述** Lucene 是一个高性能、全文检索库,它提供了文本分析、索引和搜索功能,被广泛应用于各种搜索引擎的构建。在这个“Lucene 高级搜索项目”中,我们将深入探讨如何利用Lucene实现附件...

    lucene3.6 搜索例子

    《Lucene 3.6 搜索实例解析》 Apache Lucene 是一个开源全文搜索引擎库,为开发者提供了在Java应用程序中实现高效、可扩展的搜索功能的工具。在本篇文章中,我们将深入探讨Lucene 3.6版本中的搜索功能,通过实例...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-10.Lucene搜索深入实战2 共11页.pptx

    【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-09.Lucene搜索深入实战1 共5页.pptx

    【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...

    Lucene搜索-引擎开发权威经典pdf+源码第二部分

    《Lucene搜索-引擎开发权威经典》是一本深入解析Apache Lucene搜索引擎库的专业书籍,它为读者提供了构建高效全文搜索引擎的全面指南。Lucene是Java领域最著名的全文检索库,被广泛应用于各种信息检索系统中,包括...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-13.Lucene搜索深入实战进阶3 共5页.pptx

    【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...

    Lucene 搜索方法(短语搜索)

    《深入理解Lucene短语搜索》 在信息技术领域,搜索引擎的构建是不可或缺的一部分,而Apache Lucene是一个高性能、全文本搜索库,它为开发者提供了强大的文本检索功能。本文将聚焦于Lucene中的短语搜索,一种能精确...

    基于lucene搜索引擎的java源码

    **基于Lucene搜索引擎的Java源码详解** Lucene是一个高性能、全文检索库,它由Apache软件基金会开发并维护。此Java源码包提供了一个全面的示例,展示了如何利用Lucene进行索引创建、更新(增量索引)以及搜索操作。...

    [Lucene搜索引擎开发权威经典].zip

    《Lucene搜索引擎开发权威经典》是一本深入探讨Apache Lucene的专著,作者于天恩在书中详尽地阐述了Lucene的核心概念、工作原理以及实际应用。这本书旨在帮助读者理解如何利用Lucene构建高性能、可扩展的全文搜索...

    ssh+lucene搜索实例

    在这个"ssh+lucene搜索实例"中,我们可以理解为结合了SSH和Lucene两个技术,以实现远程服务器上的全文检索功能。例如,可能有一个需求是在多个远程服务器上存储大量数据,而这些数据需要通过关键词进行快速搜索。在...

Global site tag (gtag.js) - Google Analytics