标签: solrnet

solr搜索字段不存在的文档

如何在SOLR索引中搜索那些不包含指定字段的文档?

lucene solr lucene.net solrnet

33
推荐指数
1
解决办法
3万
查看次数

Solr:长度标准化/ omitNorms = false有什么好处?

我们正在使用Solr搜索各种长度的文章.我们索引描述性元数据(标题,作者,类别,关键字等)和完整的文章文本.我们不会在索引时提高相关性 - 所有提升都是在查询时完成的(我们使用dismax,加上各种qf,pf和bf提升).

目前我们的全文字段使用标准omitNorms = false; 因此,所有其他相同,较短的文章(2-3列英寸文章)通常具有比较长的特征长度(多页)文章更高的相关性.

在我们的案例中,文章长度是相关性的重要指标,因此我正在考虑在我们的全文字段中设置omitNorms = true.

问题:1.为什么默认的lucene/solr行为可以提高较短的字段长度?是什么原因?2.为什么我不想省略游戏?我不需要在此特定字段上提升查询,也不需要在此字段上使用任何类型的分面.

lucene search solr full-text-search solrnet

21
推荐指数
1
解决办法
7582
查看次数

Solr Text字段和String字段 - 不同的搜索行为

我正在研究Solr 4+.

我有几个字段进入我的solr模式,具有不同的solr字段类型.

对文本字段和字符串字段的搜索是否有所不同?

因为我试图搜索字符串字段(这是几个facet字段的复制字段),它不能按预期工作.目标字符串字段被索引并存储.

但是,当我更改文本字段(仅索引)的目标字段时,它工作正常.

你能说出为什么会这样吗?solr中的文本和字符串字段在搜索方面的区别是什么?

lucene solr solrnet solr4

17
推荐指数
1
解决办法
1万
查看次数

Solr中StandardTokenizerFactory和KeywordTokenizerFactory之间的区别?

我是Solr的新手.我想知道何时使用StandardTokenizerFactoryKeywordTokenizerFactory

我阅读了Apache Wiki上的文档,但我没有得到它.

任何人都可以解释StandardTokenizerFactory和KeywordTokenizerFactory之间区别吗?

java solr tokenize solrnet

16
推荐指数
1
解决办法
1万
查看次数

Solr Index似乎有效 - 但不返回任何结果

索尔新手在这里.

我创建了一个Solr索引并将一大堆文档写入其中.我可以从Solr管理页面看到文档存在且架构也很好.但是当我使用测试关键字执行搜索时,我没有得到任何结果.

  1. 进入*:*

    进入查询(在Solr管理页面中)我得到了所有结果.

  2. 但是,当我输入任何其他查询(例如术语或短语)时,我没有得到任何结果.我已经验证正在查询的字段是索引并包含我要搜索的值.

所以我很困惑我做错了什么.

lucene solr lucene.net solrnet

13
推荐指数
1
解决办法
1万
查看次数

在哪里/如何使Solr适合ASP.net MVC应用程序(使用nHibernate/Repository模式)

我目前正处于一个相当大的基于问题/答案的应用程序中(有点像stackoverflow/answerbag.com)我们使用SQL(Azure)和nHibernate进行数据访问,使用MVC进行UI应用程序.

到目前为止,架构大致沿着stackoverflow db的方向,因为我们有一个Post表(包含两个问题/答案)

可能会使用以下存储库接口的内容:

public interface IPostRepository
{
    void PutPost(Post post);
    void PutPosts(IEnumerable<Post> posts);

    void ChangePostStatus(string postID, PostStatus status);

    void DeleteArtefact(string postId, string artefactKey);
    void AddArtefact(string postId, string artefactKey);

    void AddTag(string postId, string tagValue);
    void RemoveTag(string postId, string tagValue);

    void MarkPostAsAccepted(string id);
    void UnmarkPostAsAccepted(string id);

