Hi, 

Thank you for your feedback. I am interested in Lucene Phonetic feature. And 
what I found that Lucene is providing this feature by default. But the 
Lucene.Net documentation is extremely lacking and I've been trying to figure 
out how to make use of the Lucene.Net. I want to know how I can I use this 
feature (syntax wise). What nugget packages, analyzer and namespaces I required 
in order to implement this feature.

Thanks!

Hassan Iftikhar
Software Engineer, R&D
m: +92 (0) 300 064 9845
w: www.enghouseinteractive.com
e: hassan.iftik...@enghouse.com

As the world responds to the Covid-19 outbreak, Enghouse is committed to doing 
its part to support organisations' risk management efforts. 
We are providing temporary licences of our secure cloud-based communications 
platform at no cost to your organisation.




-----Original Message-----
From: Shad Storhaug <s...@shadstorhaug.com> 
Sent: Thursday, March 25, 2021 3:35 PM
To: Hassan Iftikhar <hassan.iftik...@enghouse.com>
Cc: user@lucenenet.apache.org
Subject: RE: Lusene.Net | .Net | SQL Server | Databases

Hi Hassan,

Near-real-time search works by reusing the same IndexWriter for all clients - 
you keep a singleton instance of IndexWriter which all clients write to. Then, 
if a client needs to search use DirectoryReader.Open(IndexWriter, bool) to get 
an NRT reader with a "live" view of the data that was recently written to the 
IndexWriter. This will scale well to many clients.

https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flucenenet.apache.org%2Fdocs%2F4.8.0-beta00013%2Fapi%2Fcore%2FLucene.Net.Search.IndexSearcher.html&amp;data=04%7C01%7Chassan.iftikhar%40enghouse.com%7C49fa5d571a614ca9fef908d8ef79a78f%7C427e40023c0240489e280eba58b331f4%7C1%7C0%7C637522653080297734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=v%2BRNvvVU6R8c%2B4NzJmvtsQAX9ZOsqU9rXGHvI7Ok8Zg%3D&amp;reserved=0

It assumes that your application can write the data to the singleton 
IndexWriter in the same transaction it writes to your database.

If you have clients who are writing the data to the database that you cannot 
control, then one option is to setup a batch to update your index (on a 
schedule, or in a queue). You could still use NRT for some of your clients, but 
the data that is written directly will be delayed for as long as the batch 
process takes to update your index. You will need to create some way to keep 
track of which records were added, updated, or deleted in your database so you 
can make the appropriate equivalent action on the IndexWriter.

Of course, with NRT a better option is to eliminate the possibility of someone 
writing directly to the database without going through an application that 
updates the index.

Frankly, it sounds unusual to need near-real-time search in addition to having 
people do manual updates to the data without going through an application. The 
former generally assumes the latter will never happen because the need to 
search immediately is worth the cost of full automation. On the other hand, if 
you don't have full automation it is unlikely you need near-real-time search 
and updating your index in batches or even during off-peak hours would be fine.

Thanks,
Shad Storhaug (NightOwl888)
Project Chairperson - Apache Lucene.NET


-----Original Message-----
From: Hassan Iftikhar <hassan.iftik...@enghouse.com.INVALID> 
Sent: Thursday, March 25, 2021 3:17 PM
To: user@lucenenet.apache.org
Subject: RE: Lusene.Net | .Net | SQL Server | Databases

Hi Shad,

As Lucene.Net is a general purpose library and it has nothing to do with data 
sources like SQL Server, SQLite, etc. It only knows you have a Lucene document 
that you want indexed. So when we dump data to Lucene.Net from any data source. 
How can we make Lucene.Net documents up to date as the data is in SQL 
Database(For example). One way to keep both data, i.e. (Lucene.Net and SQL) 
sync is to continually update the Lucene index during each database update. We 
also know that there is a possibility that someone can made manually changes to 
SQL database, in that scenario how we can update Lucene indexes?

Thanks,

Regards,
Hassan Iftikhar
Software Engineer, R&D
m: +92 (0) 300 064 9845
w: 
https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.enghouseinteractive.com%2F&amp;data=04%7C01%7Chassan.iftikhar%40enghouse.com%7C49fa5d571a614ca9fef908d8ef79a78f%7C427e40023c0240489e280eba58b331f4%7C1%7C0%7C637522653080297734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=vehPkhvOJgoKo2BmWsdiWcl2wDHnm4e9RdfypDzN4fs%3D&amp;reserved=0
e: hassan.iftik...@enghouse.com

