小编Sae*_*any的帖子

弹性搜索在方面中按空间分割

我想在一个包含多个单词的字段上做一个简单的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)

lucene elasticsearch

1
推荐指数
1
解决办法
2194
查看次数

在做的时候不能避免生成相同的随机数

我有这个包含一些字符串的数组:

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)

java android

1
推荐指数
1
解决办法
60
查看次数

如何创建一个Elasticsearch测试环境以运行我的水豚测试(rails app)

我的情况

我有一个使用Elasticsearch索引某些数据的Rails应用程序。

对于我的单元和集成自动化测试,我只是使用FakeWeb模拟了Elasticsearch,但现在我想编写一些验收测试,并且我想在不模拟它的情况下使用elasticsearch。

我的问题

我如何运行2个Elasticsearch集群(一个用于我的开发环境,一个用于我的测试环境),我不希望这些集群共享任何数据。我还试图找到一种方式说“在水豚测试中我想使用该集群”

PS:群集必须位于同一台计算机(本地主机)中

我尝试过的

  • 在不同的端口中运行另一个elasticsearch实例:我无法工作,因为elasticsearch将以某种方式与该新实例共享数据

  • 复制并粘贴elasticsearch文件夹,更改配置config/elasticsearch.yml:我更改了,cluster_name并运行了两个Elasticsearch实例,每个实例一个,但是它们以某种方式共享数据。

任何提示或解决方案都将有所帮助。

capybara elasticsearch ruby-on-rails-4

1
推荐指数
1
解决办法
1268
查看次数

覆盖变量或强制使用?

我想强制一个类从它实现的类中定义一个特定的变量.例如

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一样吗?

java variables interface

0
推荐指数
1
解决办法
4002
查看次数

elasticsearch结合了多个查询

我有一个弹性搜索索引,用于存储有关人员的信息.为了找到特定的人我有一些问题,每个人都可以单独工作但是当我使用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]注册查询] …

elasticsearch booleanquery

0
推荐指数
1
解决办法
3806
查看次数

在 Hibernate 中生成 equals() 和 hashCode() 方法哪种选择更好?

我在 Java 应用程序的每个 Hibernate 实体(如果没有继承)中创建equals()和方法。hashCode()然而,我有点困惑,想确定我的定义是否正确。您能否澄清以下问题?

  1. 在 IntelliJ 中,当我使用“生成”功能(通过 Alt + Insert)时,有一些模板,例如 IntelliJ Default、Java 7+ 等。我应该使用哪个模板?

  2. 使用“生成”功能时,我应该在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)
  3. 我应该使用注释来实现简单易用吗@EqualsAndHashCode?或者它不灵活,我应该更喜欢明确地实施吗?

java spring equals hashcode lombok

0
推荐指数
1
解决办法
975
查看次数