日期:2014-05-17  浏览次数:20643 次

lucene关键词太长搜索没有结果
我用lucene做搜索,
使用的是IK_CAnalyzer分词
当输入 关键词太长是 没有搜索结果,
比如搜索: 网络技术及基于Web应用技术
就没有结果,但我的标题里确实有 “网络技术及基于Web应用技术”这句话的
如果把 它分成“网络技术 基于Web应用技术”就可以搜到




------解决方案--------------------

------解决方案--------------------
up up up ......
------解决方案--------------------
先用分词器对查询语句分词,再查!
------解决方案--------------------
Lucene有四种不同的字段类型:Keyword,UnIndexed,UnStored和Text,用于指定建立最佳索引。
 Keyword字段是指不需要分析器解析但需要被编入索引并保存到索引中的部分。JavaSourceCodeIndexer类使用该字段来保存导入类的声明。
 UnIndexed字段是既不被分析也不被索引,但是要被逐字逐句的将其值保存到索引中。由于我们一般要存储文件的位置但又很少用文件名作为关键字来搜索,所以用该字段来索引Java文件名。
& #61548; UnStored字段和UnIndexed字段相反。该类型的Field要被分析并编入索引,但其值不会被保存到索引中。 由于存储方法的全部源代码需要大量的空间。所以用UnStored字段来存储被索引的方法源代码。可以直接从Java源文件中取出方法的源代码,这样作可 以控制我们的索引的大小。
 Text字段在索引过程中是要被分析、索引并保存的。类名是作为Text字段来保存。