Solr Sunspot 非索引字段

发布于 2024-11-09 21:14:18 字数 112 浏览 4 评论 0原文

Solr(通过 Lucene)支持不同的方式来指示字段在文档中的索引方式:索引、标记化、存储……

我正在寻找一种将字段存储在 Solr 中但未建立索引的方法。有没有办法在太阳黑子中实现这一目标?

Solr (via Lucene) supports different ways to indicate the way a field is indexed in a document: indexed, tokenized, stored,...

I'm looking for a way to have fields that are stored in Solr but are not indexed. Is there a way to achieve that in Sunspot?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

温柔嚣张 2024-11-16 21:14:18

Sunspot 的配置 DSL 支持 :stored => 选项true 对于许多默认类型。对于存储字符串的示例,它比我的第一个示例要简单得多:

searchable do
  string :name, :stored => true
end

这会生成一个 name_ss 的字段名称,对应于 Sunspot 的标准模式中已存在的以下 dynamicField

<dynamicField name="*_ss" stored="true" type="string" multiValued="false" indexed="true"/>

您还可以在 schema.xml 中创建自己的自定义 fielddynamicField 进行存储但不建立索引,然后使用 Sunspot 1.2 :as 指定相应的选项字段名称。

例如,上面的更详细版本。在您的架构中:

<dynamicField name="*_stored_string" type="string" indexed="false" stored="true" />

在您的模型中:

searchable do
  string :name, :as => 'name_stored_string'
end

Sunspot's configuration DSL supports an option of :stored => true for many of its default types. For the example of the stored string, it would be much simpler than my first example:

searchable do
  string :name, :stored => true
end

This generates a field name of name_ss corresponding to the following dynamicField already present in Sunspot's standard schema:

<dynamicField name="*_ss" stored="true" type="string" multiValued="false" indexed="true"/>

You can also create your own custom field or dynamicField in your schema.xml to be stored but not indexed, and then use the Sunspot 1.2 :as option to specify a corresponding field name.

For example, a more verbose version of the above. In your schema:

<dynamicField name="*_stored_string" type="string" indexed="false" stored="true" />

And in your model:

searchable do
  string :name, :as => 'name_stored_string'
end
壹場煙雨 2024-11-16 21:14:18

您可以尝试:

http://localhost:8983/solr/admin/luke?numTerms=0

并使用 xpath 或 regex 读取具有 schema 属性值的那些字段:

<str name="I">Indexed</str>
<str name="T">Tokenized</str>
<str name="S">Stored</str>

您将得到类似以下内容的内容:

<lst name="field">
<str name="type">stringGeneralType</str>
<str name="schema">--SM---------</str>
</lst>

You can try :

http://localhost:8983/solr/admin/luke?numTerms=0

And read with xpath or regex those fields with schema attribute value:

<str name="I">Indexed</str>
<str name="T">Tokenized</str>
<str name="S">Stored</str>

You will get something like:

<lst name="field">
<str name="type">stringGeneralType</str>
<str name="schema">--SM---------</str>
</lst>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文