У меня есть база данных exist-db с несколькими (большими) файлами TEI xml, которые я хочу индексировать/искать. Для индексации у меня есть команда xmlpipe2
, вызывающая sphinx-out.xql url, обслуживаемый существующим db. Наряду с фактическими фрагментами текстов (абзацы, заголовки, заметки и т. Д.) Это дает пару атрибутов, которые я позже хочу использовать при представлении результатов поиска. Одним из них является crumbtrail поле, которое содержит html (точнее, содержит ряд <a>
гиперссылок).Как я могу не разделить html в атрибутах sphinx?
Как я хочу, чтобы предлагать предложения и операции с абзацами в поиске, я установил index_sp = 1
, и поскольку это в свою очередь требует удаления html, у меня также есть html_strip = 1
. Но это, кажется, раздеть HTML также от моих атрибутов, которые я хочу сохранить ...
Вот что sphinx.out.xql, а затем xmlpipe2 команда отдавания:
<sphinx:docset>
<sphinx:document id="77">
<sphinx_docid>77</sphinx_docid>
<sphinx_work>W0013</sphinx_work>
<sphinx_author>Vitoria, Francisco de</sphinx_author>
<sphinx_title>Relectiones</sphinx_title>
<sphinx_year>1557</sphinx_year>
<sphinx_crumbtrail>
<span class="crumbtrail">
<a href="/exist/apps/salamanca/work.html?wid=W0013#Vol02">Vol. 2</a>
<span class="tokenizer"> > </span>
<a href="/exist/apps/salamanca/work.html?wid=W0013#Vol02Lect01">De augmento charitatis</a>
</span>
</sphinx_crumbtrail>
<sphinx_description>
<p xmlns="http://www.tei-c.org/ns/1.0" xml:id="p_l3w_pml_y4">
[SNIP]
</p>
</sphinx_description>
</sphinx:document>
.
.
.
</sphinx:docset>
А вот то, что MySQL запросы к сфинксу дает:
mysql> select sphinx_docid, sphinx_work, sphinx_crumbtrail from salamanca_base;
+------+--------+--------------+-------------+---------------------------------+
| id | weight | sphinx_docid | sphinx_work | sphinx_crumbtrail |
+------+--------+--------------+-------------+---------------------------------+
.
.
.
| 77 | 1 | 77 | W0013 | Vol. 2 > De augmento charitatis |
+------+--------+--------------+-------------+---------------------------------+
20 rows in set (0.00 sec)
Теперь мне интересно, есть ли способ для меня, чтобы отключить HTML зачистки атрибутов?
Может ли кто-нибудь хотя бы подтвердить, что можно хранить html в атрибутах sphinx?
Спасибо за любую проницательность
уверены, что вам нужно index_sp ли вы? Это НЕ необходимо для ** фразы ** поиска. – barryhunter
Я очень хорошо знаю eXist-db, но этот вопрос, по-видимому, особенно касается Sphinx, или я что-то пропустил? – adamretter
@adamretter, да, я думаю, что получение сфинкса, чтобы делать то, что я хочу, - более очевидный подход. Я просто хотел положить все на стол, возможно, я должен подходить к проблеме под другим углом. Например. один из подходов, которые я пробовал, был base64-encoding crumbtrail html, чтобы сфинкс даже не заглядывал внутрь. Но оказалось (или так я думаю), что использование eXist: base64-encode кодирует также только фактическое содержимое text/string, лишая html, несмотря ни на что, поэтому я больше не был. – awagner