我正在尝试使用OrmLite保留以下类:
public class Field {
@DatabaseField(id = true)
public String name;
@DatabaseField(canBeNull = false)
public FieldType type;
...
}
Run Code Online (Sandbox Code Playgroud)
这FieldType是一个public enum.该字段对应type于SQLite中的字符串(不支持枚举).当我尝试使用它时,我得到以下异常:
INFO [main] (SingleConnectionDataSource.java:244) - Established shared JDBC Connection: org.sqlite.Conn@5224ee
Exception in thread "main" org.springframework.beans.factory.BeanInitializationException: Initialization of DAO failed; nested exception is java.lang.IllegalArgumentException: Unknown field class class enums.FieldType for field FieldType:name=type,class=class orm.Field
at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:51)
at orm.FieldDAO.getInstance(FieldDAO.java:17)
at orm.Field.fromString(Field.java:23)
at orm.Field.main(Field.java:38)
Caused by: java.lang.IllegalArgumentException: Unknown field class class enums.FieldType for field FieldType:name=type,class=class orm.Field …Run Code Online (Sandbox Code Playgroud) 什么是可以在最短的时间内绑定到Java应用程序的ORM,因为它的性能并不重要?
我正准备将基于Sphinx的搜索整合到网站中,但我发现没有内置的拼写纠正支持.
网上的人建议使用pspell或其他第三方库来完成工作,但问题是我要搜索的数据,主要包含"技术"术语,如品牌名称,因此我不认为常见的库将包括他们.
另一方面,Xapian表示根据索引的数据进行拼写纠正支持,这正是我想要的.是否值得使用Xapian?我仍然对我应该使用哪个全文搜索引擎感到困惑:Sphinx似乎相当不错,但缺少Xapian(或者Lucene?)的一些很酷的功能,而后者看起来像社区较少,文档较少.
我想我可以用pspell字典中没有的单词使用自定义单词解决问题,但是我不确定这是否会带来明显的性能损失?我将在一个非常受欢迎的网站上使用搜索系统进行聚光灯搜索(在输入的每个字母上通过ajax单独搜索),因此性能很重要.
理想情况下,我想让一些像品牌这样的领域比普通字典更优先,但我想这并不重要,因为大多数品牌名称与其他词汇截然不同.
关于自定义全文搜索引擎的一般设计的任何建议也是受欢迎的.
谢谢
说有这样的表:
mysql> SELECT * FROM tags;
+---------+--------+
| post_id | tag_id |
+---------+--------+
| 1 | 2 |
| 1 | 3 |
| 1 | 1 |
| 2 | 1 |
| 2 | 2 |
+---------+--------+
5 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
字段名称非常明显.我想选择post_id同时具有1和3的tag_ids,所以在这个例子中它只是1.我想到了
SELECT post_id FROM tags GROUP BY post_id HAVING ...以后我想列出tag_id这个组中的s.我怎么做?