markdown 使用eXist-db以TEI XML编码的西里尔文本的全文邻近搜索

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 使用eXist-db以TEI XML编码的西里尔文本的全文邻近搜索相关的知识,希望对你有一定的参考价值。

<p xmlns="http://www.tei-c.org/ns/1.0" xml:id="p17">
    <s>
        <w xml:id="w59">је</w>
        <w xml:id="w61">виши</w>
        <w xml:id="w63">земаљски</w>
        <w xml:id="w65">судски</w>
        <w xml:id="w67">саветник</w> (
        <w xml:id="w69">апелациони</w>
        <w xml:id="w71">саветник</w>) 
        <w xml:id="w73">у</w>
        <w xml:id="w77">веома</w>
        <w xml:id="w79">познат</w>
        <w xml:id="w81">на</w>
        <w xml:id="w83">пољу</w>
        <w xml:id="w85"><exist:match xmlns:exist="http://exist.sourceforge.net/NS/exist">српске</exist:match></w>
        <w xml:id="w87"><exist:match xmlns:exist="http://exist.sourceforge.net/NS/exist">књижевности</exist:match></w>, 
        <w xml:id="w89">како</w>
        <w xml:id="w91">због</w>
        <w xml:id="w93">вишегодишњег</w>
        <w xml:id="w95">уређивања</w> „
        <w xml:id="w97">Далматинског</w>
        <w xml:id="w99">алманаха</w>“, 
        <w xml:id="w101">за</w>
    </s>
</p>
xquery version "3.1";

declare namespace tei="http://www.tei-c.org/ns/1.0";

let $query := 
    '"српске књижевности"~1' 
    (:
    <query><near><term>српске</term><term>књижевности</term></near></query>
    :)
return
    collection("/db/test")//tei:p[ft:query(., $query)] => util:expand()
<?xml version="1.0" encoding="UTF-8"?>
<teiCorpus xmlns="http://www.tei-c.org/ns/1.0">
    <TEI>
        <p xml:id="p17">
            <s>
                <w xml:id="w59">је</w>
                <w xml:id="w61">виши</w>
                <w xml:id="w63">земаљски</w>
                <w xml:id="w65">судски</w>
                <w xml:id="w67">саветник</w> (
                <w xml:id="w69">апелациони</w>
                <w xml:id="w71">саветник</w>) 
                <w xml:id="w73">у</w>
                <w xml:id="w77">веома</w>
                <w xml:id="w79">познат</w>
                <w xml:id="w81">на</w>
                <w xml:id="w83">пољу</w>
                <w xml:id="w85">српске</w>
                <w xml:id="w87">књижевности</w>, 
                <w xml:id="w89">како</w>
                <w xml:id="w91">због</w>
                <w xml:id="w93">вишегодишњег</w>
                <w xml:id="w95">уређивања</w> „
                <w xml:id="w97">Далматинског</w>
                <w xml:id="w99">алманаха</w>“, 
                <w xml:id="w101">за</w>
            </s>
        </p>
    </TEI>
</teiCorpus>
<collection xmlns="http://exist-db.org/collection-config/1.0">
    <index xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tei="http://www.tei-c.org/ns/1.0">
        <fulltext default="none" attributes="false"/>
        <lucene>
            <text qname="tei:p"/>
            <text qname="tei:w"/>
        </lucene>
    </index>
</collection>
This gist was prompted by a question on the eXist-open mailing list. See http://markmail.org/message/zudf7qp4pqjx6xhi.

To run these files:

- Download this gist as a .zip file
- Uncompress the .zip file
- Create collection `/db/test` in eXist
- Upload the contents of the zip file into the `/db/test` collection
- Reindex `/db/test` with `xmldb:reindex("/db/test")`
- Run `/db/test/test.xq` 
- The result should match that of the `test_results.xml` file included here. 

以上是关于markdown 使用eXist-db以TEI XML编码的西里尔文本的全文邻近搜索的主要内容,如果未能解决你的问题,请参考以下文章

markdown eXist-db组织应用程序回购的想法

在exist-db 中编写一个支持多种输出格式的XQuery 脚本

在循环中使用 TEI XML 解析器

如何使用 PHP 将 HTML 转换为 XML-TEI?

eXist-db 压缩:zip 函数是不是添加 XML 声明

试图与exist-db 5.3.0 版本制造一场战争