我正在尝试在Elasticsearch中进行嵌套排序,但到目前为止还没有成功。 我的数据结构: { “_id” : 1, “authorList” : [ {“lastName”:”hawking”, “firstName”:”stephan”}, {“lastName”:”frey”, “firstName”:”richard”} ] } { “_id” : 2, “authorList” : [ {“lastName”:”roger”, “firstName”:”christina”}, {“lastName”:”freud”, “firstName”:”damian”} ] } 我想根据文件中第一作者的姓氏对文件进行排序。 使用的映射: “authorList” : { “type” : “nested”, “properties” : {“lastName”:{“type”:”keyword”}}} 使用SearchRequestBuilder(JAVA)排序: searchRequestBuilder.addSort( SortBuilders.fieldSort(“authorList.lastName”) .order(SortOrder.ASC) .sortMode(SortMode.MIN) .setNestedPath(“authorList”) ) 这可行,但不会给出想要的结果(例如,首先“叫卖”然后“罗杰”)。 我错过了什么吗? 有没有办法表明Elasticsearch访问数组authorList的index = 0? 是否有任何映射/规范化器分别索引数组的第一个条目?
我有分类输入的困难,我希望它先按最低时间排序。 我是java的新手,所以我不知道这么多,我已经做了一个猜数字游戏,但我无法在最低时间排序高分,这是我到目前为止所做的。 import java.io.*; import java.util.*; public class teeeeeeeeeeeeeeeeeeeeeeeeeeeeeeest { private static void start() throws IOException { int number = (int) (Math.random() * 1001); BufferedReader reader; reader = new BufferedReader(new InputStreamReader(System.in)); Scanner input = new Scanner(System.in); String scorefile = “p-lista_java”; int försök = 0; int gissning = 0; String namn; String line = null; String […]
private void mergesort(int low, int high) { //line 1 if (low < high) { //line 2 int middle = (low + high)/2 ; //line 3 mergesort(low, middle); //line 4 mergesort(middle+1, high); //line 5 merge(low, middle, high); //line 6 }} //line 7 我理解当if语句为false时退出方法/函数的事实。 例如,如果我在main方法中调用mergesort(0, 5) ,则第一个mergesort(low, middle)将运行3次并终止,然后程序将转到第7行。 令我困惑的是当程序返回mergesort(middle+1, high);时,为什么high突然从0变为1 mergesort(middle+1, high); 在第5行。 这是一个类似但更简单的程序的另一个例子 public static void […]
根据surname字母顺序排序对象列表有问题:我有课: public class Osoba implements Comparable { private String name; private String surname; private String nip; private kraj country; public Osoba(String name, String surname, String nip, kraj country) { this.name = name; this.surname = surname; this.nip = nip; this.country = country; } @Override public int compareTo(Osoba o) { String tocompare = o.getsurname(); if (this.surname.equalsIgnoreCase(tocompare)) { […]
有什么方法可以根据列进行排序吗? 我有像, 1000 Australia Kangaroo Canberra 1002 India Tiger Delhi 1092 Germany Eagle Berlin 上述行必须根据第二列进行分类,即澳大利亚,德国,印度。 所以,结果应该是, 1000 Australia Kangaroo Canberra 1092 Germany Eagle Berlin 1002 India Tiger Delhi 数据来自文本文件
ArrayList cdcollection = new ArrayList(); private void initButtonActionPerformed(java.awt.event.ActionEvent evt) { Collections.addAll(cdcollection, “renier\n”, “mert\n”, “rain\n”, “mylen”, “dreb\n” ); initButton.setEnabled(false); } private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) { String title1 = “Original Order\n\n”; String title2 = “Sorted Order\n\n”; String collection = “”; for (int i = 0; i < cdcollection.size(); i++) { collection = collection + cdcollection.get(i); } mainTextArea.setText(title1 […]
我只想弄清楚如何根据它的名称,上次修改的时间和大小对目录列表进行排序。 我知道您可以访问文件的名称,大小,最后使用File方法修改但我不知道如何对其进行排序。 如果有人能指出我正确的方向,那就太好了。 public void printDirectoryContents(String path, PrintWriter writer) { File[] list = root.listFiles(); Arrays.sort(list); for ( File f : list ) { String name = f.getName(); long lastmod = f.lastModified(); SimpleDateFormat simple = new SimpleDateFormat(“dd-MMM-yyyy HH:mm”); String formatted = simple.format(new Date(lastmod)); long length = f.length(); } }
所以我的问题是,当我尝试对专辑进行排序时,专辑标题和专辑封面都是错误的。 我尝试对专辑ID进行排序,但这并不能解决问题,因为专辑ID与明显排序艺术无关。 当我遗漏排序时,一切都是正确的,但当我尝试对它们进行排序时,相册名称与专辑封面不匹配。 如何在片段中对我的专辑进行排序? 在这下面你可以找到我的代码。 提前致谢, 文斯 歌曲模型 // Columns I’ll retrieve from the song table String[] columns = { SONG_ID, SONG_TITLE, SONG_ARTIST, SONG_ALBUM, SONG_ALBUMID, SONG_FILEPATH, }; // Limits results to only show music files. // // It’s a SQL “WHERE” clause – it becomes `WHERE IS_MUSIC=1`. // final String musicsOnly = MediaStore.Audio.Media.IS_MUSIC + “=1”; […]
http://www.youtube.com/watch?v=M0cNsmjK33E 我想使用Java Swing开发类似于上面链接的东西。 我有排序方法,并在重绘时完成,但是当我触发排序时,它不是显示条慢慢排序本身,而是在数组完全排序时冻结然后解冻。 我该如何解决? 编辑:抱歉忘了密码。 它是一个非常简单的gui。 另一个用于排序的类对整个数组进行排序 public class SortGUI { JFrame frame; int frameWidth = 1000, frameHeight = 1000; int panelWidth, panelHeight; DrawPanel panel; JPanel panel2; JScrollPane scroll; JViewport view; static int[] S = new int[50000]; public static void main(String[] args) throws InterruptedException { SortGUI app = new SortGUI(); initializeArray(); app.go(); } public […]
我的FTP服务器中有一组文本文件。 我想阅读所有文件都是今天上传的。 其中我必须打印最后三个上传文件的属性。 (名称,上传时间,大小)。 现在我将能够打印存在于FTP服务器中的文件的名称和属性,但它不在订单中并显示为垃圾。 现在我想打印最后三个上传文件的名称,大小,路径,上传时间。 任何人都可以帮我实现这个目标吗? 这是我的片段: package com; import java.io.File; import edu.vt.middleware.crypt.io.TeePrintStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; import java.net.ConnectException; //import java.sql.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import javax.mail.MessagingException; import javax.mail.internet.AddressException; import org.apache.commons.io.FileUtils; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.net.ftp.FTPFile; import com.enterprisedt.net.ftp.FTPConnectMode; import com.enterprisedt.net.ftp.FTPException; import com.enterprisedt.net.ftp.FTPTransferType; import com.enterprisedt.net.ftp.Protocol; import com.enterprisedt.net.ftp.SecureFileTransferClient; import […]