使用Spring SearchQuery ElasticSearch进行每次点击的得分

我正在尝试通过SearchQuery进行搜索时查看并使用每个命中的invidual _score。 除其他事项外,这是了解我的搜索得分的范围。但除了使用searchQuery.withMinScore(float)设置MinScore之外; 我找不到任何处理搜索分数的方法。 @Override public Page listsearch(SearchBody searchBody, int size, int page) { BoolQueryBuilder qb = QueryBuilders.boolQuery(); for(SearchUnit unit:searchBody.getSearchBody()){ if(unit.isPriority()) { qb.must(matchQuery(“_all”, unit.getWord()).operator(MatchQueryBuilder.Operator.AND) .fuzziness(Fuzziness.AUTO)); }else { qb.should(termQuery(“_all”, unit.getWord()) .boost(unit.getWeight())); } } for(SearchUnit ExUnit:searchBody.getExcludeBody()){ qb.mustNot(matchPhraseQuery(“_all”,ExUnit.getWord())); } SearchQuery searchQuery = new NativeSearchQueryBuilder() .withIndices(“websites_v1”) .withTypes(“website”) .withQuery(qb) .withMinScore(0.05F)//Magical minscore .withPageable(new PageRequest(page, size)) .build(); Page search = searchRepository.search(searchQuery); return […]

Java迭代具有固定长度的数组,并使用Scanner类获取值

如何使用具有固定长度2的Scanner类获取java数组的值,并且它将迭代直到其值等于给定值? 例如; 对于以下输入, AGNH DF 我写了一个for循环来获取固定数组道路的值,其中使用Scanner类的长度为2。 for(int i = 0; i<block.length; i++){ System.out.println("enter number"); block[i]=input2.next().charAt(0); } 我想迭代这个循环,而用户输入是{‘C’,’C’}。 这意味着如果输入如下,arrays循环shpuld停止; AG NH DF CC 如何编写代码以使用Scanner类获取用户输入值并迭代数组? 并且应该复制用户输入值而不用新输入的值替换它们。 谢谢!

原始类型,无界wilcard和有界通配符

我有一个简单的问题如下:这是一个关于这整个问题的简单例子: List a = new ArrayList(); List b; List c; 根据khalid mughal的Java SCJP(一本非常好的书!): a = b; // ok. Widening conversion. b = a; // ok too. No unchecked warning. b = c; // ok c = b; // ok c=a; // ok but now will issue a unchecked warning. // clause 1 我确实理解任何原始类型(例子a)在分配给任何有界威尔卡引用时,未经检查的警告都是问题(因为原始类型中的内容可以是任何东西)。 我的问题是因为c是最高上限(?扩展对象),不应该在没有该警告的情况下分配给c?

如何在Spring Boot测试中设置’headless’属性?

我正在测试使用Spring Boot和JavaFX(基于一些优秀的YouTubevideo来解释这一点)。 为了使它与TestFX一起工作,我需要创建如下的上下文: @Override public void init() throws Exception { SpringApplicationBuilder builder = new SpringApplicationBuilder(MyJavaFXApplication.class); builder.headless(false); // Needed for TestFX context = builder.run(getParameters().getRaw().stream().toArray(String[]::new)); FXMLLoader loader = new FXMLLoader(getClass().getResource(“main.fxml”)); loader.setControllerFactory(context::getBean); rootNode = loader.load(); } 我现在想测试这个JavaFX应用程序,为此我使用: @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) public class MyJavaFXApplicationUITest extends TestFXBase { @MockBean private MachineService machineService; @Test public void test() throws InterruptedException { […]

找不到媒体类型= application / json的MessageBodyWriter

我已经尝试了一切……无法弄清楚为什么我会得到这个例外。 有趣的是,在我的IDE(Intellij)中,一切都顺利进行。 无法弄明白……放弃。 你们有什么建议吗? dependencies { compile group: ‘com.amazonaws’, name: ‘aws-java-sdk’, version: ‘1.10.27’ compile group: ‘org.slf4j’, name: ‘slf4j-api’, version: ‘1.7.7’ compile group: ‘ch.qos.logback’, name: ‘logback-classic’, version: ‘1.1.2’ compile group: ‘ch.qos.logback’, name: ‘logback-core’, version: ‘1.1.2’ compile group: ‘org.glassfish.jersey.media’, name: ‘jersey-media-json-jackson’, version: ‘2.22.1’ compile group: ‘org.glassfish.jersey.containers’, name: ‘jersey-container-grizzly2-http’, version: ‘2.22.1’ compile group: ‘org.glassfish.jersey.core’, name: ‘jersey-client’, version: ‘2.22.1’ […]

连接到Apache Kafka多节点群集中的Zookeeper

我按照以下说明设置了多节点kafka群集。 现在,如何连接到zookeeper? 是否可以从JAVA中的生产者/消费者端连接到一个zookeeper,或者有没有办法连接所有zookeeper节点? 设置多节点Apache ZooKeeper集群 在群集的每个节点上,将以下行添加到文件kafka / config / zookeeper.properties server.1=zNode01:2888:3888 server.2=zNode02:2888:3888 server.3=zNode03:2888:3888 #add here more servers if you want initLimit=5 syncLimit=2 在群集的每个节点上,在dataDir属性表示的文件夹中创建名为myid的文件(默认情况下,文件夹为/ tmp / zookeeper)。 myid文件应该只包含znode的id(zNode01为’1’,ZNode02为’2’等等) 设置多代理Apache Kafka集群 在集群的每个节点上,修改文件kafka / config / server.properties中的属性zookeeper.connect: zookeeper.connect=zNode01:2181,zNode02:2181,zNode03:2181 在集群的每个节点上,从文件kafka / config / server.properties修改属性host.name:host.name = zNode0x 在集群的每个节点上,从文件kafka / config / server.properties修改属性broker.id(集群中的每个代理都应具有唯一的ID)

Hibernate Criteria查询:获取具有m..n关系的对象列表,其中子表没有特定属性

我有以下表格 CREATE TABLE “COMPANIES” ( “ID” NUMBER NOT NULL , “NAME” VARCHAR2 (100) NOT NULL UNIQUE ) / CREATE TABLE “COMPANIESROLES” ( “ID” NUMBER NOT NULL , “COMPANYID” NUMBER NOT NULL , “ROLENAME” VARCHAR2 (30) NOT NULL ) / CREATE TABLE “ROLES” ( “NAME” VARCHAR2 (30) NOT NULL ) / 这种结构代表了许多公司以及每家公司所允许的角色。 对于这些表,有相应的Hibernate对象: public class Company […]

Java:util_USBUIRT.dll:找不到依赖库

我想在我的项目中使用这个JAR文件( http://sourceforge.net/projects/uirt-j/ )。 在Eclipse中,我使用了选项Project> Java Build Path> Add External JARs来导入它。 我可以在Ecplise中看到所有类的JAR文件。 这个JAR包含两个dll文件。 为了加载dll,我输入了System32目录,但是当执行我的代码时,我得到了以下错误: Exception in thread “main” java.lang.UnsatisfiedLinkError: C:\Windows\System32\util_USBUIRT.dll: Can’t find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at util.USBUIRT.(USBUIRT.java:269) at Uirt.main(Uirt.java:6) 使用Dependence Walker我可以看到所有DLL都在System32文件夹中。 我的代码: import util.USBUIRT; public class Uirt { public static void main(String[] […]

如何从单独的jar文件运行jar文件?

可能重复: 在java程序中执行另一个jar 基本上我想从我正在处理的那个上运行一个外部.jar。 即我想从bar.jar运行foo.jar 我已经尝试使用Runtime和Process来执行“java -jar foo.jar”,但它会打开foo.jar然后立即关闭。 有小费吗?

Java模式/匹配器

这是一个示例文本: \1f\1e\1d\020028 。 我无法修改输入文本,我正在从文件中读取长串文本。 我想提取以下内容: \1f , \1e , \1d , \02 为此,我写了以下正则表达式模式: “\\[a-fA-F0-9]” 我正在使用Pattern和Matcher类,但我的匹配器无法使用提到的正则表达式找到模式。 我已经使用一些在线正则表达式网站上的文本测试了这个正则表达式,并且令人惊讶的是它在那里工作。 我哪里错了? 原始代码: public static void main(String[] args) { String inputText = “\1f\1e\1d\02002868BF03030000000000000000S023\1f\1e\1d\03\0d”; inputText = inputText.replace(“\\”, “\\\\”); String regex = “\\\\[a-fA-F0-9]{2}”; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(inputText); while (m.find()) { System.out.println(m.group()); } } 输出 :没有打印