我想在一个包含多个单词的字段上做一个简单的facet请求(例如:'Name1 Name2',有时候里面有点和逗号),但我得到的是......
"terms" : [{
"term" : "Name1",
"count" : 15
},
{
"term" : "Name2",
"count" : 15
}]
Run Code Online (Sandbox Code Playgroud)
所以我的字段值被空格分割,然后运行构面请求...
查询示例:
curl -XGET http://my_server:9200/idx_occurrence/Occurrence/_search?pretty=true -d '{
"query": {
"query_string": {
"fields": [
"dataset"
],
"query": "2",
"default_operator": "AND"
}
},
"facets": {
"test": {
"terms": {
"field": [
"speciesName"
],
"size": 50000
}
}
}
}'
Run Code Online (Sandbox Code Playgroud) 我有这个包含一些字符串的数组:
String[] funnyRiddles = { "1", "2", "3", "4" };
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试生成一个随机数并显示上面数组的内容(funnyRiddles[rand]),但是当我funnyRiddles用下面的代码显示数组的所有值时,我想停止生成randoms :
Random rnd = new Random();
int randomRiddle = 0;
int clickCounter = 0;
static ArrayList<Integer> passedQuestions = new ArrayList<Integer>();
final RiddlesHolder riddles = (RiddlesHolder) getActivity().getApplication();
askBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (txtAnswer.getText().toString().equals(riddles.getFunnyRiddlesAnswerByPos(randomRiddle))) {
passedQuestions.add(randomRiddle);
do {
if (clickCounter <= passedQuestions.size()) {
randomRiddle = rnd.nextInt(riddles.getFunnyRiddles().length);
clickCounter++;
} else {
Toast.makeText(getActivity().getApplication(),
"No more riddles!", Toast.LENGTH_SHORT).show();
//clickCounter++;
break;
}
} while (passedQuestions.contains(randomRiddle));
TextView …Run Code Online (Sandbox Code Playgroud) 我的情况
我有一个使用Elasticsearch索引某些数据的Rails应用程序。
对于我的单元和集成自动化测试,我只是使用FakeWeb模拟了Elasticsearch,但现在我想编写一些验收测试,并且我想在不模拟它的情况下使用elasticsearch。
我的问题
我如何运行2个Elasticsearch集群(一个用于我的开发环境,一个用于我的测试环境),我不希望这些集群共享任何数据。我还试图找到一种方式说“在水豚测试中我想使用该集群”
PS:群集必须位于同一台计算机(本地主机)中
我尝试过的
在不同的端口中运行另一个elasticsearch实例:我无法工作,因为elasticsearch将以某种方式与该新实例共享数据
复制并粘贴elasticsearch文件夹,更改配置config/elasticsearch.yml:我更改了,cluster_name并运行了两个Elasticsearch实例,每个实例一个,但是它们以某种方式共享数据。
任何提示或解决方案都将有所帮助。
我想强制一个类从它实现的类中定义一个特定的变量.例如
class Fruit{
String name; // Cause each fruit has a name
}
//Apple wants to get an error if it does not use the name variable
class Apple implements Fruit {
String name = "Apple";
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?就像java.io.Serializable一样吗?
我有一个弹性搜索索引,用于存储有关人员的信息.为了找到特定的人我有一些问题,每个人都可以单独工作但是当我使用Bool Query将它们组合起来时,我得到一个错误.
其中一个查询是模糊搜索名称
{
"query": {
"fuzzy_like_this": {
"fields": [
"firstname",
"lastname"
],
"like_text": "Peter"
}
}
}
Run Code Online (Sandbox Code Playgroud)
另一个问题是搜索出生在特定日期范围内的人
{
"query": {
"range": {
"birthdate": {
"from": "1988-12-30",
"to": "1993-12-30"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想结合这两个查询.我的布尔查询:
{
"query": {
"bool": {
"must": [
{
"query": {
"fuzzy_like_this": {
"fields": [
"firstname",
"lastname"
],
"like_text": "Peter"
}
}
},
{
"query": {
"range": {
"birthdate": {
"from": "1988-12-30",
"to": "1993-12-30"
}
}
}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然我单独使用它们时两个查询都可以正常工作,但在组合它们时我会收到错误.在我的索引中有人名字是彼得并且出生在这个日期范围内,但即使找不到人,我也应该得到0结果而不是错误.
错误说:"error":"SearchPhaseExecutionException [无法执行阶段[查询],所有分片都失败;嵌套:QueryParsingException [[indexname]没有为[query]注册查询] …
我在 Java 应用程序的每个 Hibernate 实体(如果没有继承)中创建equals()和方法。hashCode()然而,我有点困惑,想确定我的定义是否正确。您能否澄清以下问题?
在 IntelliJ 中,当我使用“生成”功能(通过 Alt + Insert)时,有一些模板,例如 IntelliJ Default、Java 7+ 等。我应该使用哪个模板?
使用“生成”功能时,我应该在equals() and hashCode()以下实体的方法中包含哪个字段?
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@Column(unique = true)
private String email;
// getter, setter, constructor...
}
Run Code Online (Sandbox Code Playgroud)
我应该使用注释来实现简单易用吗@EqualsAndHashCode?或者它不灵活,我应该更喜欢明确地实施吗?