>  기사  >  백엔드 개발  >  PHP와 coreseek를 활용하여 정확한 의학 지식 검색 기능 구현

PHP와 coreseek를 활용하여 정확한 의학 지식 검색 기능 구현

PHPz
PHPz원래의
2023-08-07 15:34:42714검색

PHP와 coreseek를 활용하여 정확한 의학 지식 검색 기능 구현

PHP와 coreseek을 사용하여 정확한 의학 지식 검색 기능 구현

요약: 이 글에서는 PHP와 coreseek 검색 엔진을 사용하여 정확한 의학 지식 검색 기능을 구현하는 방법을 소개합니다. 관리 인터페이스와 검색 인터페이스를 구축하고 coreseek을 구성함으로써 개발자는 효율적이고 유연한 의학 지식 검색 시스템을 쉽게 구현할 수 있습니다.

키워드: PHP, coreseek, 의학 지식 검색, 검색 엔진

소개: 인터넷의 급속한 발전과 함께 의학 지식에 대한 사람들의 수요도 점점 높아지고 있습니다. 사용자의 요구를 충족시키기 위해 효율적이고 유연한 의학지식 검색 시스템을 개발하고자 합니다. 많은 검색 엔진 중에서 coreseek는 매우 인기 있는 선택입니다. 이 글에서는 PHP와 coreseek를 활용하여 정확한 의학지식 검색 기능을 구현하는 방법을 소개하겠습니다.

1부: 관리 인터페이스 구축

먼저, 관리자가 의학 지식 데이터를 쉽게 추가, 편집, 삭제할 수 있도록 관리 인터페이스를 구축해야 합니다. PHP를 사용하여 다음 기능을 포함한 간단한 관리 인터페이스를 개발할 수 있습니다.

  1. 의학 지식 추가: 관리자는 관리 인터페이스에 의학 지식의 제목, 내용 및 기타 정보를 추가할 수 있습니다.
  2. 의학 지식 편집: 관리자는 관리 인터페이스에서 기존 의학 지식을 편집할 수 있습니다.
  3. 의학 지식 삭제: 관리자는 관리 인터페이스에서 기존 의학 지식을 삭제할 수 있습니다.

위 기능을 구현하는 간단한 PHP 코드 예는 다음과 같습니다.

<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "medical_knowledge";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
}

// 添加医疗知识
if (isset($_POST['add'])) {
    $title = $_POST['title'];
    $content = $_POST['content'];
    
    $sql = "INSERT INTO knowledge (title, content) VALUES ('$title', '$content')";
    if ($conn->query($sql) === TRUE) {
        echo "添加成功!";
    } else {
        echo "添加失败:" . $conn->error;
    }
}

// 编辑医疗知识
if (isset($_POST['edit'])) {
    $id = $_POST['id'];
    $title = $_POST['title'];
    $content = $_POST['content'];
    
    $sql = "UPDATE knowledge SET title='$title', content='$content' WHERE id=$id";
    if ($conn->query($sql) === TRUE) {
        echo "编辑成功!";
    } else {
        echo "编辑失败:" . $conn->error;
    }
}

// 删除医疗知识
if (isset($_GET['delete'])) {
    $id = $_GET['delete'];
    
    $sql = "DELETE FROM knowledge WHERE id=$id";
    if ($conn->query($sql) === TRUE) {
        echo "删除成功!";
    } else {
        echo "删除失败:" . $conn->error;
    }
}

// 查询医疗知识
$sql = "SELECT * FROM knowledge";
$result = $conn->query($sql);
?>

<!-- 管理界面 HTML -->
<!DOCTYPE html>
<html>
<head>
    <title>医疗知识管理</title>
</head>
<body>
    <h1>医疗知识管理</h1>

    <!-- 添加医疗知识表单 -->
    <h2>添加医疗知识</h2>
    <form action="" method="POST">
        标题:<input type="text" name="title"><br>
        内容:<textarea name="content"></textarea><br>
        <input type="submit" name="add" value="添加">
    </form>

    <!-- 编辑医疗知识表单 -->
    <h2>编辑医疗知识</h2>
    <form action="" method="POST">
        <?php while($row = $result->fetch_assoc()): ?>
        ID:<input type="text" name="id" value="<?php echo $row['id']; ?>"><br>
        标题:<input type="text" name="title" value="<?php echo $row['title']; ?>"><br>
        内容:<textarea name="content"><?php echo $row['content']; ?></textarea><br>
        <input type="submit" name="edit" value="编辑">
        <a href="?delete=<?php echo $row['id']; ?>">删除</a><br>
        <?php endwhile; ?>
    </form>
