Во-первых, мне известны некоторые похожие вопросы, аналогичные этому, но я думаю, что эта ситуация достаточно отличается, чтобы оправдать свой вопрос.
Я запускаю индекс Solr через установку на молнии на сервере LAMP. В настоящее время я использую функцию simplexml_load_file
, чтобы получить результаты поиска, а затем проанализировать их с помощью нескольких функций. Я был доволен этим процессом, пока не столкнулся с фундаментальной проблемой.
Имена полей не передаются через функцию simplexml. Например, этот результат;
<doc>
<float name="score">0.73325396</float>
<str name="add1">Ravensbridge Drive</str>
<str name="comments">0</str>
<str name="company">Stratstone Lotus Leicester</str>
<str name="feed_id"/>
<str name="id">1711765</str>
<str name="pcode">LE4 0BX</str>
<str name="psearch">LE4</str>
<str name="rating">0</str>
</doc>
будет выглядеть так в объекте simplexml;
[doc] => Array
(
[0] => SimpleXMLElement Object
(
[float] => 0.73325396
[str] => Array
(
[0] => Ravensbridge Drive
[1] => 0
[2] => Stratstone Lotus Leicester
[3] => SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => feed_id
)
)
[4] => 1711765
[5] => LE4 0BX
[6] => LE4
[7] => 0
)
)
Когда найден полный набор данных, в массиве хранится 11 бит данных, но когда некоторые из них отсутствуют, данные перемещаются, и мой анализатор отклеивается.
Итак, я посмотрел на библиотеки / классы, чтобы сделать это правильно. А именно, два основных из них; Apache Solr и solr-php-client но оба кажутся слишком сложными, с небольшим количеством реальных примеров из реального мира, и ни один из них не выглядит так, как будто они поддерживают разные ядра Solr, из которых я использую несколько .
Что лучше всего использовать? Я застрял здесь и сейчас, любая помощь будет оценена по массе.
Спасибо!