You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by Matt Diehl <ma...@etnstudio.com.INVALID> on 2017/05/03 16:19:02 UTC

lucene.search.highlight conversion

Hi,

Has anyone converted this yet? I pulled from the latest checked-in branch
and was working on getting this compiling. Most of the conversion is
adding/removing "()" and changing 'count' to 'size' and removing 'get' from
function names. I've not worked with this before, and I have a question.

if (fieldName != null)
{
    fieldName = StringHelper.Intern(fieldName);
}

I keep seeing the the above call. It seems like some sort of
sanity-cleaning funciton that takes a string and returns a string. It
doesn't really exist though (and doesn't exist in Java Lucene from my
searching). Can someone help me?

Thanks,
Matt

Re: lucene.search.highlight conversion

Posted by Matt Diehl <ma...@etnstudio.com.INVALID>.
Thanks Shad

On Wed, May 3, 2017 at 2:54 PM, Shad Storhaug <sh...@shadstorhaug.com> wrote:

> Matt,
>
>
>
> I don’t believe that it will work. You can open the project and edit the
> code, but it won’t build or run tests. Certainly, it would work well for
> fixing up XML documentation comments. Both the .NET Framework and .NET Core
> sides have been setup to use some of the newer tooling in the .NET Core SDK
> to restore and build with, which requires VS 2015 to work.
>
>
>
> That said, it is works fine with VS 2015 Community Edition, which has a
> free license for open source projects such as Lucene.Net. It also works in
> VS 2017 Community Edition. In both cases, you will need the NUnit 3 Test
> Adapter in order to run the tests in Test Explorer.
>
>
>
> The Lucene.Net.sln file is for .NET Framework, and Lucene.Net.Portable.sln
> is for .NET Core. Normally, I get everything working in .NET Framework
> first, get the tests passing, etc., then add the project.json, .xproj, and
> other bits that are required to get it working in .NET Core.
>
>
>
> Shad
>
>
>
> *From:* Matt Diehl [mailto:matt@etnstudio.com]
> *Sent:* Thursday, May 4, 2017 3:21 AM
> *To:* Shad Storhaug
> *Cc:* dev@lucenenet.apache.org
> *Subject:* Re: lucene.search.highlight conversion
>
>
>
> Thanks Shad.
>
>
>
> I will wait to see the beta when it is released. I'm not sure how useful I
> will be yet since I only have VisualStudio 2013; I see the basic
> requirements are VS 2015. Does anyone else successfully use 2013 with this
> endeavor?
>
>
>
> Matt
>
>
>
> On Wed, May 3, 2017 at 11:19 AM, Shad Storhaug <sh...@shadstorhaug.com>
> wrote:
>
> Matt,
>
> This is one of the interesting things with working on a Java port such as
> this - you pick up a few things about .NET that you didn't already know.
>
> String interning is an optimization that minimizes the memory needed to
> store strings. It essentially ensures that if you have 2 or more strings
> with the same value, they only appear once in RAM.
> https://msdn.microsoft.com/en-us/library/system.string.
> intern(v=vs.110).aspx
>
> As for why they are used in .NET but not Java, I suspect that someone saw
> an opportunity to make an optimization by using interning. That said, you
> might want to review to make sure it is doing what it is supposed to do.
>
> FYI - Highlighter was ported several months ago on pull request #191 (
> https://github.com/apache/lucenenet/pull/191), which was merged to master
> last week. If you need to use it, it is available now on our CI feed (
> https://www.myget.org/gallery/lucene-net-ci). Pending a release vote, we
> will have a beta up on NuGet in a couple of days.
>
> That said, we still have some missing pieces - see our contributing page
> for the current status: https://github.com/apache/lucenenet/blob/master/
> CONTRIBUTING.md. If you want to help out we certainly would appreciate
> it. The most pressing issues are some flakey tests and fixing documentation
> comments - and of course we could use some help getting it setup to
> generate the documentation. But there are also some modules to port and
> command-line tools to build into executables, if you are interested.
>
> Thanks,
> Shad Storhaug (NightOwl888)
>
>
>
> -----Original Message-----
> From: Matt Diehl [mailto:matt@etnstudio.com.INVALID]
> Sent: Wednesday, May 3, 2017 11:19 PM
> To: dev@lucenenet.apache.org
> Subject: lucene.search.highlight conversion
>
> Hi,
>
> Has anyone converted this yet? I pulled from the latest checked-in branch
> and was working on getting this compiling. Most of the conversion is
> adding/removing "()" and changing 'count' to 'size' and removing 'get' from
> function names. I've not worked with this before, and I have a question.
>
> if (fieldName != null)
> {
>     fieldName = StringHelper.Intern(fieldName); }
>
> I keep seeing the the above call. It seems like some sort of
> sanity-cleaning funciton that takes a string and returns a string. It
> doesn't really exist though (and doesn't exist in Java Lucene from my
> searching). Can someone help me?
>
> Thanks,
> Matt
>
>
>