</body>
</html>

<?php
// 关闭数据库连接
$conn->close();
?>

파트 2: 검색 인터페이스 구축

관리자가 의학 지식을 설정한 후 사용자가 키워드를 검색할 수 있도록 검색 인터페이스를 개발해야 합니다. 관련 의학 지식을 검색합니다. 또한 PHP를 사용하여 다음 기능을 포함한 간단한 검색 인터페이스를 개발할 수 있습니다.

  1. 의학 지식 검색: 사용자는 검색 인터페이스에 키워드를 입력하고 검색 버튼을 클릭하여 검색할 수 있습니다.
  2. 검색 결과 표시: 검색 결과는 일치하는 제목과 내용을 포함하여 목록 형식으로 검색 인터페이스에 표시됩니다.

다음은 위 기능을 구현하는 간단한 PHP 코드 예제입니다.

<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "medical_knowledge";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
}

// 搜索医疗知识
if (isset($_GET['search'])) {
    $keyword = $_GET['keyword'];
    
    // 调用coreseek搜索引擎
    $searchCmd = "/usr/local/coreseek/bin/search -i index -c /usr/local/coreseek/etc/csft.conf -q "$keyword" -n 0,20";
    exec($searchCmd, $output);
    
    // 显示搜索结果
    echo "<h2>搜索结果</h2>";
    foreach ($output as $result) {
        $resultArray = explode("    ", $result);
        $title = $resultArray[0];
        $content = $resultArray[1];
        
        echo "<h3>$title</h3>";
        echo "<p>$content</p>";
    }
}
?>

<!-- 搜索界面 HTML -->
<!DOCTYPE html>
<html>
<head>
    <title>医疗知识搜索</title>
</head>
<body>
    <h1>医疗知识搜索</h1>

    <!-- 搜索表单 -->
    <form action="" method="GET">
        <input type="text" name="keyword">
        <input type="submit" name="search" value="搜索">
    </form>
</body>
</html>

<?php
// 关闭数据库连接
$conn->close();
?>

3부: coreseek 구성

coreseek과 PHP가 제대로 작동하려면 먼저 몇 가지 구성을 수행해야 합니다. 먼저 coreseek의 구성 파일 /usr/local/coreseek/etc/csft.conf을 생성하고 파일에 다음 콘텐츠를 추가해야 합니다:

source medical_knowledge
{
    type                    = mysql
    sql_host                = localhost
    sql_user                = username
    sql_pass                = password
    sql_db                  = medical_knowledge
    sql_port                = 3306

    sql_query               = SELECT id, title, content FROM knowledge
    sql_attr_uint           = id
    sql_attr_str2ordinal    = title
    sql_attr_str2ordinal    = content
}

index index
{
    source                  = medical_knowledge
    path                    = /usr/local/coreseek/var/data/medical_knowledge
    min_word_len            = 1
    min_prefix_len          = 1
    enable_star             = 1
}

searchd
{
    listen                  = 9312
    log                     = /usr/local/coreseek/var/log/searchd.log
    query_log               = /usr/local/coreseek/var/log/query.log
    read_timeout            = 5
    max_children            = 30
    pid_file                = /usr/local/coreseek/var/log/searchd.pid
    seamless_rotate         = 0
    preopen_indexes         = 0
    unlink_old              = 1
}

그런 다음 일치 검색을 수행하기 위해 coreseek에 대한 인덱스를 생성해야 합니다. 터미널을 열고 다음 명령을 실행하세요:

$ /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf --all

마지막으로 coreseek의 검색 서비스를 시작해야 합니다. 터미널에서 다음 명령어를 실행해 보세요:

$ /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft.conf

결론: 위의 단계를 통해 PHP와 coreseek를 이용하여 정확한 의학 지식 검색 기능을 성공적으로 구현했습니다. 관리자는 관리 인터페이스를 통해 의학지식을 추가, 편집, 삭제할 수 있고, 사용자는 검색 인터페이스를 통해 관련 의학지식을 검색할 수 있다. coreseek의 색인 및 검색 서비스를 구성하여 효율적이고 유연한 의학 지식 검색 시스템을 구현했습니다.

위 내용은 PHP와 coreseek를 활용하여 정확한 의학 지식 검색 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.