public class CMSSearchManager
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
SEARCHTYPE_DBTABLE
类型-库表索引
|
static int |
SEARCHTYPE_EXTERNAL
类型-站外索引
|
static int |
SEARCHTYPE_SITE
类型-站内索引
|
static int |
SEARCHTYPE_SITECHANNEL
类型-站点频道索引
|
static int |
SEARCHTYPE_SITES
类型-站群索引
|
| 构造器和说明 |
|---|
CMSSearchManager() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId,
boolean deleteIndex)
每发布一篇文档,往文档所在站点索引和频道索引的索引库中插入索引记录
|
void |
addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId,
java.util.List attachmentList,
java.util.List indexList,
boolean deleteIndex)
每发布一篇文档,往文档所在站点索引和频道索引的索引库中插入索引记录
|
void |
addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId) |
void |
addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId,
boolean deleteIndex)
每发布一篇文档,往文档所在站点索引和频道索引的索引库中插入索引记录
|
boolean |
addOneIndex(CMSSearchIndex searchIndex)
增加一条索引记录
|
void |
deleteChnlIndex(java.lang.String chnlId)
删除频道索引,为外部提供的接口
|
void |
deleteChnlIndexs(java.lang.String chnlId)
删除涉及当前频道的所有索引,为外部提供的接口
|
void |
deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId) |
void |
deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId,
java.util.List attachmentList,
java.util.List indexList)
删除文档在索引库中的记录,主要有文档所在站点索引和文档所在频道索引
|
void |
deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId) |
void |
deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId,
java.util.List attachmentList,
java.util.List indexList)
删除文档在索引库中的记录,主要有文档所在站点索引和文档所在频道索引
|
void |
deleteFilesAndDirector(java.io.File file)
删除物理文件
|
void |
deleteIndex(java.lang.String indexId)
删除指定索引
|
void |
deleteIndex(java.lang.String[] indexIds)
批量强制删除索引
|
void |
deleteIndexFiles(java.lang.String[] indexIds)
批量强制删除索引文件
|
void |
deleteSiteIndexs(java.lang.String siteId)
删除涉及当前站点的所有索引,为外部提供的接口,weida
¥¥¥注意:
本来删除站点时也只关联整站索引,但是删站点索引时必须删除索引所在根目录,否则会不能新建同名站点,
所以暂时删除站点索引时是删除所有相关索引,并删除根目录
|
static java.lang.String |
getAbsoluteIndexFilePath(CMSSearchIndex index)
获取索引文件的绝对路径,
必须保证除最后一级目录外其它所有目录都存在,
最后一级目录在建索引时建
|
static java.lang.String |
getAbsoluteIndexFilePath(java.lang.String indexPath,
java.lang.String indexFileName,
java.lang.String siteId)
获取索引文件的绝对路径
如:D:\workspace\cms\creatorcms\WEB-INF\search\chenzhougov\in_走进郴州
必须保证除最后一级目录外其它所有目录都存在,如D:\workspace\cms\creatorcms\WEB-INF\search\chenzhougov存在
最后一级目录在建索引时建,如in_走进郴州
|
static java.lang.String |
getAbsoluteIndexRootPath(java.lang.String indexPath)
根据相对的索引库路径,获取绝对索引库路径
|
com.frameworkset.common.tag.pager.ListInfo |
getDBTSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
获取数据库搜索的索引列表,weida
|
static float |
getFloNum(float num,
int n) |
CMSSearchIndex |
getIndex(java.lang.String indexId)
获取指定索引id的索引
|
CMSSearchIndex |
getIndexByChnlId(java.lang.String chnlId)
根据频道id获取指定索引
|
static CMSSearchIndex |
getIndexIdByIndexName(java.lang.String indexName)
由索引名称得到索引id以获取指定索引,weida
|
java.lang.String[] |
getIndexLDTDes(int lever,
int day,
int time)
获取“索引频率”、“索引日期”、“索引时间”的描述(用于显示给用户)
|
java.util.List |
getIndexList()
获取所有索引列表,包括所有站点的站内搜索和站外搜索,以便后台启动的线程定时的遍历这些索引
|
java.util.List |
getIndexListOfCmsdocument(Document doc,
java.lang.String siteId)
获取文档相关的索引列表,列表的长度最多为2,包括文档所在站点索引和文档所在频道索引
危达200709111450{文档相关的索引列表包括当前站点的整站索引,文档所在频道的索引名索引.所在索引名索引可能有多个}
|
java.util.List |
getIndexListOfSite(java.lang.String siteId)
获取一个站点的所有索引,包括站内的和站外的索引,在高级搜索(advanced_search.jsp)中,供用户选择
|
java.util.List |
getIndexListOfSite(java.lang.String siteId,
int flag)
获取指定站点下的指定类型的所有索引,搜索时在用户没有选择索引的情况下,用于获取索引
|
static java.lang.String |
getIndexRootPath()
索引库相对路径在在配置文件config-manager.xml中配,暂时未添加
|
java.util.ArrayList |
getIndexsByChnlId(java.lang.String chnlId)
根据频道id获取相关频道索引和整站索引,weida
|
java.util.ArrayList |
getIndexsByDocId(java.lang.String docId)
根据文档id获取当前频道相关索引和整站索引,weida
|
java.util.ArrayList |
getIndexsBySiteId(java.lang.String siteId)
根据站点id获取整站索引和相关站群索引,weida
|
java.lang.String |
getInterceptContent(java.lang.String query,
java.lang.String contents)
从查询的到的内容里截取供显示的字符串。
|
java.util.List |
getLDTList(int flag)
获取频率、日期、时间的描述列表(在editIndex.jsp页面中用到)
|
com.frameworkset.common.tag.pager.ListInfo |
getLocalSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
获取站内搜索的索引列表,包括站内频道和整个站点索引
|
java.util.ArrayList |
getParentIndexsByChnlId(java.lang.String chnlId)
得到此频道所有父频道的相关索引,weida
|
java.lang.String |
getPublishedFilePathTail(java.lang.String docId,
java.lang.String siteId)
获取发布文件的相对地址,如:/site200/zjcz/content_33925.html
|
static java.lang.String |
getPublishedFileUrl(java.lang.String filePath,
java.lang.String siteId)
获取发布文件的访问地址,如:http://localhost:8090/creatorcms/sitepublish/site200/zjcz/content_33925.html
|
static java.lang.String |
getPublishedIndexFileUri(java.lang.String filePath,
java.lang.String siteId)
获取发布文件的访问地址,如:http://localhost:8090/creatorcms/sitepublish/site200/zjcz/content_33925.html
|
static java.lang.String |
getPublishedIndexFileUrl(java.lang.String filePath,
java.lang.String siteId,
java.lang.String context)
获取发布文件的访问地址,如:http://localhost:8090/creatorcms/sitepublish/site200/zjcz/content_33925.html
|
java.lang.String |
getSearchButtonValue(java.lang.String searchType)
搜索按钮的显示字符串
|
static java.util.List<CMSSearchHit> |
getSearchHitList(org.apache.lucene.search.IndexSearcher searcher,
org.apache.lucene.search.ScoreDoc[] hits)
将利用lucene查询工具查询返回的Hits集合转化为List
|
java.util.ArrayList |
getSiteIndexByChnlId(java.lang.String chnlId) |
java.util.ArrayList |
getSiteIndexsByChnlId(java.lang.String chnlId)
得到此频道所在站点的相关站群索引,weida
|
java.util.ArrayList |
getSiteIndexsBySiteId(java.lang.String siteId)
得到此站点的相关索引,weida
|
com.frameworkset.common.tag.pager.ListInfo |
getSitesSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
获取站群搜索的索引列表,weida
|
com.frameworkset.common.tag.pager.ListInfo |
getWebSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
获取站外搜索的索引列表
|
int |
isAllSiteIndexExist(java.lang.String siteId)
判断指定站点的站点索引是否已经存在
对于任何一个站点,整站索引只有一个
|
static boolean |
isIndexLocked(CMSSearchIndex Index)
判断指定索引的索引文件库是否已经上锁(即正在建立索引)
|
static boolean |
isIndexLocked(java.lang.String indexDirectory)
判断指定索引的索引文件库是否已经上锁(即正在建立索引)
|
static void |
releaseIndexLocked(CMSSearchIndex Index)
判断指定索引的索引文件库是否已经上锁(即正在建立索引)
|
static void |
releaseIndexLocked(java.lang.String indexDirectory)
判断指定索引的索引文件库是否已经上锁(即正在建立索引)
|
HitResult |
search(CMSMultiSearcher multiSearcher)
提供检索的接口
|
static void |
startCrawler(CMSSearchIndex searchIndex,
java.lang.String contextpath)
开始建立索引
|
boolean |
updateOneIndex(CMSSearchIndex searchIndex)
更新索引
|
public static final int SEARCHTYPE_SITECHANNEL
public static final int SEARCHTYPE_EXTERNAL
public static final int SEARCHTYPE_SITE
public static final int SEARCHTYPE_SITES
public static final int SEARCHTYPE_DBTABLE
public com.frameworkset.common.tag.pager.ListInfo getLocalSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
throws java.lang.Exception
sql - offset - maxPagesize - java.lang.Exceptionpublic com.frameworkset.common.tag.pager.ListInfo getSitesSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
throws java.lang.Exception
sql - offset - maxPagesize - java.lang.Exceptionpublic com.frameworkset.common.tag.pager.ListInfo getDBTSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
throws java.lang.Exception
sql - offset - maxPagesize - java.lang.Exceptionpublic com.frameworkset.common.tag.pager.ListInfo getWebSearchIndexList(java.lang.String sql,
int offset,
int maxPagesize)
throws java.lang.Exception
sql - offset - maxPagesize - java.lang.Exceptionpublic java.util.List getIndexList()
throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String getIndexRootPath()
throws java.lang.Exception
java.lang.Exceptionpublic static java.lang.String getAbsoluteIndexRootPath(java.lang.String indexPath)
throws java.lang.Exception
indexPath - java.lang.Exceptionpublic static java.lang.String getAbsoluteIndexFilePath(java.lang.String indexPath,
java.lang.String indexFileName,
java.lang.String siteId)
throws java.lang.Exception
indexPath - indexFileName - "in_"或"out_"或"site_"或"sites_"或"db_" + 索引名siteId - 站内搜索传来站点id;若为站外搜索则siteId传来null;java.lang.Exceptionpublic static java.lang.String getAbsoluteIndexFilePath(CMSSearchIndex index) throws java.lang.Exception
index - java.lang.Exceptionpublic java.util.List getIndexListOfSite(java.lang.String siteId,
int flag)
throws java.lang.Exception
siteId - flag - 0-站内频道索引;1-站外站点索引;2-整站索引java.lang.Exceptionpublic CMSSearchIndex getIndex(java.lang.String indexId) throws java.lang.Exception
indexId - java.lang.Exceptionpublic CMSSearchIndex getIndexByChnlId(java.lang.String chnlId) throws java.lang.Exception
chnlId - java.lang.Exceptionpublic java.util.ArrayList getIndexsByChnlId(java.lang.String chnlId)
throws java.lang.Exception
chnlId - java.lang.Exceptionpublic java.util.ArrayList getIndexsByDocId(java.lang.String docId)
throws java.lang.Exception
docId - java.lang.Exceptionpublic java.util.ArrayList getIndexsBySiteId(java.lang.String siteId)
throws java.lang.Exception
siteId - java.lang.Exceptionpublic static CMSSearchIndex getIndexIdByIndexName(java.lang.String indexName) throws java.lang.Exception
indexName - java.lang.Exceptionpublic static void startCrawler(CMSSearchIndex searchIndex, java.lang.String contextpath) throws java.lang.Exception
searchIndex - java.lang.Exceptionpublic void deleteIndex(java.lang.String indexId)
throws java.lang.Exception
indexId - java.lang.Exceptionpublic void deleteFilesAndDirector(java.io.File file)
file - public void deleteIndex(java.lang.String[] indexIds)
throws java.lang.Exception
indexIds - java.lang.Exceptionpublic void deleteIndexFiles(java.lang.String[] indexIds)
throws java.lang.Exception
indexIds - java.lang.Exceptionpublic void deleteChnlIndex(java.lang.String chnlId)
public void deleteSiteIndexs(java.lang.String siteId)
public java.util.ArrayList getSiteIndexsBySiteId(java.lang.String siteId)
throws java.lang.Exception
java.lang.Exceptionpublic void deleteChnlIndexs(java.lang.String chnlId)
public java.util.ArrayList getParentIndexsByChnlId(java.lang.String chnlId)
throws java.lang.Exception
java.lang.Exceptionpublic java.util.ArrayList getSiteIndexsByChnlId(java.lang.String chnlId)
throws java.lang.Exception
java.lang.Exceptionpublic java.util.ArrayList getSiteIndexByChnlId(java.lang.String chnlId)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String[] getIndexLDTDes(int lever,
int day,
int time)
lever - 索引频率day - 索引日期time - 索引日期public java.util.List getLDTList(int flag)
throws FlowManagerException
flag - 0-周的日期列表;1-月的日期列表;2-每天;3-时间列表;4-频率列表FlowManagerExceptionpublic boolean addOneIndex(CMSSearchIndex searchIndex) throws java.lang.Exception
searchIndex - java.lang.Exceptionpublic boolean updateOneIndex(CMSSearchIndex searchIndex) throws java.lang.Exception
searchIndex - java.lang.Exceptionpublic HitResult search(CMSMultiSearcher multiSearcher)
multiSearcher - public static java.util.List<CMSSearchHit> getSearchHitList(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.ScoreDoc[] hits) throws java.lang.Exception
hits - java.lang.Exceptionpublic static float getFloNum(float num,
int n)
public java.lang.String getInterceptContent(java.lang.String query,
java.lang.String contents)
query - 查询关键字contents - 查询到的内容public int isAllSiteIndexExist(java.lang.String siteId)
siteId - public static boolean isIndexLocked(CMSSearchIndex Index)
cmsIndex - public static void releaseIndexLocked(CMSSearchIndex Index)
cmsIndex - public static boolean isIndexLocked(java.lang.String indexDirectory)
cmsIndex - public static void releaseIndexLocked(java.lang.String indexDirectory)
cmsIndex - public java.util.List getIndexListOfCmsdocument(Document doc, java.lang.String siteId) throws java.lang.Exception
docId - siteId - java.lang.Exceptionpublic void deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId)
throws java.lang.Exception
java.lang.Exceptionpublic void deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId)
throws java.lang.Exception
java.lang.Exceptionpublic void deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId,
java.util.List attachmentList,
java.util.List indexList)
throws java.lang.Exception
docId - siteId - java.lang.Exceptionpublic void deleteDocumetFromIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId,
java.util.List attachmentList,
java.util.List indexList)
throws java.lang.Exception
docId - siteId - java.lang.Exceptionpublic void addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId)
throws java.lang.Exception
java.lang.Exceptionpublic void addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
java.lang.String docId,
java.lang.String siteId,
boolean deleteIndex)
throws java.lang.Exception
request - 获取文档附件使用docId - siteId - java.lang.Exceptionpublic void addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId,
boolean deleteIndex)
throws java.lang.Exception
request - 获取文档附件使用docId - siteId - java.lang.Exceptionpublic void addDocumetToIndex(javax.servlet.http.HttpServletRequest request,
Document doc,
java.lang.String siteId,
java.util.List attachmentList,
java.util.List indexList,
boolean deleteIndex)
throws java.lang.Exception
request - 获取文档附件使用docId - siteId - java.lang.Exceptionpublic static java.lang.String getPublishedFileUrl(java.lang.String filePath,
java.lang.String siteId)
filePath - 发布文件的绝对路径,如:D:\workspace\cms\creatorcms\sitepublish\site200\zjcz\content_33925.htmlpublic static java.lang.String getPublishedIndexFileUri(java.lang.String filePath,
java.lang.String siteId)
filePath - 发布文件的绝对路径,如:D:\workspace\cms\creatorcms\sitepublish\site200\zjcz\content_33925.htmlpublic static java.lang.String getPublishedIndexFileUrl(java.lang.String filePath,
java.lang.String siteId,
java.lang.String context)
filePath - 发布文件的绝对路径,如:D:\workspace\cms\creatorcms\sitepublish\site200\zjcz\content_33925.htmlpublic java.lang.String getPublishedFilePathTail(java.lang.String docId,
java.lang.String siteId)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String getSearchButtonValue(java.lang.String searchType)
searchType - public java.util.List getIndexListOfSite(java.lang.String siteId)
throws java.lang.Exception
siteId - java.lang.Exception