楼主:
ek0424 2014-08-13 19:37:47大大,我想再请教一下,为什么我照着范例做了一个repository和model
然后也依照controller的程式码加了一段
@Resource private NewsRepository newsRepository;
我只是想跑跑不同的资料而已,像是这样
//这里@Document我不确定我的type这样写是不是对的,我找不到您哪里有写type的位置
@Document(indexName="news",type="opinion")
public class News {
private String oid ;
private String articleid ;
private String content ;
private String link ;
private String timestamp ;
private String subject ;
public String getArticleid() {
return articleid;
}
后面省略....
所有的方法都没有太大修改 都是依照您的范例,只是改一些对应变量名称
让网页能秀出我自己的资料而已,但是我run起来的时候都会碰到这个错误
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'homeController': Injection of resource
dependencies failed; nested exception is org.springframework.beans.factory
.BeanCreationException: Error creating bean with name 'newsRepository':
Invocation of init method failed; nested exception is java.lang
.NullPointerException....不太知道怎么解,不知道是不是跟这段有关
@PostConstruct
private void initData() {
List<IndexQuery> indexQueries = new ArrayList<IndexQuery>();
LoremIpsum lorem = new LoremIpsum();
for (int i = MINCOUNT; i < MAXCOUNT; i++) {
String documentId = UUID.randomUUID().toString();
Book book = new Book();
book.setId(documentId);
book.setName(lorem.randomWord());
book.setMessage(lorem.sentence());
book.setPrice(RandomUtils.nextDouble());
IndexQuery indexQuery = new IndexQueryBuilder().withId(book.getId()).withObject(book).build();
indexQueries.add(indexQuery);
}
// bulk index
elasticsearchTemplate.bulkIndex(indexQueries);
}
但是我想这里应该只是您用来随机产生范例资料的功能而已,应该没有关系吧?
我检查过好几次了,很多@标注我都有加上去,没有漏掉,实在无解才来求救...谢谢!
※ 引述《phstudy (study)》之铭言:
: 范例是使用Transport client, 所以跟设定http的连线加密应该没关系
: Spring Data Elasticsearch也是使用Elasticsearch Java API去作查询的
: 验证的话,可以在spring-data-elasticsearch-1.0.0.RELEASE.jar里面下中断点
: 中断点可下在类别:org.springframework.data.elasticsearch.core.\
: ElasticsearchTemplate的queryForPage() method
: trace一下就知道Spring Data Elasticsearch内部是怎么运作的了 :D
: ※ 引述《ek0424 ()》之铭言:
: : 非常谢谢你~另外想请教一下,若elasticsearch本身有设定http的连线加密的话,
: : 设定档那边要怎么改呢?还有就是BookRepository.java这段,是继承Spring Data
: : 写好的部分嘛,因为我只有写过用一般的Elasticsearch Java API去捞资料,像
: : 类似下面的code,因为我在您的范例里面并没有看到类似的code出现,所以很好奇
: : 是否用了spring data这些基本的方法都是会包在特别的spring data api里面?
: : QueryBuilder query = QueryBuilders.matchQuery("text", "security");
: : SearchResponse response = client.prepareSearch("social")
: : .setTypes("twitter").setQuery(query)
: : .setScroll(new TimeValue(6000)).setFrom(0).setSize(100)
: : .execute()
: : .actionGet();
: : 不好意思问题有点多,非常感谢~