小编Cha*_*ell的帖子

Lucene.Net:如何在搜索结果中添加日期过滤器?

我让我的搜索者工作得非常好,但它确实会返回过时的结果.我的网站很像NerdDinner,过去的事件变得无关紧要.

我目前正在编写这样的
注释:我的例子是在VB.NET中,但我不在乎是否在C#中给出了示例

    Public Function AddIndex(ByVal searchableEvent As [Event]) As Boolean Implements ILuceneService.AddIndex

        Dim writer As New IndexWriter(luceneDirectory, New StandardAnalyzer(), False)

        Dim doc As Document = New Document

        doc.Add(New Field("id", searchableEvent.ID, Field.Store.YES, Field.Index.UN_TOKENIZED))
        doc.Add(New Field("fullText", FullTextBuilder(searchableEvent), Field.Store.YES, Field.Index.TOKENIZED))
        doc.Add(New Field("user", If(searchableEvent.User.UserName = Nothing,
                                     "User" & searchableEvent.User.ID,
                                     searchableEvent.User.UserName),
                                 Field.Store.YES,
                                 Field.Index.TOKENIZED))
        doc.Add(New Field("title", searchableEvent.Title, Field.Store.YES, Field.Index.TOKENIZED))
        doc.Add(New Field("location", searchableEvent.Location.Name, Field.Store.YES, Field.Index.TOKENIZED))
        doc.Add(New Field("date", searchableEvent.EventDate, Field.Store.YES, Field.Index.UN_TOKENIZED))

        writer.AddDocument(doc)

        writer.Optimize()
        writer.Close()
        Return True

    End Function
Run Code Online (Sandbox Code Playgroud)

请注意我有一个存储事件日期的"日期"索引.

我的搜索看起来像这样

''# code omitted
        Dim reader As IndexReader …
Run Code Online (Sandbox Code Playgroud)

.net language-agnostic lucene.net

7
推荐指数
2
解决办法
6958
查看次数

ASP.NET:如何在没有任何子域的情况下获取域名?

我一直在这里搜索,但似乎无法找到这个问题的答案.我有一点时间搞清楚是否有一种方法可以让我只是主要的域名HttpContext.Current.Request.Url

例子:

http://www.example.com > example.com
http://test.example.com > example.com
http://example.com >example.com

提前致谢.

编辑

只是为了澄清一下.这仅适用于我自己的域,不会在现有的每个域上使用.
目前我需要处理三个后缀.

  • .COM
  • .CA
  • .本地

.net dns

7
推荐指数
1
解决办法
4366
查看次数

如何在没有.Compile()的情况下从MemberExpression获取属性值?

我试图在不使用.Compile()的情况下从表达式树中获取对象的值时遇到问题

对象很简单.

var userModel = new UserModel { Email = "John@Doe.com"};
Run Code Online (Sandbox Code Playgroud)

给我问题的方法看起来像这样.

