【发布时间】:2015-09-07 11:16:11
【问题描述】:
据我所知,我们可以在弹性搜索中解析文档,当我们搜索关键字时,它将使用 java API 的以下代码返回文档:-
org.elasticsearch.action.search.SearchResponse searchHits = node.client()
.prepareSearch()
.setIndices("indices")
.setQuery(qb)
.setFrom(0).setSize(1000)
.addHighlightedField("file.filename")
.addHighlightedField("content")
.addHighlightedField("meta.title")
.setHighlighterPreTags("<span class='badge badge-info'>")
.setHighlighterPostTags("</span>")
.addFields("*", "_source")
.execute().actionGet();
现在我的问题是,假设一些文件有这样的字符串:-
Jun 2010 to Sep 2011 First Document
Jun 2009 to Aug 2011 Second Document
Nov 2011 – Sep 2012 Third Document
Nov 2012- Sep 2013 Forth Document
Nov 2013 – Current First Document
June 2014 – Feb 2015 Third Document
Jan 2013 – Jan 2014 Second Document
July 2008 – Oct 2012 First Document
May 2007 – Current Forth Document
现在我想要那些介于这些条件之间的文件:-
1 to 12 months
13-24 months
26-48 months
我该怎么做?
【问题讨论】:
-
现在我可以在编制索引时阅读文档内容。有什么方法或者我们可以使用正则表达式来获取 'Jun 2010 to Sep 2011' 字符串?
标签: java elasticsearch elasticsearch-plugin