欢迎各位兄弟 发布技术文章
这里的技术是共享的
赞成!0否决! | 大家好,我已经配置好dp7.23+solr4.2.1版本的连接问题, 但是在中文分词的配置上遇到了麻烦。 我在schema.xml上写 < fieldType name = "text_ik_test" class = "solr.TextField" > < analyzer class = "org.wltea.analyzer.lucene.IKAnalyzer" /> </ fieldType > 这样是没有问题的吧~如下图,测试是通过的。 但是上面的配置,似乎没搞索引哎! 于是,我改成 < fieldType name = "text_ik" class = "solr.TextField" positionIncrementGap = "100" > < analyzer type = "index" > < charFilter class = "solr.MappingCharFilterFactory" mapping = "mapping-ISOLatin1Accent.txt" /> < tokenizer class = "org.wltea.analyzer.lucene.IKAnalyzer" /> < filter class = "solr.StopFilterFactory" ignoreCase = "true" words = "stopwords.txt" enablePositionIncrements = "true" /> </ analyzer > < analyzer type = "query" > < charFilter class = "solr.MappingCharFilterFactory" mapping = "mapping-ISOLatin1Accent.txt" /> < tokenizer class = "org.wltea.analyzer.lucene.IKAnalyzer" /> < filter class = "solr.StopFilterFactory" ignoreCase = "true" words = "stopwords.txt" enablePositionIncrements = "true" /> < filter class = "solr.SynonymFilterFactory" synonyms = "synonyms.txt" ignoreCase = "true" expand = "true" /> < filter class = "solr.LowerCaseFilterFactory" /> </ analyzer > </ fieldType > 重启后,就报错了。 竟然说插件初始化错误,google了半天,不明所以。特来问问,请问有知道怎么解决的同学吗?麻烦帮我看下怎么解决,谢谢 drupal7solr | ||
北极狐LV 7
|
赞成!0否决! | 可以创建一个名为text的字段类型,如下: < types > < fieldType name = "text" class = "solr.TextField" sortMissingLast = "true" omitNorms = "true" > < analyzer class = "org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer" /> </ fieldType > < fieldType name = "string" class = "solr.StrField" sortMissingLast = "true" omitNorms = "true" /> </ types > 在fieldType里我们就可以加入要用到的中文分词器,SmartChineseAnalyzer是Lucene自带的一款基于统计规则来分词的中文分词器。 上面是定义了一个string的字段类型,这个类型的字段是不会用到中文分词器的。 然后定义三个字段id、title、text < fields > < field name = "id" type = "string" indexed = "true" stored = "true" required = "true" /> < field name = "title" type = "text" indexed = "true" stored = "true" /> < field name = "text" type = "text" indexed = "true" stored = "true" multiValued = "true" /> </ fields > Id的字段类型为上面定义的string,其余两个字段为上面定义的text,也就是这两个字段将采用中文分词器进行分词。 下面再定义其它的一些内容: < uniqueKey >id</ uniqueKey > < defaultSearchField >text</ defaultSearchField > < solrQueryParser defaultOperator = "AND" /> 上面表示索引主键为id,默认的搜索字段为text,搜索为与搜索。 完整的schema.xml内容为: <? xml version = "1.0" encoding = "UTF-8" ?> < schema name = "example" version = "1.5" > < types > < fieldType name = "text" class = "solr.TextField" sortMissingLast = "true" omitNorms = "true" > < analyzer class = "org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer" /> </ fieldType > < fieldType name = "string" class = "solr.StrField" sortMissingLast = "true" omitNorms = "true" /> </ types > < fields > < field name = "id" type = "string" indexed = "true" stored = "true" required = "true" /> < field name = "title" type = "text" indexed = "true" stored = "true" multiValued = "true" omitNorms = "true" /> < field name = "text" type = "text" indexed = "true" stored = "true" multiValued = "true" /> </ fields > < uniqueKey >id</ uniqueKey > < defaultSearchField >text</ defaultSearchField > < solrQueryParser defaultOperator = "AND" /> </ schema > 注如果报错:Unknown FieldType: ‘string’ used in QueryElevationComponent,则是因为在配置中必须有一个字段的类型配置为string,如: 1 < field name = "id" type = "string" indexed = "true" stored = "true" required = "true" /> | ||||||||||
孤魂LV 10
|
赞成!0否决! | http://outofmemory.cn/code-snippet/3659/Solr-configuration-zhongwen-fenc... 怎么和这个一模一样?谢谢你的好意了,不过你也太低估人家的搜索能力了吧。 我是搜索了很久,得不到要领,才上来问的。再一次谢谢! |
北极狐LV 7
|
来自 http://www.drupalla.com/node/2843