    IQueryable<Post> FindAll();
    IQueryable<Post> FindPostsByStatus(PostStatus postStatus);
    IQueryable<Post> FindPostsByPostType(PostType postType);
    IQueryable<Post> FindPostsByStatusAndPostType(PostStatus postStatus, PostType postType);
    IQueryable<Post> FindPostsByNumberOfReplies(int numberOfReplies);
    IQueryable<Post> FindPostsByTag(string tag);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:在哪里/如何使用solr来更好地查询这些"帖子"(我将使用solrnet与Solr进行实际通信)

理想情况下,我将SQL db用作持久存储 - 上述IQueryable操作的大部分将转移到某种SolrFinder类(或类似的东西)

Body属性是导致当前问题的属性 - 它相当大,并且减慢了对sql的查询.

我的主要问题是,例如,如果有人"更新"帖子 - 例如,添加新标签,则整个帖子将需要重新编制索引.显然,这样做需要这样的查询:

"SELECT*FROM POST …

nhibernate asp.net-mvc solr solrnet

11
推荐指数
2
解决办法
3221
查看次数

如何开始使用Solr.NET

嘿,我想知道如何开始使用Solr.NET甚至基础知识下载哪些文件等等,我检查了网络,但它像每个网站都说不同的东西有些年纪较大,所以只是不确定.

干杯

asp.net solrnet

11
推荐指数
1
解决办法
2万
查看次数

SOLR dataimport 404错误

我在Solr 面临Dataimport问题.如果我称这个链接

HTTP://本地主机:8983/Solr的/ dataimport命令=全进口及洁净= FALSE

显示错误

HTTP错误404

访问/ solr/dataimport时出现问题.原因:

NOT_FOUND
Run Code Online (Sandbox Code Playgroud)

通过此链接,我按照Solr建议执行相同操作

http://wiki.apache.org/solr/DataImportHandler

我的配置如下: -

1.solrconfig.xml中

< requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    < lst name="defaults">
      <str name="config">data-config.xml< /str>
    < /lst>
  < /requestHandler>
Run Code Online (Sandbox Code Playgroud)

2.data-config.xml中(在solrconfig.xml的同一文件夹中)

< dataConfig>
  < dataSource type="JdbcDataSource"
        driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
        url="jdbc:127.0.0.1;databaseName=testsolr"
        user="testsolr"
        password="12345678"/>
  < document name="Product">
    < entity name="Item_ID" query="select Item_ID from item">      
     < /entity>
  < /document>
< /dataConfig>
Run Code Online (Sandbox Code Playgroud)

3.Lib文件夹中(下载了Microsoft JDBC SQL Connector)

我在Lib文件夹中放了"sqljdbc4.jar"文件

之后,我开始solr但仍然得到相同的错误.

任何帮助将不胜感激.

非常感谢.

solr solrnet dataimporthandler

11
推荐指数
2
解决办法
6379
查看次数

数组字段的Solr查询语法

如何在数组字段中搜索?

我使用solr 4.2和默认设置.我使用SolrNet索引了一些html和pdf文档.以下是使用admin搜索进行搜索时此类文档的示例结果*:*

enter code here
<doc>
<str name="id">2</str>
<date name="last_modified">2011-12-19T17:33:25Z</date>
<str name="author">name</str>
<str name="author_s">name</str>
<arr name="title">
  <str>CALIFORNIA CODES</str>
</arr>
<arr name="content_type">
  <str>application/pdf</str>
</arr>
<str name="resourcename">T01041.pdf</str>
<arr name="content">
  <str> PDF text here </str>
</arr>
<long name="_version_">1431314431195742208</long>
</doc>
Run Code Online (Sandbox Code Playgroud)

使用content:*返回0结果进行搜索.

solr solrnet solr-query-syntax

11
推荐指数
1
解决办法
2万
查看次数

在Solr中使用多值字段排序

我有一个Solr索引,可以在每个产品的多值字段中存储Price.

我需要按价格对结果集进行排序,其中价格从低到高,从高到低.

我尝试使用Price它显示错误排序您无法对多值=真实字段进行排序.

下面是我的solr XML

<arr name="sellprice">
<float>195.0</float>
<float>136.5</float>
<float>10.0</float>
</arr>
Run Code Online (Sandbox Code Playgroud)

在schema.xml中

 <field name="sellprice" type="float" indexed="true" stored="true" multiValued="true"/>
Run Code Online (Sandbox Code Playgroud)

在C#代码中

ISolrQueryResults<ProductTest2> powerArticles = solr.Query(new
SolrQuery("WebCategory_Id:10") && new SolrQueryInList("FilterID",
    146), new QueryOptions { FilterQueries = new[] { new
SolrQueryByRange<decimal>("sellprice", 10, 40) }, OrderBy = new[] {
    new SolrNet.SortOrder(sellprice, desc) } });
Run Code Online (Sandbox Code Playgroud)

有人可以用一些好的例子解释一下吗?

lucene solr solrnet

10
推荐指数
1
解决办法
1万
查看次数