RE: lucene.search.highlight conversion

Posted by Shad Storhaug <sh...@shadstorhaug.com>.
Matt,

I don’t believe that it will work. You can open the project and edit the code, but it won’t build or run tests. Certainly, it would work well for fixing up XML documentation comments. Both the .NET Framework and .NET Core sides have been setup to use some of the newer tooling in the .NET Core SDK to restore and build with, which requires VS 2015 to work.

That said, it is works fine with VS 2015 Community Edition, which has a free license for open source projects such as Lucene.Net. It also works in VS 2017 Community Edition. In both cases, you will need the NUnit 3 Test Adapter in order to run the tests in Test Explorer.

The Lucene.Net.sln file is for .NET Framework, and Lucene.Net.Portable.sln is for .NET Core. Normally, I get everything working in .NET Framework first, get the tests passing, etc., then add the project.json, .xproj, and other bits that are required to get it working in .NET Core.

Shad

From: Matt Diehl [mailto:matt@etnstudio.com]
Sent: Thursday, May 4, 2017 3:21 AM
To: Shad Storhaug
Cc: dev@lucenenet.apache.org
Subject: Re: lucene.search.highlight conversion

Thanks Shad.

I will wait to see the beta when it is released. I'm not sure how useful I will be yet since I only have VisualStudio 2013; I see the basic requirements are VS 2015. Does anyone else successfully use 2013 with this endeavor?

Matt

On Wed, May 3, 2017 at 11:19 AM, Shad Storhaug <sh...@shadstorhaug.com>> wrote:
Matt,

This is one of the interesting things with working on a Java port such as this - you pick up a few things about .NET that you didn't already know.

String interning is an optimization that minimizes the memory needed to store strings. It essentially ensures that if you have 2 or more strings with the same value, they only appear once in RAM. https://msdn.microsoft.com/en-us/library/system.string.intern(v=vs.110).aspx

As for why they are used in .NET but not Java, I suspect that someone saw an opportunity to make an optimization by using interning. That said, you might want to review to make sure it is doing what it is supposed to do.

FYI - Highlighter was ported several months ago on pull request #191 (https://github.com/apache/lucenenet/pull/191), which was merged to master last week. If you need to use it, it is available now on our CI feed (https://www.myget.org/gallery/lucene-net-ci). Pending a release vote, we will have a beta up on NuGet in a couple of days.

That said, we still have some missing pieces - see our contributing page for the current status: https://github.com/apache/lucenenet/blob/master/CONTRIBUTING.md. If you want to help out we certainly would appreciate it. The most pressing issues are some flakey tests and fixing documentation comments - and of course we could use some help getting it setup to generate the documentation. But there are also some modules to port and command-line tools to build into executables, if you are interested.

Thanks,
Shad Storhaug (NightOwl888)


-----Original Message-----
From: Matt Diehl [mailto:matt@etnstudio.com.INVALID<ma...@etnstudio.com.INVALID>]
Sent: Wednesday, May 3, 2017 11:19 PM
To: dev@lucenenet.apache.org<ma...@lucenenet.apache.org>
Subject: lucene.search.highlight conversion

Hi,

Has anyone converted this yet? I pulled from the latest checked-in branch and was working on getting this compiling. Most of the conversion is adding/removing "()" and changing 'count' to 'size' and removing 'get' from function names. I've not worked with this before, and I have a question.

if (fieldName != null)
{
    fieldName = StringHelper.Intern(fieldName); }

I keep seeing the the above call. It seems like some sort of sanity-cleaning funciton that takes a string and returns a string. It doesn't really exist though (and doesn't exist in Java Lucene from my searching). Can someone help me?

Thanks,
Matt


Re: lucene.search.highlight conversion

Posted by Matt Diehl <ma...@etnstudio.com.INVALID>.
Thanks Shad.

I will wait to see the beta when it is released. I'm not sure how useful I
will be yet since I only have VisualStudio 2013; I see the basic
requirements are VS 2015. Does anyone else successfully use 2013 with this
endeavor?

Matt

