久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Sphinx/xmlpipe2 數(shù)據(jù)源

來自站長百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

Sphinx | 安裝 | 建立索引|搜索|命令行工具參考|MySQL存儲(chǔ)引擎

xmlpipe2使你可以用另一種自定義的XML格式向Sphinx傳輸任意文本數(shù)據(jù)和屬性數(shù)據(jù)。數(shù)據(jù)模式(即數(shù)據(jù)字段的集合或者屬性集)可以由XML流本身指定,也可以在配置文件中數(shù)據(jù)源的配置部分中指定。

在對(duì)xmlpipe2數(shù)據(jù)源做索引時(shí),索引器運(yùn)行指定的命令,打開一個(gè)連接到前述命令標(biāo)準(zhǔn)輸出的管道,并等待接受具有正確格式的XML數(shù)據(jù)流。以下是一個(gè)數(shù)據(jù)流的樣本:

Example 3. xmlpipe2 文檔流

<?xml version="1.0" encoding="utf-8"?>

<sphinx:docset>

<sphinx:schema>

<sphinx:field name="subject"/> 

<sphinx:field name="content"/>

<sphinx:attr name="published" type="timestamp"/>

<sphinx:attr name="author_id" type="int" bits="16" default="1"/>

</sphinx:schema>

<sphinx:document id="1234">

<content>this is the main content <![CDATA[[and this <cdata> entry must be handled properly by xml parser lib]]></content>

<published>1012325463</published>

<subject>note how field/attr tags can be in <b class="red">randomized</b> order</subject>

<misc>some undeclared element</misc>

</sphinx:document>

<!-- ... more documents here ... -->

</sphinx:docset>

任意多的數(shù)據(jù)字段和屬性都是允許的。數(shù)據(jù)字段和屬性在同一文檔元素中出現(xiàn)的先后順序沒有特別要求。。單一字段數(shù)據(jù)的最大長度有限制,超過2MB的數(shù)據(jù)會(huì)被截短到2MB(但這個(gè)限制可以在配置文件中數(shù)據(jù)源部分中修改)。

XML數(shù)據(jù)模式(Schema),即數(shù)據(jù)字段和屬性的完整列表,必須在任何文檔被分析之前就確定。這既可以在配置文件中用xmlpipe_field和xmlpipe_attr_XXX選項(xiàng)指定,也可以就在數(shù)據(jù)流中用<sphinx:schema>元素指定。 <sphinx:schema>元素是可選的,但如果出現(xiàn),就必須是<sphinx:docset>元素的第一個(gè)子元素。如果沒有在數(shù)據(jù)流中內(nèi)嵌的數(shù)據(jù)模式定義,配置文件中的相關(guān)設(shè)置就會(huì)生效,否則數(shù)據(jù)流內(nèi)嵌的設(shè)置被優(yōu)先采用。

未知類型的標(biāo)簽(既不是數(shù)據(jù)字段,也不是屬性的標(biāo)簽)會(huì)被忽略,但會(huì)給出警告。在上面的例子中,<misc>標(biāo)簽會(huì)被忽略。所有嵌入在其他標(biāo)簽中的標(biāo)簽及其屬性都會(huì)被無視(例如上述例子中嵌入在<subject>標(biāo)簽中的<b>標(biāo)簽)

支持輸入數(shù)據(jù)流的何種字符編碼取決于系統(tǒng)中是否安裝了iconv. xmlpipe2是用 libexpat解析器解析的,該解析器內(nèi)置對(duì) US-ASCII, UTF-8, UTF-8 和一些 UTF-16變體的支持. Sphinx的 configure 腳本也會(huì)檢查 libiconv 是否存在并使用它來處理其他的字符編碼。 libexpat 也隱含的要求在Sphinx端使用UTF-8,因?yàn)樗祷氐姆治鲞^的數(shù)據(jù)總是UTF-8的。

xmlpipe2可以識(shí)別的XML元素(標(biāo)簽)(以及前述元素可用的屬性)如下:

  • sphinx:docset

頂級(jí)元素,用于標(biāo)明并包括xmlpipe2文檔.

  • sphinx:schema

可選元素,它要么是sphinx:docset的第一個(gè)子元素,要么干脆不出現(xiàn)。聲明文檔的模式。包括數(shù)據(jù)字段和屬性的聲明。若此元素出現(xiàn),則它會(huì)覆蓋配置文件中對(duì)數(shù)據(jù)源的設(shè)定.

  • sphinx:field

可選元素,sphinx:schema的子元素。聲明一個(gè)全文數(shù)據(jù)字段。唯一可識(shí)別的屬性是“name”,它指定了字段的名稱,后續(xù)數(shù)據(jù)文檔中具有此名稱的元素的數(shù)據(jù)都被當(dāng)作待檢索的全文數(shù)據(jù)對(duì)待.

  • sphinx:attr

O可選元素,sphinx:schema的子元素。用于聲明具體屬性。其已知的屬性有:

  1. "name",設(shè)定該屬性名稱,后續(xù)文檔中具有該名稱的元素應(yīng)被當(dāng)作一個(gè)屬性對(duì)待。.
  2. "type",設(shè)定該屬性的類型??赡艿念愋桶?"int", "timestamp", "str2ordinal", "bool", "float" 和 "multi".
  3. "bits",設(shè)定“int”型屬性的寬度,有效值為1到32.
  4. "default",設(shè)定該屬性的默認(rèn)值,若后續(xù)文檔中沒有指定這個(gè)屬性,則使用此默認(rèn)值。
  • sphinx:document

必須出現(xiàn)的元素,必須是sphinx:docset的子元素。包含任意多的其他元素,這些子元素帶有待索引的數(shù)據(jù)字段和屬性值,而這些數(shù)據(jù)字段或?qū)傩灾导瓤梢允怯胹phinx:field和sphinx:attr元素聲明的,也可以在配置文件中聲明。唯一的已知屬性是“id”,它必須包含一個(gè)唯一的整型的文檔ID。

參考來源[ ]

Sphinx使用手冊(cè)導(dǎo)航

安裝

支持的操作系統(tǒng)|需要的工具|在Linux、BSD上安裝Sphinx|在Windows上安裝Sphinx|已知的安裝問題和解決辦法|Sphinx快速入門教程

建立索引

數(shù)據(jù)源|屬性|MVA|索引|源數(shù)據(jù)的限制|字符集、大小寫轉(zhuǎn)換和轉(zhuǎn)換表|SQL 數(shù)據(jù)源|xmlpipe 數(shù)據(jù)源|xmlpipe2 數(shù)據(jù)源|Python 數(shù)據(jù)源|實(shí)時(shí)索引更新|索引合并

搜索

匹配模式|布爾查詢語法|擴(kuò)展查詢語法|權(quán)值計(jì)算|排序模式|結(jié)果分組|分布式搜索|MySQL 協(xié)議支持與SphinxQL

命令行工具參考

indexer命令參考|searchd命令參考|search命令參考|spelldump命令參考|indextool命令參考

MySQL存儲(chǔ)引擎

SphinxSE 概覽|安裝 SphinxSE|使用 SphinxSE|通過 MySQL 生成片段