solr查询与空白和wildcar字符

时间:2013-03-25 09:54:27

标签: solr

我有一个名为'allnames'的solr字段 - 键入字符串,其值类似于'JOHN SMITH'等等。

当我用通配符

编写此查询时

q=allnames:JO*

它运作正常,我得到的回应是我想要的约翰·史密斯,乔纳森·伦敦等等

但如果我写

q=allnames:JOHN S*

我的结果为零。哪里可能是问题

2 个答案:

答案 0 :(得分:1)

您需要在SOlr查询中转义特殊字符。

Here是Lucene对特殊字符的定义。

尝试使用

进行搜索
q=allnames:JOHN\ S*

注意空格前的反斜杠。

答案 1 :(得分:0)

只需处理查询中的空间。 使用这个:

[TestMethod]
public void AddInstrumentInfo_Added_IsTrue()
{
    InstrumentInfo info = FakeFactory.GetInstrumentInfo();
    using (var ctx = new TransactionsContext())
    {
        ctx.InstrumentInfos.Add(info);
        ctx.SaveChanges();
    }
}

代替:

q=allnames:JOHN\ S*