【问题标题】:Need help with small Solr problem需要帮助解决小 Solr 问题
【发布时间】:2010-02-01 17:23:25
【问题描述】:

我有一个字符串字段,用于存储两个单词的区域名称。 例如:New York

问题是,每当我尝试查询该字段 (area:New York) 时,都不会出现任何结果,即使它的存储方式与纽约完全相同。

这是为什么?

如果我这样搜索,结果会出现:area:"New York",但如果这样搜索,它们不会出现:area:New。

有什么想法吗?

这是 schema.xml 文件中的字段定义:

  <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
  <field name="area" type="string" indexed="true" stored="true" omitNorms="true"/>

如果您需要更多信息,请告诉我!

谢谢

更新

   $fq.=" + area:$state";

我正在发送这个,Solr 将这个作为 state (New York) 内部的变量接收...

我怎样才能重写它,以便将变量发送为“New York”(带双引号)...?

【问题讨论】:

    标签: java php sql mysql database


    【解决方案1】:

    可能与保留关键字New 发生冲突您是否尝试过使用不同的两个单词区域(例如Las Vegas)检索类似的结果?

    此外,如果 area 字段期望 String 始终在变量周围使用引号。

    编辑:

    我没有任何使用 SOLR 的经验,但假设 area:$state 持有 New York,我会尝试在我的代码中插入引号,如下所示:

    $fq.=" + area:\"$state\" ";
    

    这可能不正确,但它可以帮助您指出正确的方向。

    【讨论】:

    • 你能告诉我我应该如何用双引号发送这个变量,查看我的更新了解详情!
    • 现在是正确的,我将发布一个关于报价的新 Q.. 谢谢
    • 我不确定New York 的值在哪里,可能是area:$state 或只是$state 本身,但我希望它有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多