Мне удалось скомпилировать проект CLucene на iOS, и в настоящее время я пытаюсь использовать его в своем приложении для iOS. Я пытаюсь индексировать документы xhtml и смог сделать это, извлекая текстовые узлы из этих документов, а затем индексируя в lucene, объединяя их вместе, чтобы весь текст из одного документа xhtml отображался в одном Документ Люсен.
Однако каждый текстовый узел моего документа xhtml имеет настраиваемые атрибуты, поэтому при выполнении поиска в проиндексированном тексте я также должен иметь возможность получить атрибут, связанный с этим текстом.
Мои данные xml выглядят так:
<span data-value="/1/2/3">This is a sample text for this span</span>
<span data-value="/2/3/4">This is a example text for another span</span>
<span data-value="/3/4/5">Searching for this span text</span>
Поэтому, когда я ищу в индексе Lucene образец слова, я должен иметь возможность получить значение данных, связанное со словом Sample. В приведенном выше случае это будет data-value="/1/2/3".
Я создаю индекс путем объединения атрибута значения данных и поля текстового узла вместе, а затем индексирует его с помощью Lucene. Таким образом, всякий раз, когда мои результаты поиска возвращаются, они также будут возвращать атрибутивное значение данных вместе с ним. Я могу оценить значение атрибута, и во время поиска вообще удалю этот атрибут из результатов отображения. Однако это неверно для большого текста, содержащегося в тексте диапазона, где в искомом слове (словах) может быть возвращено, но атрибуты значения данных могут не быть частью результатов поиска, которые могут быть дополнительно удалены при отображении.
Однако я думаю, что это не оптимальный способ индексации XML-атрибутов вместе с их текстовыми данными.
Я был бы признателен, если бы кто-нибудь помог мне с подходом, чтобы индексировать отношения между текстом и его атрибутами.
Обновление: я обнаружил, что токены, сгенерированные из текста, могут иметь связанные с ними полезные данные, поэтому я думаю, что если бы мы могли иметь атрибут XML, встроенный в качестве полезной нагрузки для всей моей строки, которую можно рассматривать как один токен ( если я не анализирую текст), может быть полезен для моей цели. Я хотел знать, может ли кто-нибудь помочь мне выяснить, является ли это правильным подходом для моего случая. Большое спасибо за вашу помощь.
Спасибо и с уважением, Ашиш