As the world responds to the Covid-19 outbreak, Enghouse is committed to doing 
its part to support organisations' risk management efforts. 
We are providing temporary licences of our secure cloud-based communications 
platform at no cost to your organisation.




-----Original Message-----
From: Shad Storhaug <s...@shadstorhaug.com> 
Sent: Wednesday, March 24, 2021 1:21 AM
To: user@lucenenet.apache.org
Subject: RE: Lusene.Net | .Net | SQL Server | Databases

Hello Hassan,

While you might extend the Directory class to provide a "native" communication 
channel with another data storage medium other than the file system, you will 
quickly find out how challenging such a task is, and there will always be a 
high price to pay in terms of performance.

Basically, there are a few different ways people deal with data from a database 
but most of the time you have to accept that some data will be duplicated 
between the database and Lucene, but the risk of that duplication can be 
reduced/eliminated by applying automation. The exact solution depends on how 
much data there is and how often it needs to be refreshed.

1. Make indexing part of the deployment process so the most current copy of the 
search index is the deployment date.
2. Design a custom job to update the index at specified intervals.
3. Use Lucene's near real-time search (NRT) feature to continually update the 
Lucene index during each database update and keep a "live" view of the data in 
search.

There might be other solutions, but these are generally the best options for 
most scenarios.

Thanks,
Shad Storhaug (NightOwl888)
Project Chairperson - Apache Lucene.NET

-----Original Message-----
From: Ron.Git <ron....@giftoasis.com> 
Sent: Tuesday, March 23, 2021 7:49 PM
To: user@lucenenet.apache.org
Subject: RE: Lusene.Net | .Net | SQL Server | Databases

Lucene is a general purpose indexing and search library.  As such it is not 
concerned with where the data comes from.  When that data comes from a sql 
database, developers typically use their normal approach to retrieve the data 
from the sql database an then use that data to populate a Lucene document for 
indexing.  Lucene itself has no knowledge of where the data came from.  It only 
knows you have a Lucene document that you want indexed.

-Ron



-----Original Message-----
From: Hassan Iftikhar [mailto:hassan.iftik...@enghouse.com.INVALID]
Sent: Tuesday, March 23, 2021 5:07 AM
To: user@lucenenet.apache.org
Subject: RE: Lusene.Net | .Net | SQL Server | Databases

Hi, 

Hope you guys are doing well. Thanks for the feedback for my last email. Now I 
have another query regarding data sources.

I want to know how Lucene.Net communicate with data sources i.e. with existing 
SQL Server database. As I mentioned earlier we will be using Lucene.Net in 
existing .Net Server/Client applications. So I am interested to know how we can 
take the advantage of Lucene.Net with existing SQL server/ SQLite Database?

Thanks in advance!

Regards,
Hassan Iftikhar
Software Engineer, R&D
m: +92 (0) 300 064 9845
w: 
https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.enghouseinteractive.com%2F&amp;data=04%7C01%7Chassan.iftikhar%40enghouse.com%7C49fa5d571a614ca9fef908d8ef79a78f%7C427e40023c0240489e280eba58b331f4%7C1%7C0%7C637522653080297734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=vehPkhvOJgoKo2BmWsdiWcl2wDHnm4e9RdfypDzN4fs%3D&amp;reserved=0
e: hassan.iftik...@enghouse.com

As the world responds to the Covid-19 outbreak, Enghouse is committed to doing 
its part to support organisations' risk management efforts. 
We are providing temporary licences of our secure cloud-based communications 
platform at no cost to your organisation.




-----Original Message-----
From: roncl...@giftoasis.com <roncl...@giftoasis.com>
Sent: Wednesday, March 17, 2021 7:29 PM
To: user@lucenenet.apache.org
Subject: RE: Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

Hi Hassan,

 

Thanks for your interest in Lucene.Net.  I am a recent contributor to the 
Lucene.Net 4.8 project and will do my best to answer your questions.

 

1)    Lucene.Net 3.0.3 is from some time ago so it makes sense that it
doesn't specifically target a newer version of the .Net 4.x framework.
However, if it's documented to support .Net Framework 4.0 it's very likely it 
will work on 4.61 since .Net Frameworks are generally backward compatible 
especially for the major version.  

2)    Lucenet.Net 4.8 which is currently in release Beta 13 supports both
the .Net Full Framework 4.5 and supports NetStandard2.0, NetStandard2.1.  As 
such it is compatible with .Net Core 2.0 or higher.

