All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.tinygroup.fulltext.FullTextHelper Maven / Gradle / Ivy

The newest version!
package org.tinygroup.fulltext;

import java.util.ArrayList;
import java.util.List;

import org.tinygroup.beancontainer.BeanContainerFactory;
import org.tinygroup.commons.tools.StringUtil;
import org.tinygroup.config.util.ConfigurationUtil;
import org.tinygroup.fulltext.document.Document;
import org.tinygroup.fulltext.document.HighlightDocument;
import org.tinygroup.fulltext.exception.FullTextException;

/**
 * 全文检索全局辅助类
 * @author yancheng11334
 *
 */
public class FullTextHelper {

	private static volatile  String _id="_id";
	private static volatile  String _type="_type";
	private static volatile  String _title="_title";
	private static volatile  String _abstract="_abstract";
	
	/**
	 * 得到默认的ID存储名
	 * @return
	 */
	public static String getStoreId(){
		return _id;
	}
	
	/**
	 * 得到默认的type存储名
	 * @return
	 */
	public static String getStoreType(){
		return _type;
	}
	
	/**
	 * 得到默认的title存储名
	 * @return
	 */
	public static String getStoreTitle(){
		return _title;
	}
	
	/**
	 * 得到默认的abstract存储名
	 * @return
	 */
	public static String getStoreAbstract(){
		return _abstract;
	}
	
	/**
	 * 设置默认的ID存储名
	 * @param id
	 */
	public static void setStoreId(String id){
		_id = id;
	}
	
	/**
	 * 设置默认的type存储名
	 * @param type
	 */
	public static void setStoreType(String type){
		_type = type;
	}
	
	/**
	 * 设置默认的title存储名
	 * @param type
	 */
	public static void setStoreTitle(String title){
		_title = title;
	}
	
	/**
	 * 设置默认的type存储名
	 * @param type
	 */
	public static void setStoreAbstract(String Abstract){
		_abstract = Abstract;
	}
	
	/**
	 * 得到FullText的实例
	 * @return
	 */
	public static FullText getFullText(){
		String bean = ConfigurationUtil.getConfigurationManager()
				.getConfiguration(FullText.FULLTEXT_BEAN_NAME);
		if(StringUtil.isEmpty(bean)){
		   throw new FullTextException(String.format("FullText的bean配置不存在,请检查%s全局配置参数!",FullText.FULLTEXT_BEAN_NAME));
		}
		return (FullText) BeanContainerFactory.getBeanContainer(FullTextHelper.class.getClassLoader()).getBean(bean);
	}
	
	/**
	 * 高亮结果
	 * @param pager
	 * @param arguments
	 * @return
	 */
	public static Pager highlight(Pager pager,Object... arguments){
		if(pager==null){
		   return null;
		}
		List list = new ArrayList();
		if(pager.getRecords()!=null){
		   for(Document doc:pager.getRecords()){
			   list.add(new HighlightDocument(doc,arguments));
		   }
		}
		return new Pager(pager.getTotalCount(),pager.getStart(),pager.getLimit(),list);
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy