- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用一个多值字段查询我的索引。在索引期间,该字段是使用几个字段创建的,其中一些是 TextField,一些是 StringField。
我遇到的问题是,通过使用带有多个单词的查询来查询索引,我得到了:java.lang.IllegalStateException:字段“someField”在没有位置数据的情况下被索引;无法运行 PhraseQuery (term=someTerm)
我更改了创建多值字段的方式,仅使用了 TextField,问题消失了。
看来 TextField 和 StringField 不应该混合在一个多值字段中。我对吗?谁能给我解释一下为什么(或为什么不)?
最佳答案
StringField 明确设置为仅存储文档 ( IndexOptions.DOCS_ONLY ),这会忽略存储的频率和位置。由于它实际上是一个关键字字段,并且多个单词将存储为单个标记,因此对其运行短语查询实际上没有意义。
虽然将不同的字段类型混合到同一个字段中当然是可能的,但这似乎给我带来了困惑和不可预测的结果。我建议对添加到特定字段的类型保持一致,如果您需要添加的值具有明显不同的逻辑来管理它们,例如 TextField 与 StringField 之间的差异,将它们放在不同的字段中可能是一个更好的主意在索引中。
如果这种情况发生在某种包罗万象的便利字段中(例如 this SOLR example 中的 text
字段),那么使用 TextField 可能是一个合理的想法。
关于java - Lucene 多值字段 - 将 TextField 与 StringField 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044778/
如果我在构建字段期间设置默认值,则一切都会按预期工作: my_field = StringField("My Field: ", default="default value", validators
在使用 MongoAlchemy 时,我一直在与一个奇怪的错误作斗争。 我的 Participant 模型上有一个 name = db.StringField()。大多数时候它工作正常,但由于某种原因
我有一个 Lucene 文档,其中包含多个同名的 StringField,如下所示: doc.add(new StringField("uri", "http://www.doesn-t-work.c
我有一个表格,我想用上一页收到的信息自动填充一些字段,但如果他们想调整它,就需要改变它。我正在为有效的 SelectField 使用动态创建的列表,但添加 StringField 不成功。请参阅下面的
我正在尝试使用 Flask、WTForms 和通过 Flask-Bootstrap 提供的宏来读取表单。这在某些情况下有效,而在其他情况下(看似相似的情况)却不起作用。当我检查特定 StringFie
我想知道我是否可以在我的用户文档的设置中添加一个要求来检查特定的字符串。我的想法是,当使用电子邮件地址创建用户文档时,我想确保该电子邮件来自大学,因此它应该以“.edu”结尾例子:“john.doe@
我的数据库是一个 Postgres 实例。我的模型定义为: from app import db class Device(db.Model): __tablename__ = 'device
在 lucene 索引部分,我开始使用 StoredField,其中我不需要索引字段(在我对相同字段使用 StringField 之前)。 这基本上是为了减少一些索引空间。 我正在处理包含 100 万
我有一个 WTForm,其中包含以下内容: class MyForm(FlaskForm): ... timestamp = DateTimeField("Timestamp", de
我对 WTForms、Flask-WTF 比较陌生。我无法弄清楚如何从表单定义中简单地将 HTML5 属性“autofocus”添加到表单字段之一。我想在 Python 代码中这样做,而不是在 Jin
我正在 lucene 索引中搜索完全匹配的文档标题。为实现这一点,我有以下两种替代方法来为将被索引的文档创建字段。 方法一: FieldType _contentFieldType = new Fie
我使用一个多值字段查询我的索引。在索引期间,该字段是使用几个字段创建的,其中一些是 TextField,一些是 StringField。 我遇到的问题是,通过使用带有多个单词的查询来查询索引,我得到了
我将 python 2.7.12 与 pymongo 2.8.1、django 1.11.7、mongoengine 0.9.0 和 mongodb 3.4.10 结合使用。我正在创建一个自定义用户模
我正在尝试使用 postman 测试在 flask 中使用 wtform 创建的表单。在表单中,我有一个 StringFields 的 FieldList,并且指定了最小条目数 = 2。我尝试了不同的
这是我的模型: class F(Form): a = StringField('a', validators = [validators.DataRequired()]) 有没有办法让表单中的
我想通过包含整数的 StringField 对 ClientDataset 进行排序。这些整数用作发票上的项目编号。当我使用简单索引按该字段对 ClientDataset 进行排序时,结果如下: 1
我是一名优秀的程序员,十分优秀!