3)    Each Lucene.Net version attempts to be a faithful port of the
functionality in the corresponding Java Lucene version.  This is largely 
accomplished by porting the project from Java to C# on a line by line basis.
However, occasionally a few features and bug fixes are pulled in from later 
versions.  In general anything you read online about Java Lucene 3.0.3 will be 
accurate for Lucene.Net 3.0.3 and anything you read online about Java Lucene 
4.8 will be accurate about Lucene.Net 4.8.  Also note that while Lucene.Net 4.8 
may seem like it's version number is far behind the current Java version which 
is version 8.8, the reality is that the version 4.8 contains the _vast_ 
majority of features found in 8.8 because the big change (and multi-year 
effort) for Lucene came in version 4.0 when codecs were introduced.  Since then 
the features added per release have been much more modest and the releases much 
more frequent, hence the rapid escalation in version number.

4)    Lucene 4.8 can be used on the latest Full Framework and on the latest
.Net Core Framework.  More specifically, yes - Lucene.Net 4.8 is fully 
compatible with .Net5.  I personally use it with .Net5.  Lucene.Net 4.8 is in 
beta but I believe some people do use it in production as it has been extremely 
stable for a very long time and has a large number of unit tests ported from 
Java Lucene which are must pass before commits are added to the project.  Some 
in the LuceneNet developer community have even stated that they think 4.8 is 
already more solid then 3.0.3 given that the earlier version did not have the 
extensive unit tests to ensure accuracy of the port.  Lucene.Net 4.8 is 
actively being worked on with a goal to getting it to final release.  If you 
have any time to donate we'd welcome your help in polishing this version of 
LuceneNet.

 

Best,

 

Ron Clabo

rclabo on Github.

 

From: Hassan Iftikhar [mailto:hassan.iftik...@enghouse.com.INVALID]
Sent: Wednesday, March 17, 2021 7:58 AM
To: user@lucenenet.apache.org
Subject: Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

 

Hi,

 

I am new at Lucene.Net and exploring it now a days to use it in our products. 
Here I have some questions to ask:

 

1.      Can we use Lucene.Net in .Net framework 4.6.1? As the stable version
of Lucene.Net is 3.0.3 and from your website what can I see that it supports 
till .Net Framework 4.0.

2.      Can we use Lucene.Net in .Net Core? Because there is nothing
information on your website related to support for Lucene.Net for .Net core.

3.      Is Lucene.Net providing the same set of features as compare to
Lucene for Java?

4.      Can we use Lucene.Net in .Net5 i.e. on latest .Net frameworks?

 

Regards,

Hassan Iftikhar

Software Engineer, R&D

m: +92 (0) 300 064 9845

w:
<https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.enghou
seinteractive.com%2F&amp;data=04%7C01%7CHassan.Iftikhar%40enghouse.com%7C3c0
3eeefda9448a3229f08d8e951310e%7C427e40023c0240489e280eba58b331f4%7C1%7C0%7C6
37515882219503948%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz
IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=g%2BHSNyUoxQc9TZCt20NnNw96
puSdxWNBuiE372d7HMc%3D&amp;reserved=0>
https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.enghous
einteractive.com%2F&amp;data=04%7C01%7CHassan.Iftikhar%40enghouse.com%7C3c03
eeefda9448a3229f08d8e951310e%7C427e40023c0240489e280eba58b331f4%7C1%7C0%7C63
7515882219503948%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzI
iLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=g%2BHSNyUoxQc9TZCt20NnNw96p
uSdxWNBuiE372d7HMc%3D&amp;reserved=0

e: hassan.iftik...@enghouse.com

 

As the world responds to the Covid-19 outbreak, Enghouse is committed to doing 
its part to support organisations' risk management efforts. 
We are providing temporary licences of our secure cloud-based communications 
platform at no cost to your organisation.

 

 
<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fenghousei
nteractive.de%2Feuropean-contact-center-dmg%2F&amp;data=04%7C01%7CHassan.Ift
ikhar%40enghouse.com%7C3c03eeefda9448a3229f08d8e951310e%7C427e40023c0240489e
280eba58b331f4%7C1%7C0%7C637515882219513908%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=
uOV3W9yR2h9I%2BYtigYu07wAZRZa27D%2BGSVDv64yiGFw%3D&amp;reserved=0>
vidyo-trial-outlook-signature-v2

 





Reply via email to