On Wed, May 3, 2017 at 11:19 AM, Shad Storhaug <sh...@shadstorhaug.com>
wrote:

> Matt,
>
> This is one of the interesting things with working on a Java port such as
> this - you pick up a few things about .NET that you didn't already know.
>
> String interning is an optimization that minimizes the memory needed to
> store strings. It essentially ensures that if you have 2 or more strings
> with the same value, they only appear once in RAM.
> https://msdn.microsoft.com/en-us/library/system.string.
> intern(v=vs.110).aspx
>
> As for why they are used in .NET but not Java, I suspect that someone saw
> an opportunity to make an optimization by using interning. That said, you
> might want to review to make sure it is doing what it is supposed to do.
>
> FYI - Highlighter was ported several months ago on pull request #191 (
> https://github.com/apache/lucenenet/pull/191), which was merged to master
> last week. If you need to use it, it is available now on our CI feed (
> https://www.myget.org/gallery/lucene-net-ci). Pending a release vote, we
> will have a beta up on NuGet in a couple of days.
>
> That said, we still have some missing pieces - see our contributing page
> for the current status: https://github.com/apache/lucenenet/blob/master/
> CONTRIBUTING.md. If you want to help out we certainly would appreciate
> it. The most pressing issues are some flakey tests and fixing documentation
> comments - and of course we could use some help getting it setup to
> generate the documentation. But there are also some modules to port and
> command-line tools to build into executables, if you are interested.
>
> Thanks,
> Shad Storhaug (NightOwl888)
>
>
> -----Original Message-----
> From: Matt Diehl [mailto:matt@etnstudio.com.INVALID]
> Sent: Wednesday, May 3, 2017 11:19 PM
> To: dev@lucenenet.apache.org
> Subject: lucene.search.highlight conversion
>
> Hi,
>
> Has anyone converted this yet? I pulled from the latest checked-in branch
> and was working on getting this compiling. Most of the conversion is
> adding/removing "()" and changing 'count' to 'size' and removing 'get' from
> function names. I've not worked with this before, and I have a question.
>
> if (fieldName != null)
> {
>     fieldName = StringHelper.Intern(fieldName); }
>
> I keep seeing the the above call. It seems like some sort of
> sanity-cleaning funciton that takes a string and returns a string. It
> doesn't really exist though (and doesn't exist in Java Lucene from my
> searching). Can someone help me?
>
> Thanks,
> Matt
>

RE: lucene.search.highlight conversion

Posted by Shad Storhaug <sh...@shadstorhaug.com>.
Matt,

This is one of the interesting things with working on a Java port such as this - you pick up a few things about .NET that you didn't already know.

String interning is an optimization that minimizes the memory needed to store strings. It essentially ensures that if you have 2 or more strings with the same value, they only appear once in RAM. https://msdn.microsoft.com/en-us/library/system.string.intern(v=vs.110).aspx

As for why they are used in .NET but not Java, I suspect that someone saw an opportunity to make an optimization by using interning. That said, you might want to review to make sure it is doing what it is supposed to do.

FYI - Highlighter was ported several months ago on pull request #191 (https://github.com/apache/lucenenet/pull/191), which was merged to master last week. If you need to use it, it is available now on our CI feed (https://www.myget.org/gallery/lucene-net-ci). Pending a release vote, we will have a beta up on NuGet in a couple of days.

That said, we still have some missing pieces - see our contributing page for the current status: https://github.com/apache/lucenenet/blob/master/CONTRIBUTING.md. If you want to help out we certainly would appreciate it. The most pressing issues are some flakey tests and fixing documentation comments - and of course we could use some help getting it setup to generate the documentation. But there are also some modules to port and command-line tools to build into executables, if you are interested.

Thanks,
Shad Storhaug (NightOwl888)


-----Original Message-----
From: Matt Diehl [mailto:matt@etnstudio.com.INVALID] 
Sent: Wednesday, May 3, 2017 11:19 PM
To: dev@lucenenet.apache.org
Subject: lucene.search.highlight conversion

Hi,

Has anyone converted this yet? I pulled from the latest checked-in branch and was working on getting this compiling. Most of the conversion is adding/removing "()" and changing 'count' to 'size' and removing 'get' from function names. I've not worked with this before, and I have a question.

if (fieldName != null)
{
    fieldName = StringHelper.Intern(fieldName); }

I keep seeing the the above call. It seems like some sort of sanity-cleaning funciton that takes a string and returns a string. It doesn't really exist though (and doesn't exist in Java Lucene from my searching). Can someone help me?

Thanks,
Matt