帮我用java写一个简单搜索引擎
当然可以帮你写一个简单的搜索引擎,以下是一个基本的搜索引擎示例:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class SimpleSearchEngine {
private Map<String, List<String>> index;
public SimpleSearchEngine() {
index = new HashMap<>();
}
public void addDocument(String document) {
String[] words = document.toLowerCase().split("\\s+");
for (String word : words) {
if (!index.containsKey(word)) {
index.put(word, new ArrayList<>());
}
index.get(word).add(document);
}
}
public List<String> search(String query) {
List<String> results = new ArrayList<>();
String[] words = query.toLowerCase().split("\\s+");
for (String word : words) {
if (index.containsKey(word)) {
results.addAll(index.get(word));
}
}
return results;
}
public static void main(String[] args) {
SimpleSearchEngine searchEngine = new SimpleSearchEngine();
// 添加一些示例文档
searchEngine.addDocument("This is a sample document.");
searchEngine.addDocument("Another document for testing.");
searchEngine.addDocument("This document is different from the others.");
// 获取用户输入的查询
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your query: ");
String query = scanner.nextLine();
// 执行搜索并打印结果
List<String> results = searchEngine.search(query);
if (results.isEmpty()) {
System.out.println("No matching documents found.");
} else {
System.out.println("Matching documents:");
for (String document : results) {
System.out.println("- " + document);
}
}
}
}
此搜索引擎使用一个HashMap作为索引,键是单词,值是包含该单词的文档列表。addDocument方法用于将文档添加到索引中,search方法接受一个查询字符串并返回与查询匹配的文档列表。
在示例中,我们添加了一些简单的示例文档,并要求用户输入查询,然后搜索引擎会列出与查询匹配的文档
原文地址: https://www.cveoy.top/t/topic/h4ks 著作权归作者所有。请勿转载和采集!