我有这种形式的文件中的数据,如何拆分不同的部分并将其存储在Elasticsearch索引中,并根据一些唯一的数字进行搜索。
示例数据:
SSLEGGU00402-IM 13949 13949 58 1 285228 3094844 1U00402-IM 13949
200 1490 400 1490 600 1490 800 1490 1000 1490 2U00402-IM 13949
1200 1490 1400 1491 1600 1493 1800 1497 2000 1504 3U00402-IM 13949
SSLEGGU00412-IM 13885 13885 58 1 286359 3094844 1U00412-IM 13885
200 1489 400 1489 600 1489 800 1489 1000 1489 2U00412-IM 13885
1200 1489 1400 1490 1600 1493 1800 1497 2000 1505 3U00412-IM 13885
我想将SSLEGGU00402
作为单独的文档存储,SSLEGGU00412
作为单独的文档存储,我需要根据相同的文档进行搜索。
默认情况下,Elasticsearch会提供一些方法来拆分此文本并存储它,或者我们需要以编程方式将其拆分并存储为Elasticsearch Index。
答案 0 :(得分:0)
一个良好的开端是研究elasticsearch import com.sap.conn.jco.ext.DestinationDataProvider;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.JCoDestinationManager;
import java.util.Properties;
public class TestMySAP {
public static void main(String[] args) {
// This will create a file called mySAPSystem.jcoDestination
String DESTINATION_NAME1 = "mySAPSystem";
Properties connectProperties = new Properties();
connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "10.129.19.151"); //host
connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "00"); //system number
connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "442"); //client number
connectProperties.setProperty(DestinationDataProvider.JCO_USER, "MPOSRFC");
connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "123456");
connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en");
createDataFile(DESTINATION_NAME1, connectProperties);
// This will use that destination file to connect to SAP
try {
JCoDestination destination = JCoDestinationManager.getDestination("mySAPSystem");
System.out.println("Attributes:");
System.out.println(destination.getAttributes());
System.out.println();
destination.ping();
} catch (JCoException e){
e.printStackTrace();
}
}
}
及其Ingest Node
。它们可用于在文档编制索引之前对文档应用转换。
如果您的源数据定义明确且符合特定模式,我希望您可以使用
Processors
处理器将其转换为结构化JSON以进行索引。
https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html
如果您有需要应用于数据预处理的复杂逻辑,您可以创建自己的管道
https://www.elastic.co/guide/en/elasticsearch/reference/6.2/ingest.html
感谢。