private void VisitMemberAccess(MemberExpression expression, MemberExpression left)
{
    var key = left != null ? left.Member.Name : expression.Member.Name;
    if (expression.Expression.NodeType.ToString() == "Parameter")
    {
        // add the string key
        _strings.Add(string.Format("[{0}]", key));
    }
    else
    {
        // add the string parameter
        _strings.Add(string.Format("@{0}", key));

        // Potential NullReferenceException
        var val = (expression.Member as FieldInfo).GetValue((expression.Expression as ConstantExpression).Value);

        // add parameter value
        Parameters.Add("@" + key, val);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在运行的测试非常简单

[Test]  // PASS
public void ShouldVisitExpressionByGuidObject () …
Run Code Online (Sandbox Code Playgroud)

c# expression-trees

7
推荐指数
1
解决办法
9606
查看次数

SQL重置已填充表中的标识ID

大家好.我的数据库中有一个表,里面有大约一千条记录.我想重置标识列,以便所有ID再次顺序.我在看这个,但我认为它只适用于空桌子

当前表

ID    |    Name
1           Joe
2           Phil
5           Jan
88          Rob
Run Code Online (Sandbox Code Playgroud)

所需的表

ID    |    Name
1           Joe
2           Phil
3           Jan
4           Rob
Run Code Online (Sandbox Code Playgroud)

提前致谢

sql identity-column

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

Request.Browser.Platform不返回iPad,OSX或Windows7

我正在进行一些高级浏览器检测,我从CodePlex 下载了MDBF浏览器文件.

不幸的是,我的Request.Browser.Platform以及其他一些东西在我的iPad Mac OSX(Snow Leopard)和Windows7上都返回"Unknown"

有没有人知道一个好的高级.browser文件,对于非移动设备做同样的事情,就像MDBF对移动设备一样?

asp.net browser-detection

6
推荐指数
1
解决办法
9281
查看次数

Lucene.Net:如何为术语增加额外的权重?

我的索引器索引帖子的标题和正文,但是我希望帖子标题中包含的单词能够承载更多的权重,因此浮动到结果的顶部.

如何在标题词中添加额外的重量?

.net lucene.net

6
推荐指数
1
解决办法
1847
查看次数

如何使用Html Agility Pack超时请求

我正在向当前处于脱机状态的远程Web服务器发出请求(故意).

我想找出超时请求的最佳方法.基本上,如果请求的运行时间超过"X"毫秒,则退出请求并返回null响应.

目前网络请求只是坐在那里等待响应.....

我怎样才能最好地解决这个问题?

这是一个当前的代码片段

    public JsonpResult About(string HomePageUrl)
    {
        Models.Pocos.About about = null;
        if (HomePageUrl.RemoteFileExists())
        {
            // Using the Html Agility Pack, we want to extract only the
            // appropriate data from the remote page.
            HtmlWeb hw = new HtmlWeb();
            HtmlDocument doc = hw.Load(HomePageUrl);
            HtmlNode node = doc.DocumentNode.SelectSingleNode("//div[@class='wrapper1-border']");

            if (node != null)
            { 
                about = new Models.Pocos.About { html = node.InnerHtml };
            }
                //todo: look into whether this else statement is necessary
            else 
            {
                about = null; …
Run Code Online (Sandbox Code Playgroud)

.net c# timeout html-agility-pack asp.net-mvc-3

6
推荐指数
3
解决办法
4752
查看次数

如何在OS X或Webstorm中自动缩小JS和CSS?

我根据我正在做的事情使用两个不同的IDE.我的主要IDE是Visual Studio,我使用Chirpy来混搭和缩小我的代码.它完美无瑕,我喜欢它.问题是,当我不在我的Windows机器上时,我无法访问它.

不使用Visual Studio时,我通常会在Macbook Pro上的Webstorm中编写Javascript应用程序.这就是问题所在.我没有找到一个Webstorm插件或任何其他应用程序,我可以配置来观看我的脚本并混搭/缩小它们.

Mac用户如何在设计时以最小的努力混合/缩小您的JS和CSS?

javascript css ide macos

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

如何在我的Xamarin应用程序中使用Holo Light主题

我正在尝试让我的应用程序使用Holo.Light主题.我为Holo创建了一个自定义主题并将其放入

资源的开发\值-V11\FsmTheme.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <style name="FsmTheme" parent="@android:style/Theme.Holo.Light">
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

我还为旧版本创建了一个并将其放入

资源的开发\值\ FsmTheme.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <style name="FsmTheme" parent="@android:style/Theme.Light.NoTitleBar">
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

然后我把它添加到我的 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionCode="001" android:versionName="001" package="futurestate.app.droid">
    <uses-sdk android:minSdkVersion="12" android:targetSdkVersion="14" />
    <application android:label="FutureState App Demo" android:icon="@drawable/Icon" Theme="@style/FsmTheme" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>
Run Code Online (Sandbox Code Playgroud)

我不确定我还需要做些什么才能让主题在应用程序中占据一席之地.

在此输入图像描述

android android-theme xamarin

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

GridView(RadGrid)和自定义分页

好的,所以我试图让我的自定义分页在Telerik RadGrid上进行(类似于asp:Gridview),但我仍然在打墙.(我的问题的第一部分在这里得到了回答)

所以我已经实施了这个建议.我使用以下存储过程

ALTER PROCEDURE [dbo].[bt_HealthMonitor_GetAll]
(
    @StartRowIndex      int,
    @MaximumRows        int
)

AS
SET NOCOUNT ON

Select
RowNum,
[ID],
[errEx],
[errURL],
[errSource],
[errUser],
[errMessage],
[errIP],
[errBrowser],
[errOS],
[errStack],
[errDate],
[errNotes]
From
(
Select
    [ID],
    [errEx],
    [errURL],
    [errSource],
    [errUser],
    [errMessage],
    [errIP],
    [errBrowser],
    [errOS],
    [errStack],
    [errDate],
    [errNotes],
    Row_Number() Over(Order By [ID]) As RowNum
    From dbo.[bt_HealthMonitor] t
) 
As DerivedTableName
Where RowNum Between @StartRowIndex And (@StartRowIndex + @MaximumRows)

Order By [ID] Desc
Run Code Online (Sandbox Code Playgroud)

然后另一个存储过程来获取记录计数

ALTER PROCEDURE [dbo].[bt_HealthMonitor_GetRecordCount]

AS
SET NOCOUNT …
Run Code Online (Sandbox Code Playgroud)

telerik radgrid custom-paging

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