小弟初次接触compass ,在网上找了写参考资料写了一个简单的查询,有些疑惑,还希望大家帮助下 谢谢。。
1.采用庖丁分词,但是出现不能支持中文分词,用中文搜索的话,什么都没有
怀疑是配置文件哪里写错了
paoding-analysis.properties
paoding.imports=ifexists\:classpath\:paoding-analysis-default.properties;ifexists\:classpath\:paoding-analysis-user.properties;ifexists\:classpath\:paoding-knives-user.properties
我这里是默认的,没有修改,我把辞典放到tomcat 目录下里面了
2.我给数据库添加了一些数据 (以name属性查找)
+----+------------+--------+-------+-------------+
| id | name | brank | price | description |
+----+------------+--------+-------+-------------+
| 9 | 12 | 12 | 12 | 12 |
| 10 | 123 | 132 | 12 | 12 |
| 11 | 1243 | 132 | 12 | 12 |
| 12 | 12423 | 132 | 12 | 12 |
| 13 | 12 | 12132 | 12 | 12 |
| 14 | 12 | 12132 | 12 | 1212 |
| 15 | 12 | 12132 | 12 | 11212212 |
| 16 | 1 | 12132 | 12 | 11212212 |
| 17 | 2 | 12132 | 12 | 11212212 |
| 18 | 2345 | 12132 | 12 | 11212212 |
| 19 | 245 | 12132 | 12 | 11212212 |
| 20 | zhangsan | wangwu | 11 | 1212 |
| 21 | zhangsan2 | wangwu | 11 | 1212 |
| 22 | 2zhangsan2 | wangwu | 11 | 1212 |
| 23 | zhangsan22 | wangwu | 11 | 1212 |
| 24 | | wangwu | 11 | 1212 |
+----+------------+--------+-------+-------------+
搜索1的时候只出现一条数据
搜索12的时候只出现name 为12的数据
compass.xml 文件
<property name="classMappings">
<list>
<value>com.compass.product.model.Product</value>
</list>
</property>
<property name="compassConfiguration" ref="annotationConfiguration"></property>
<property name="compassSettings">
<props>
<prop key="compass.engine.connection"> file://c:/compass</prop>
<prop key="commpass.transaction.factory">
org.compass.spring.transaction.SpringSyncTransactionFactory
</prop>
<prop
key="compass.engine.analyzer.default.type">
net.paoding.analysis.analyzer.PaodingAnalyzer
</prop>
<prop
key="compass.engine.highlighter.default.formatter.simple.pre">
<![CDATA[<font color="red"><b>]]>
</prop>
<prop
key="compass.engine.highlighter.default.formatter.simple.post">
<![CDATA[</b></font>]]>
</prop>
</props>
</property>
<property name="transactionManager" ref="transactionmanager"></property>
</bean>
有关分词器的配置
compass.engine.analyzer.default.type
compass.engine.analyzer.MMAnalyzer.CustomAnalyzer
如果我采用上面一个 默认的,分词搜索zhangsan 的时候,只要有zhangsan的数据都能搜出来
如果采用下面一个,就好象是按照名字查询一样 ,准备的查找,只能出现一条record
以上是主要的困惑,希望了解的能帮下忙 thanks!!