0

您好,我正在尝试 xapian c++ 库,我基本上来自 java,我使用了 lucene,现在我需要 xapian,我别无选择。所以我正在使用它。在 lucene 中我们可以这样使用

Document doc = new Document();
    doc.add(new Field("title", "stackoverflow", Field.Store.YES, Field.Index.ANALYZED));
    w.addDocument(doc);

所以标题包含值。但是从这个例子

Xapian::Document newdocument;
newdocument.set_data(string("stackoverflow");

如何在 xapian 中制作同样的东西。

4

1 回答 1

0

Xapian 与 Lucene 不同,它不限制您如何使用文档数据。它只允许为每个文档存储任何二进制数据——尽管这在某种程度上是一个缺失的特性,但它也提供了更大的灵活性,这意味着有些人可以使用 JSON,有些人可以使用简单的键值序列化等等。当然,缺点是您必须决定如何序列化数据。

Omega 中有一些代码使用简单的键值序列化可能会有所帮助。或者,您可以查看诸如 restpose 之类的东西,它提供了一种基于 Xapian 构建的更高级别的搜索方法,并且与 Solr 更具可比性。

于 2012-10-01T12:38:09.907 回答